Skip to content

xmlsec.Error: (1, 'cannot load key') while loading the private key #328

Open

Description

@ramanareddy438

Hi Team,

I have a X509 private in a file and trying to use the below code to load the private key. However i am getting the xmlsec.Error: (1, 'cannot load key'). I tried multiple ways. nothing is working and more over the error message is not detailed enough to try other options.

Any suggestions are greatly appreciated. Thank you.

with open('private_key.pem', 'rb') as key_file:
    key_data = key_file.read()
xmlsec.Key.from_memory(key_data, xmlsec.constants.KeyDataFormatPem)

My PEM file format is as shown below:

-----BEGIN PRIVATE KEY-----
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
asdadasd==
-----END PRIVATE KEY-----

Activity

  1. tpanum commented on Oct 14, 2024

    @tpanum

    I am experiencing a similar issue. I have a .p12-certificate that I have transformed to x509 using OpenSSL.

    $ openssl x509 -in cert.pem -text -noout runs without issues. However, I can't load the file with xmlsec.

  2. jimjag commented on Nov 5, 2024

    @jimjag
    Collaborator

    Are we sure that this is an issue w/ us and not the underlying lib itself?

  3. fenuks commented on Nov 14, 2025

    @fenuks

    I also have this problem.

    import xmlsec
    xmlsec.Key.from_file('private.key', xmlsec.constants.KeyDataFormatCertPem, 'password')

    raises Error: (1, 'cannot read key'). openssl rsa -in private.key -text
    loads this key without problem.

    Tested on ArchLinux, python 3.13.7, OpenSSL 3.6.0.

    lxml==6.0.2
    xmlsec==1.3.17
    

    EDIT:
    It's a mistake on my part. Using xmlsec.constants.KeyDataFormatPem fixes the
    problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions