Skip to content

Invalid public key in certificate #482

@Julchenwsf

Description

@Julchenwsf

I try to create a key, afterwards a certificate signed by another key.

So this is my Code to generate Keys
let keypair = KEYUTIL.generateKeypair("EC", "secp256r1"); let privateKey = keypair.prvKeyObj; let publicKey = keypair.pubKeyObj; //encrypted key let prvPEM = KEYUTIL.getPEM(privateKey, "PKCS8PRV", password, "AES-256-CBC"); let publicPEM = KEYUTIL.getPEM(publicKey);

To generate the certificate i use:

let tbsObject = new KJUR.asn1.x509.TBSCertificate();
    tbsObject.setSerialNumberByParam({'int': 4});
    tbsObject.setNotBeforeByParam({'str': creationTimeStamp});
    tbsObject.setNotAfterByParam({'str': expirationTimeStamp});
    tbsObject.setSubjectByParam({'/CN=User1'});
    tbsObject.setSignatureAlgByParam({'name': 'SHA256withECDSA'});
    tbsObject.setSubjectPublicKeyByGetKey(publicPEM);
    tbsObject.setIssuerByParam({'str': '/CN=UserCA'});

    let caKey = KEYUTIL.getKey(this.privateKey, password2); 

    let cert = new KJUR.asn1.x509.Certificate
    ({'tbscertobj': tbsObject, 'prvkeyobj': caKey });
    cert.sign();
    let certPEM = cert.getPEMString();

The generated Certificate is the following one:

-----BEGIN CERTIFICATE----- MIIBizCCATCgAwIBAgIBBDAKBggqhkjOPQQDAjBOMQswCQYDVQQGEwJERTERMA8G A1UECgwIQ0FfZmlybWExEDAOBgNVBAsMB2ZpbmFuY2UxGjAYBgkqhkiG9w0BCQEM C2Zpcm1hQGNhLmRlMBkXCzE2MTkzODA0OTFaFwoxNzc4MjEyMjhaMFQxCzAJBgNV BAYTAkRFMRgwFgYDVQQDDA9KdWxpYSBTY2huZWlkZXIxKzApBgkqhkiG9w0BCQEM HGp1bGlhLXNjaG5laWRlcjFAdC1vbmxpbmUuZGUwWTATBgcqhkjOPQIBBggqhkjO PQMBBwNCAASiWjJuLgTgD9dVyMNOdV+waWfUa8SUI6+zTzD0ZWEkgZZil6PYhsAF wQQehinyxBWbx00HAh+5nTKDLVtw57sBMAoGCCqGSM49BAMCA0kAMEYCIQDmSPkw +Kw2PtO0FbIR+Y5Sq6NHAXjPk5s07VrNSuonYwIhAIXxWFdB87LYm0V0e78AaCHD cD/Sw0FhlhtCYNNuE6QF -----END CERTIFICATE-----

I saved it to my PC and try to open it in Windows. Than an error says that the public Key is invalid.

Did I done something wrong? Do you habe an Idea what could be the error?

thanks in advance.

Best regards

Julia

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