Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Лох Чилийский  
#1 Оставлено : 27 мая 2013 г. 17:54:18(UTC)
Лох Чилийский

Статус: Участник

Группы: Участники
Зарегистрирован: 11.04.2013(UTC)
Сообщений: 15
Российская Федерация
Откуда: Москва

Приветствую,

Я пытаюь с Центра Регистрации скачать описание wsdl используя пример из JCP.

Цитата:

String keystore = "certs"+File.separator+"truststore.jks";
File keyStoreFile = new File (keystore);
if(keyStoreFile.exists()){
System.out.println("KeyStore file exists :abs path = "+ keyStoreFile.getAbsolutePath());
}else{
System.out.println("KeyStore file does not exist :abs path = "+ keyStoreFile.getAbsolutePath());
}


try {
// System.setProperty("javax.net.debug", "ssl,handshake,data,trustmanager");
System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStore",keystore);
System.setProperty("javax.net.ssl.trustStorePassword", "019876");

final String urlName = "https://TIMTESTER.PRIME-TASS.LOCAL/RA/RA.wsdl";
final URL url = new URL(urlName);

HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();



connection.setDoInput(true);
connection.setDoOutput(true);

connection.connect();

//вывод полей заголовка
int n = 1;
String key;
while ((key = connection.getHeaderFieldKey(n)) != null)
{
String value = connection.getHeaderField(n);
System.out.println(key + ": " + value);
n++;
}
//вывод данных вместе с названием функции
System.out.println("-----------------");
System.out.println("getContentType: " + connection.getContentType());
System.out.println("getContentLength: " + connection.getContentLength());
System.out.println("getContentEncoding: " + connection.getContentEncoding());
System.out.println("getDate: " + connection.getDate());
System.out.println("getExpiration: " + connection.getExpiration());
System.out.println("getLastModified: " + connection.getLastModified());
System.out.println("------------------");
System.out.println("getHeaderFields:\n" + connection.getHeaderFields());
System.out.println("------------------");

final BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
//вывод полученных данных в файл
String line;
String text = "";
n = 1;
while ((line = in.readLine()) != null) {
text = text + line;
n++;
}

final byte[] data = text.getBytes();/**/

final FileOutputStream fout =new FileOutputStream("url.html");
try {
fout.write(data);
} finally {
if (fout != null)
fout.close();
}

} catch (Exception e) {
e.printStackTrace();
}
}




хранилище (пароль на доступ 019876) - truststore.jks

Все бы хорошо да только мне вылетает ошибка:

Цитата:


KeyStore file exists :abs path = C:\tmp\d\SOAP_Client\certs\truststore.jks
27.05.2013 18:50:17 ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 1.0.55 36716
27.05.2013 18:50:18 ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at javax.net.ssl.DefaultSSLSocketFactory.throwException(SSLSocketFactory.java:179)
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:186)
at sun.net.www.protocol.https.HttpsClient.createSocket(HttpsClient.java:362)
at sun.net.NetworkClient.doConnect(NetworkClient.java:145)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at test.URLClient.main(URLClient.java:58)

Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at java.security.Provider$Service.newInstance(Provider.java:1245)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)
at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68)
at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:102)
at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:325)
at javax.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:283)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.<init>(HttpsURLConnectionImpl.java:65)
at sun.net.www.protocol.https.Handler.openConnection(Handler.java:42)
at sun.net.www.protocol.https.Handler.openConnection(Handler.java:37)
at java.net.URL.openConnection(URL.java:945)
at test.URLClient.main(URLClient.java:51)

Caused by: java.io.IOException: Неверный формат хранилища.
at ru.CryptoPro.JCP.KeyStore.TrustStore.engineLoad(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineLoad(Unknown Source)
at java.security.KeyStore.load(KeyStore.java:1185)
at com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl.getCacertsKeyStore(TrustManagerFactoryImpl.java:202)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultTrustManager(DefaultSSLContextImpl.java:70)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.<init>(DefaultSSLContextImpl.java:40)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at java.security.Provider$Service.newInstance(Provider.java:1221)
... 12 more




Люди добрые подскажите в чем я не прав как подключится к ЦР и получить от него ответ?!


Вложение(я):
admin_response_CR.zip (2kb) загружен 6 раз(а).
truststore.zip (2kb) загружен 6 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Евгений Афанасьев  
#2 Оставлено : 27 мая 2013 г. 18:55:46(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,927
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Здравствуйте.

Caused by: java.io.IOException: Неверный формат хранилища.

JCP не поддерживает формат JKS. Используйте HDImageStore или CertStore (нужно запустить панель JCP, в списке хранилищ сертификат создать новое и добавить туда корневой сертификат).
Offline Лох Чилийский  
#3 Оставлено : 28 мая 2013 г. 11:14:18(UTC)
Лох Чилийский

Статус: Участник

Группы: Участники
Зарегистрирован: 11.04.2013(UTC)
Сообщений: 15
Российская Федерация
Откуда: Москва

Благодарю, стало лучше, ошибок про хранилище больше нет.

Однако текущий ексепшн меня ставит в тупик:

Цитата:

javax.net.ssl.SSLProtocolException: Server did not send a DH Server Key Exchange message
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:657)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:226)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at test.URLClient.main(URLClient.java:66)



