Ошибка неверного формата хранилища ключей при попытке передать хранилище ключей в Tomcat - PullRequest
0 голосов
/ 09 ноября 2018

Я не могу заставить мой проект загрузить хранилище ключей jks. Это Spring Boot 2.1.0-RELEASE. Ниже приведены параметры для настройки сервера Tomcat с SSL

.

Я не пишу код, он загружен из зависимости, и мне нужно изменить имя файла на post.

server.port=8080
server.ssl.enabled=true
server.ssl.trust-store=classpath:101816-my-keyfile.jks
server.ssl.trust-store-password=changeit
server.ssl.key-store=classpath:101816-my-keyfile.jks
server.ssl.key-password=changeit
server.ssl.key-alias=my-key-alias

Я попытался изменить файл, чтобы продемонстрировать, что он действительно находит ресурс classpath.

Я пытался преобразовать его в PKCS # 12 с помощью команды keytool:

keytool -importkeystore \
-srckeystore ./101816-my-keyfile.jks \
-destkeystore ./101816-my-keyfile.jks \
-deststoretype pkcs12

Я пытался преобразовать (назад) его в JKS и JCEKS, используя одну и ту же команду с другим типом dest.

Я использую Java-версии Oracle "1.8.0_191" и Openjdk 8.

Я пытался использовать keytool из JDK 11 и JDK 8.

Но я не могу последовательно получить какой-либо результат, кроме:

Caused by: java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:658) ~[?:1.8.0_191]
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56) ~[?:1.8.0_191]
    at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224) ~[?:1.8.0_191]
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70) ~[?:1.8.0_191]
    at java.security.KeyStore.load(KeyStore.java:1445) ~[?:1.8.0_191]
    at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:160) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:204) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.tomcat.util.net.jsse.JSSEUtil.getKeyManagers(JSSEUtil.java:184) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:112) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:85) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:224) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1108) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:550) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:957) ~[tomcat-embed-core-9.0.12.jar!/:9.0.12]
...