Ключи RSA не имеют одинаковый модуль - PullRequest
0 голосов
/ 24 февраля 2019

Я создал rootKey.pem, client.key с помощью openssl:

   $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

Я создал цепной сертификат (cat the ROOT cert + промежуточный сертификат) также с использованием openssl.

Из keyPair.getPrivate () на client.key я получаю 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 голосов
/ 27 февраля 2019

эта статья привела меня к решению:

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

, чтобы сохранить client.key в хранилище ключей, используя:

keyStore.setKeyEntry ("alias", Key key,Пароль Char [], цепочка Certificate []);

ключ является частной частью client.key,

цепочка Certificate [] ДОЛЖНА быть промежуточной (client.crt +).crt + root.crt), объединены все вместе.

По ошибке я использовал только сцепление (middle.crt + root.crt) вместе.

...