Skip to content

Issues with RSA public key #445

@christopherL91

Description

@christopherL91

Hi,

Thank yoy soo much for your time spent on this project, looking forward exploring it some more.

I had a quick question regarding the use of this library and it's something I've been struggeling with for a while now.

        let rsa_pub = RsaPublicKey::from_public_key_pem(&response.pem)
            .map_err(|e| format!("RSA PEM parse error: {:?}", e))
            .unwrap();

        let pkcs1_der_document = rsa_pub
            .to_pkcs1_der()
            .map_err(|e| anyhow::anyhow!("PKCS#1 DER encode error: {}", e))?;

        let result = KSMPublicKey {
            id: Sha256::digest(response.name.as_bytes()).to_vec(),
            label: response.name,
            algorithm: KeyAlgorithm::Rsa,
            der: pkcs1_der_document.into_vec(),
        };

Is this correct?

Getting weird error message when using pkcs11-tool

warning: PKCS11 function C_GetAttributeValue(MODULUS_BITS) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)
warning: PKCS11 function C_GetAttributeValue(ENCRYPT) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)
warning: PKCS11 function C_GetAttributeValue(VERIFY) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)
warning: PKCS11 function C_GetAttributeValue(VERIFY_RECOVER) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)
warning: PKCS11 function C_GetAttributeValue(WRAP) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)

Based on the info I can see in the attributes.rs file these values should be injected automatically but maybe I'm missing something?

Should I also implement any more C_* functions other than C_GetFunctionList ?

Currently building a GCP KMS module that is mostly working but there are still some weird edge cases I need to solve.

Thank you

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