Skip to content

The pkcs1 format is sensitive to content outside the BEGIN header #104

Closed
@garethsime

Description

@garethsime

The pkcs1 import doesn't strip characters outside of the BEGIN RSA PRIVATE KEY header:

var pem = data.replace('-----BEGIN RSA PRIVATE KEY-----', '')
    .replace('-----END RSA PRIVATE KEY-----', '')
    .replace(/\s+|\n\r|\n|\r$/gm, '');

If you have a key file that starts or ends like this:

Some random text
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
Some other text

Then you'll get an error when the key is parsed:

{ InvalidAsn1Error: Expected 0x2: got 0xac
    at newInvalidAsn1Error (/Users/user-name/.nvm/versions/node/v7.10.0/lib/node_modules/asap-cli/node_modules/asn1/lib/ber/errors.js:7:13)
    at Reader.readString (/Users/user-name/.nvm/versions/node/v7.10.0/lib/node_modules/asap-cli/node_modules/asn1/lib/ber/reader.js:168:11)
    at Object.privateImport (/Users/user-name/.nvm/versions/node/v7.10.0/lib/node_modules/asap-cli/node_modules/node-rsa/src/formats/pkcs1.js:64:16)
    at Object.detectAndImport (/Users/user-name/.nvm/versions/node/v7.10.0/lib/node_modules/asap-cli/node_modules/node-rsa/src/formats/formats.js:63:48)
    at NodeRSA.module.exports.NodeRSA.importKey (/Users/user-name/.nvm/versions/node/v7.10.0/lib/node_modules/asap-cli/node_modules/node-rsa/src/NodeRSA.js:185:22)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions