Ошибка keytool SSL: java.security.SignatureException: подпись не совпадает. при импорте промежуточного сертификата

Сгенерированный CSR и хранилище ключей.

keytool -genkey -alias posbo -keyalg RSA -keystore keystore.jks -keysize 1024

keytool -certreq -keyalg RSA -keysize 1024 -alias posbo -file certreq.csr -keystore keystore.jks -storepass changeit

Сгенерированный корневой, промежуточный и серверный сертификат....

openssl genrsa -des3 -out root-ca.key 1024 

openssl req -new -x509 -days 365 -key root-ca.key -out root-ca.crt -config openssl.cfg


openssl genrsa -des3 -out ca-int.key 1024 

openssl req -new -days 365 -key ca-int.key -out ca-int.csr -config openssl.cfg

openssl x509 -req -days 365 -in ca-int.csr -CA root-ca.crt -CAkey root-ca.key -set_serial 01 -out ca-int.crt 



openssl x509 -req -days 365 -in certreq.csr -CA root-ca.crt -CAkey root-ca.key -set_serial 01 -out server.crt.

Теперь импортируем root, промежуточный и серверный crt в keystore.jks

keytool -import -trustcacerts -alias rootca -file root-ca.crt -keystore keystore.jks
Success.


keytool -import -trustcacerts -alias intercom -file ca-int.crt -keystore keystore.jks.
keytool error: java.security.SignatureException: Signature does not match

Любое предложение или причина вышеуказанной ошибки.


person user2736494    schedule 01.09.2013    source источник


Ответы (1)


Ваши команды работают для меня.

Какие версии keytool и openssl вы используете? Вы пробовали это на другом сервере/версии/ОС? Что находится в вашем файле openssl.cfg?

Одна вещь, которую я заметил, выглядит неправильно: в вашей последней команде openssl вы подписываете конечный сертификат корневым сертификатом вместо промежуточного (int-ca.key). Попробуйте вместо этого подписать его, а затем импортировать. Это не должно вызывать эту проблему, но если у вас есть промежуточный ЦС, я предполагаю, что вы хотите использовать его для подписи конечного сертификата вместо корневого. В противном случае промежуточное звено не имеет никакой ценности.

person gtrig    schedule 02.09.2013