Kurento - настройка приложений Java для использования https - ошибка хранилища ключей
Сгенерированное хранилище ключей и настроенное в файле application.properties, как указано в этой ссылке - http://doc-kurento.readthedocs.io/en/stable/mastering/securing-kurento-applications.html
Но все еще сталкивается с ошибкой -
java.io.IOException: подделка хранилища ключей или неверный пароль в sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772) ~[na:1.7.0_101] в sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) ~[na:1.7.0_101] в java.security.KeyStore.load(KeyStore.java:1226) ~[na:1.7.0_101] в org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:451) ~[tomcat-embed-core-8.0.28.jar:8.0.28] в org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocket java:355) ~[tomcat-embed-core-8.0.28.jar:8.0.28] at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:608) ~[tomcat-embed-core-8.0.28.jar:8.0.28] at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:548) ~[tomcat-embed-core-8.0.28.jar:8.0.28] в org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:360) ~[tomcat-embed-core-8.0.28.jar:8.0.28] в org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:765) ~[tomcat-embed-core-8.0.28.jar:8.0.28] в org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:472) ~[tomcat-embed-core-8.0.28.jar:8.0.28] в org.apache.catalina.connector.Connector.startInternal(Connector.java:986) [tomcat-embed-core-8.0.28.jar:8.0.28] в org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.0.28.jar:8.0.28] в org.apache.catalina.core.StandardService.addConnector(StandardService.java:237) [tomcat-embed-core-8.0.28.jar:8.0.28] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.jpg: spring.19: spring).0.RELEASE.jar:1.3.0.RELEASE] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:151) [spring-boot-1.3.0.RELEASE.jar:.0.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:290) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE] в org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebAjava:141). -boot-1.3.0.RELEASE.jar:1.3.0.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:540) [spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE] в org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE] в org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE] в org.springframework.boot.SpringApplication.doRun(SpringApplication.java:347) [весна -boot-1.3.0.RELEASE.jar: 1.3.0.RELEASE] в org.springframework.boot.SpringApplication.run(SpringApplication.java:295) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE] в орг.куренто.tutorial.one2onecall.One2OneCallApp..java:57) ~[na:1.7.0_101] в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_101] в java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_101] в org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) [exec-maven-plugin-1.4.0.jar:na] в java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] Вызвано: java.security.UnrecoverableKeyException: сбой проверки пароля в sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770) ~[na:1.7.0_101] ... пропущено 28 общих кадров
1 ответ
В документации есть ошибка с форматом файла. Правильный файл выглядит так
server.port: 8443
server.ssl.key-store: keystore.jks
server.ssl.key-store-password: yourPassword
server.ssl.keyStoreType: JKS
server.ssl.keyAlias: yourKeyAlias
Убедитесь, что ваш файл соответствует этому, и убедитесь, что вы указали правильное расположение хранилища ключей в server.ssl.key-store
Недавно я столкнулся с той же проблемой - вызванной:
java.security.UnrecoverableKeyException: ошибка проверки пароля. Было подделано хранилище ключей или неверный пароль
Действия по устранению проблемы.
Шаг 1. Проверьте правильность пароля сертификата хранилища ключей в установленном jdk с помощью cmd.
keytool -list -keystore cacerts from [$JAVA_HOME/jre/lib/security] or from the folder where the cert is pointed
если шаг 1 действителен
Шаг 2: Проверьте из приложения - Как приложение передает пароль. Это может быть пароль с дополнительными запятыми или с ошибкой. Пароль, предоставленный вами из приложения, не совпадает с исходным паролем хранилища ключей, поэтому безопасность Java вызывает исключение UnrecoverableKeyException