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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline stanbel  
#1 Оставлено : 25 марта 2016 г. 15:02:33(UTC)
stanbel

Статус: Новичок

Группы: Участники
Зарегистрирован: 18.03.2010(UTC)
Сообщений: 3

Перелопатил форум, но не смог найти ответ

Пытаюсь сделать двухстороннюю аутентификацию с НБКИ
Криптопро 1.0.54
В контрольной панели в HDImageStore положил наш сертификат и закрытый ключ
в хранилище
bogocert1 - наш сертификат
bogocert2 - сертификат НБКИ

Сделал пробного клиента
Код:

		System.setProperty("javax.net.ssl.supportGVO", "true");
		
        System.setProperty("javax.net.ssl.trustStore", "C:\\Eclipse workspace\\NBKI-CKKI\\bogocert2");
        System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
        System.setProperty("javax.net.ssl.trustStoreProvider", "JCP");
        System.setProperty("javax.net.ssl.trustStorePassword", "123");

        KeyStore ks = KeyStore.getInstance("HDImageStore", "JCP"); // Тут хранится наш сертификат            
        ks.load(new FileInputStream("C:\\Eclipse workspace\\NBKI-CKKI\\bogocert1"), "123".toCharArray());
    

        KeyStore kst = KeyStore.getInstance("HDImageStore", "JCP");   // тут хранится сертификат удалённого сервера         
        kst.load(new FileInputStream("C:\\Eclipse workspace\\NBKI-CKKI\\bogocert2"), "123".toCharArray());

        
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("GostX509");
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509");
    	kmf.init(ks,  "123".toCharArray());
    	tmf.init(kst);
    	SSLContext sslContext =  SSLContext.getInstance("GostTLS");
    	sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);

    	SSLSocketFactory  sslFact = (SSLSocketFactory)SSLSocketFactory.getDefault();
    	
    	
    	HttpsURLConnection.setDefaultSSLSocketFactory(sslFact);
        URL url = new URL("https://signals.nbki.ru/signals/list");
        HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
        
        
        connection.setHostnameVerifier(new HostnameVerifier()
        {
			public boolean verify(String hostname, SSLSession session) {
				// TODO Auto-generated method stub
				return true;
			}});
        connection.setUseCaches(false);
        connection.setRequestMethod("GET");
        connection.connect();
        int responseCode = connection.getResponseCode(); /// Тут возникает ошибка!
        String responseMesssage = connection.getResponseMessage();
        
        InputStream is = connection.getInputStream();
        BufferedReader rd = new BufferedReader(new InputStreamReader(is));
        String line;
        String response = "";
        while ((line = rd.readLine()) != null) {
            response += line + "\r\n";
        }
        rd.close();
        is.close();
        System.out.println(response);
        connection.disconnect();


Offline stanbel  
#2 Оставлено : 25 марта 2016 г. 15:09:21(UTC)
stanbel

Статус: Новичок

Группы: Участники
Зарегистрирован: 18.03.2010(UTC)
Сообщений: 3


Журнал

Offline Евгений Афанасьев  
#3 Оставлено : 1 апреля 2016 г. 13:33:08(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Автор: stanbel Перейти к цитате
FINE: %% getting aliases for Client
25.03.2016 16:01:58 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match


По какому-то критерию сертификат не подходит. Возможно, в его составе нет OID'а аутентификации клиента.
Offline stanbel  
#4 Оставлено : 1 апреля 2016 г. 14:44:15(UTC)
stanbel

Статус: Новичок

Группы: Участники
Зарегистрирован: 18.03.2010(UTC)
Сообщений: 3

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