Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2020(UTC) Сообщений: 7   Сказала «Спасибо»: 4 раз Поблагодарили: 2 раз в 1 постах
|
Автор: Евгений Афанасьев  Пишет, что в сертификате сервера нет расширения alternative name с dns localhost. в общем медленно но верно продвигаюсь к заветной цели Итоговый код: Код:
String trustStorePath = "/truststore";
KeyStore trustStore = KeyStore.getInstance("CertStore");
trustStore.load(new FileInputStream(trustStorePath),
"1234567890".toCharArray());
TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509");
tmf.init(trustStore);
KeyStore keyStore = KeyStore.getInstance("HDImageStore");
keyStore.load(null, null);
KeyManagerFactory kmf = KeyManagerFactory.getInstance("GostX509");
kmf.init(keyStore, "1234567890".toCharArray()); // пароль к ключу для отбора по типу и паролю
SSLContext sslCtx = SSLContext.getInstance("GostTLS");
TrustManager[] trustManagers = tmf.getTrustManagers();
KeyManager[] keyManagers = kmf.getKeyManagers();
sslCtx.init(keyManagers, trustManagers, null);
SSLSocketFactory sslSocketFactory = sslCtx.getSocketFactory();
URL url = new URL("https://host:9903/PersonService/v2.0/RegistrationDescription?registrationId=7004"); // адрес подключения
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setSSLSocketFactory(sslSocketFactory); // используется метод объекта, а не статический
connection.connect();
вылетает слудующая ошибка: Код:
Nov 22, 2020 10:54:49 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
Nov 22, 2020 10:54:49 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Nov 22, 2020 10:54:49 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl init.
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: trigger seeding of SecureRandom
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: done seeding SecureRandom
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl initialized.
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore is :
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore type is :
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore provider is :
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: init keystore
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: init keymanager of type GostX509
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.cl_38 <init>
WARNING: %% No appropriate keys for handshake
PATH: /var/opt/cprocsp/keys/root
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore is : No File Available, using empty keystore.
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore type is : HDImageStore
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore provider is :
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: init truststore
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl init.
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: trigger seeding of SecureRandom
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: done seeding SecureRandom
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl initialized.
Nov 22, 2020 10:54:50 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext <init>
INFO: DefaultSSLContext initialized.
Nov 22, 2020 10:54:51 PM ru.CryptoPro.ssl.cl_38 a
WARNING: %% No alias is match
Nov 22, 2020 10:54:51 PM ru.CryptoPro.ssl.cl_38 a
WARNING: %% No alias is match
Nov 22, 2020 10:54:51 PM ru.CryptoPro.ssl.cl_38 a
WARNING: %% No alias is match
**************
java.io.IOException: Server returned HTTP response code: 403 for URL: https://host:9903/PersonService/v2.0/RegistrationDescription?registrationId=7004
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1900)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at SSLConnection.printContent(SSLConnection.java:135)
at SSLConnection.main(SSLConnection.java:121)
хотя контейнер с ключами поместила в /var/opt/cprocsp/keys/root получилось подключится на виндовс через curl:  после ввода этой команды открылся cryptopro csp попросил пароль и все прошло успешно. не пойму что я делаю не так с jcp?
|