Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.08.2019(UTC) Сообщений: 43
Сказал(а) «Спасибо»: 2 раз
|
Здравствуйте. Пытаюсь запустить пример TestHttpsConnection. Мои изменения в файле примера: Код:
public static void main(String[] args) throws Exception {
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
//На результат выполнения не влияет, ошибка та же
System.setProperty("com.sun.security.enableAIAcaIssuers", "true");
System.setProperty("ru.CryptoPro.reprov.enableAIAcaIssuers", "true");
//System.setProperty("javax.net.debug", "ssl,handshake,data,trustmanager");
////System.setProperty("javax.net.ssl.keyStoreType", "HDImageStore");
//System.setProperty("javax.net.ssl.keyStore",
// "client_exch");
////System.setProperty("javax.net.ssl.keyStorePassword", "1234567890");
System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
// System.setProperty("javax.net.ssl.trustStore", "C:\\uc_cryptopro.store");
//В хранилище добавлено два сертификата из файлов CA-PPAK.pem и CA-PPAK1.cer - корневой сертифткат
System.setProperty("javax.net.ssl.trustStore", "D:\\Work\\HDImageStore\\new_2012_256.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "password");
В хранилище добавлено два сертификата из файлов CA-PPAK.pem и CA-PPAK1.cer - корневой сертифткат. Оба файла и хранилище:  certs.zip (5kb) загружен 3 раз(а).. В результате получаю следующий лог: Код:
run:
https://api.dom.gosuslugi.ru/ext-bus-home-management-service/services/HomeManagementAsync
setting up default SSLSocketFactory
class ru.CryptoPro.ssl.SSLSocketFactoryImpl is loaded
авг 20, 2019 1:25:56 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore is :
авг 20, 2019 1:25:56 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore type is :
авг 20, 2019 1:25:56 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore provider is :
авг 20, 2019 1:25:56 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: init keystore
авг 20, 2019 1:25:58 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
авг 20, 2019 1:25:59 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: init keymanager of type GostX509
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.cl_38 <init>
WARNING: %% No appropriate keys for handshake
PATH: D:\Work\HDImageStore\
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore is : D:\Work\HDImageStore\new_2012_256.keystore
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore type is : HDImageStore
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore provider is :
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: init truststore
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl init.
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: trigger seeding of SecureRandom
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: done seeding SecureRandom
instantiated an instance of class ru.CryptoPro.ssl.SSLSocketFactoryImpl
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl initialized.
авг 20, 2019 1:25:59 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext <init>
INFO: DefaultSSLContext initialized.
авг 20, 2019 1:26:04 PM ru.CryptoPro.ssl.cl_97 a
WARNING: main, handling exception: javax.net.ssl.SSLHandshakeException: ru.CryptoPro.ssl.pc_4.cl_5: PKIX path building failed: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target
Exception in thread "main" javax.net.ssl.SSLHandshakeException: ru.CryptoPro.ssl.pc_4.cl_5: PKIX path building failed: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target
at ru.CryptoPro.ssl.cl_2.a(Unknown Source)
at ru.CryptoPro.ssl.cl_97.a(Unknown Source)
at ru.CryptoPro.ssl.cl_58.a(Unknown Source)
at ru.CryptoPro.ssl.cl_58.a(Unknown Source)
at ru.CryptoPro.ssl.cl_15.a(Unknown Source)
at ru.CryptoPro.ssl.cl_15.a(Unknown Source)
at ru.CryptoPro.ssl.cl_58.u(Unknown Source)
at ru.CryptoPro.ssl.cl_58.a(Unknown Source)
at ru.CryptoPro.ssl.cl_97.a(Unknown Source)
at ru.CryptoPro.ssl.cl_97.n(Unknown Source)
at ru.CryptoPro.ssl.cl_97.b(Unknown Source)
at ru.CryptoPro.ssl.cl_97.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:162)
at testjtls1.TestHttpsConnection.main(TestHttpsConnection.java:290)
Caused by: ru.CryptoPro.ssl.pc_4.cl_5: PKIX path building failed: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target
at ru.CryptoPro.ssl.pc_4.cl_2.a(Unknown Source)
at ru.CryptoPro.ssl.pc_4.cl_2.a(Unknown Source)
at ru.CryptoPro.ssl.pc_4.cl_4.b(Unknown Source)
at ru.CryptoPro.ssl.cl_125.a(Unknown Source)
at ru.CryptoPro.ssl.cl_125.a(Unknown Source)
at ru.CryptoPro.ssl.cl_125.checkServerTrusted(Unknown Source)
... 12 more
Caused by: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target
at ru.CryptoPro.reprov.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at ru.CryptoPro.reprov.CPCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
Эти же сертификаты проверял в примере Certificates.certificateChain(), метод final CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX"); final PKIXCertPathBuilderResult res = (PKIXCertPathBuilderResult) cpb.build(params);
выполняется без ошибок, почему в примере TestHttpsConnection я получаю при выполнение этого метода ошибку: Caused by: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target at ru.CryptoPro.reprov.certpath.SunCertPathBuilder.engineBuild(Unknown Source) at ru.CryptoPro.reprov.CPCertPathBuilder.engineBuild(Unknown Source) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
Извиняюсь за дублирование темы. Спасибо.
|