ps. експлориером указзанный выше линк окрывается успешно.
Offline Евгений Афанасьев  
#4 Оставлено : 28 мая 2013 г. 12:10:06(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,927
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
В стектрейсе нет упоминания CryptoPro. Модуль cpSSL.jar установлен?
Offline Лох Чилийский  
#5 Оставлено : 28 мая 2013 г. 12:56:51(UTC)
Лох Чилийский

Статус: Участник

Группы: Участники
Зарегистрирован: 11.04.2013(UTC)
Сообщений: 15
Российская Федерация
Откуда: Москва

Спасибо, установил, ошибка пропала.

Однако появилась следующая:

Цитата:

KeyStore file exists :abs path = C:\tmp\d\SOAP_Client\certs\cert_store2
28.05.2013 13:53:01 ru.CryptoPro.ssl.SSLContextImpl d
INFO: keyStore is :
28.05.2013 13:53:01 ru.CryptoPro.ssl.SSLContextImpl d
INFO: keyStore type is :
28.05.2013 13:53:01 ru.CryptoPro.ssl.SSLContextImpl d
INFO: keyStore provider is :
28.05.2013 13:53:01 ru.CryptoPro.ssl.SSLContextImpl d
INFO: init keystore
28.05.2013 13:53:01 ru.CryptoPro.ssl.SSLContextImpl d
INFO: defaultStoreProvider =
28.05.2013 13:53:01 ru.CryptoPro.ssl.SSLContextImpl d
INFO:
28.05.2013 13:53:02 ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 1.0.55 36716
28.05.2013 13:53:02 ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: init keymanager of type GostX509
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore is: certs\cert_store2
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore type is : HDImageStore
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore provider is :
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: init truststore
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: init trustmanager of type GostX509
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: init context...
28.05.2013 13:53:02 ru.CryptoPro.ssl.SSLContextImpl d
INFO: Context inited.
javax.net.ssl.SSLException: java.lang.UnsupportedOperationException
at ru.CryptoPro.ssl.x.a(Unknown Source)
at ru.CryptoPro.ssl.ae.a(Unknown Source)
at ru.CryptoPro.ssl.ae.a(Unknown Source)
at ru.CryptoPro.ssl.ae.a(Unknown Source)
at ru.CryptoPro.ssl.ae.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at test.URLClient.main(URLClient.java:66)
Caused by: java.lang.UnsupportedOperationException
at javax.crypto.CipherSpi.engineGetKeySize(DashoA13*..)
at javax.crypto.Cipher.b(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at ru.CryptoPro.ssl.a.c.a(Unknown Source)
at ru.CryptoPro.ssl.a.e.a(Unknown Source)
at ru.CryptoPro.ssl.ag.a(Unknown Source)
at ru.CryptoPro.ssl.ag.a(Unknown Source)
at ru.CryptoPro.ssl.d.k(Unknown Source)
at ru.CryptoPro.ssl.d.a(Unknown Source)
at ru.CryptoPro.ssl.ae.a(Unknown Source)
at ru.CryptoPro.ssl.ae.i(Unknown Source)
... 5 more


Offline Евгений Афанасьев  
#6 Оставлено : 28 мая 2013 г. 13:15:29(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,927
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Автор: Лох Чилийский Перейти к цитате

at javax.crypto.CipherSpi.engineGetKeySize(DashoA13*..)
at javax.crypto.Cipher.b(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at ru.CryptoPro.ssl.a.c.a(Unknown Source)
at ru.CryptoPro.ssl.a.e.a(Unknown Source)
at ru.CryptoPro.ssl.ag.a(Unknown Source)
at ru.CryptoPro.ssl.ag.a(Unknown Source)
at ru.CryptoPro.ssl.d.k(Unknown Source)
at ru.CryptoPro.ssl.d.a(Unknown Source)
at ru.CryptoPro.ssl.ae.a(Unknown Source)
at ru.CryptoPro.ssl.ae.i(Unknown Source)
... 5 more


http://www.cryptopro.ru/....aspx?g=posts&t=1882
Offline Лох Чилийский  
#7 Оставлено : 28 мая 2013 г. 13:29:15(UTC)
Лох Чилийский

Статус: Участник

Группы: Участники
Зарегистрирован: 11.04.2013(UTC)
Сообщений: 15
Российская Федерация
Откуда: Москва

успех, спасибо!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.