Today I have realized that a buggy PKCS#11 module for a cryptographic token I'm 
working with is returning a wrong private key for a given certificate, thus 
when calling org.mozilla.jss.CryptoManager#findPrivKeyByCert for 'cert 1' the 
private key for 'cert 2' is returned, then my software generates a signature 
using 'cert 2' private key (thinking it is the private key for 'cert 1'), and 
in the future validation fails. I will talk seriously with my cryptographic 
token provider, but in the while I would like to validate that a private key 
matches the public key in the certificate before generating a signature. 

I've done this before with something like: 

if(privKey.getModulus().equals(((RSAPublicKey) 
x509Cert.getPublicKey()).getModulus())){
    // priv key matches public key in certificate
}

but JSS is returning null for the modulus in its 
org.mozilla.jss.pkcs11.PK11RSAPrivateKey 

So, two questions actually:

1. Why JSS is returning null for the modulus?, I though it could be made public 
even for hardware token.

2. Alternatives for matching a private key to a certificate?

Thanks



-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to