Skip to content

SigningKey.from_pem may not support pkcs#8 v2 #280

Closed
@Myse1f

Description

@Myse1f

I'm using ecdsa 0.18.0b1, and trying to use it to load private key from pem file.

When I use SigningKey.from_pem(pem.encode(), password=None) to load pem file, the pem data is in PKCS#8 v2 format, RFC 5958:

-----BEGIN PRIVATE KEY-----
MFMCAQEwBQYDK2VwBCIEIGQqNAZlORmn1k4QrYz1FvO4fOQowS3GXQMqRKDzmx9P
oSMDIQCrO5iGM5hnLWrHavywoXekAoXPpYRuB0Dr6DjZF6FZkg==
-----END PRIVATE KEY-----

I got an error:

File "/usr/local/lib/python3.9/site-packages/ecdsa/keys.py", line 1020, in from_pem
    return cls.from_der(
  File "/usr/local/lib/python3.9/site-packages/ecdsa/keys.py", line 1119, in from_der
    raise der.UnexpectedDER(
ecdsa.der.UnexpectedDER: trailing junk inside the privateKey

Actually, I'm trying to build an application initially written in rust, and convert it to python version. So I need to parse pem file generated by rust version. I used Ed25519KeyPair::generate_pkcs8 to generate keys in PKC8 v2 format

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugunintended behaviour in ecdsa code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions