RSA密钥的模数不同

时间:2019-02-24 11:48:24

标签: ssl-certificate rsa keystore

我使用openssl创建了rootKey.pem,client.key:

   $openssl genrsa -aes256  -out  client.key  2048

   $ sudo openssl req  -config openssl.cnf  -key  rootKey.pem   -new - 
    x509  -sha256  -extensions v3_ca   -out  root.crt  -days 3650

   $sudo openssl  x509  -req  -extfile openssl.cnf -extensions 
    v3_intermediate_ca  -CA root.crt  -CAkey  rootKey.pem  - 
    CAserial -days 1825   -in intermediateCsr.pem  -out 
                        intermediate.crt

我也使用openssl创建了一个链证书(目录证书为ROOT证书+中间证书)。

从client.key上的keyPair.getPrivate()我得到privateKey;当我这样做时:

     keyStore.setKeyEntry("alias",privateKey,passphrase,chain-trust);

我明白了:

    java.security.KeyStoreException: BCFKS KeyStore exception storing 
    private key: java.lang.IllegalArgumentException: RSA keys do not 
    have the same modulus

是什么原因..以及如何解决?

1 个答案:

答案 0 :(得分:0)

本文将我带到了解决方案:

    https://knowledge.digicert.com/solution/SO16899.html

使用以下命令将client.key保存在密钥存储中:

keyStore.setKeyEntry(“ alias”,密钥,Char []密码,Certificate []链);

密钥是client.key的私有部分,

Certificate []链应该是(client.crt + intermediate.crt + root.crt),并在一起。

错误地我只使用了串联在一起的(intermediate.crt + root.crt)。