Ошибка openssl/keytool: java.lang.Exception: введите не сертификат X.509
Я создал сертификат через OpenSSL
Openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=nginxsvc/O=nginxsvc"
и затем создал файл PKCS#12, используя OpenSSL:
openssl pkcs12 -export -in tls.crt -inkey tls.key -out tls.p12
и после этого преобразовать его в JKS, используя
keytool -importkeystore -srckeystore tls.p12 -srcstoretype PKCS12 -destkeystore tls.jks -deststoretype JKS
Теперь при импорте этого файла JKS через Keytool, как это
keytool -import -noprompt -trustcacerts -alias "nginxsvc" -file tls.jks -keystore "C:\Program Files\Java\jdk1.8.0_152\jre\lib\security\cacerts"
я получаю
ошибка keytool: java.lang.Exception: введите не сертификат X.509
1 ответ
Решение
-import
нужен файл сертификата, а не JKS. Пытаться:
keytool -import -noprompt -trustcacerts -alias "nginxsvc" -file tls.crt -keystore "C:\Program Files\Java\jdk1.8.0_152\jre\lib\security\cacerts"