logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline stanbel1  
#1 Оставлено : 12 июля 2018 г. 14:54:15(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
пытаюсь установить соеденение с двухсторонним SSL

Код:

	public static void main(String[] args) throws  Exception {
	
        System.setProperty("https.proxyHost", "172.18.0.88");
        System.setProperty("https.proxyPort", "3128");
        System.setProperty("http.proxyHost", "172.18.0.88");
        System.setProperty("http.proxyPort", "3128");
        System.setProperty("com.sun.security.enableCRLDP", "true"); // для sun jvm
        System.setProperty("javax.net.ssl.supportGVO", "true");
        
        KeyStore ks = KeyStore.getInstance("HDImageStore", "JCP"); // Тут хранится только один наш сертификат            
        ks.load(new FileInputStream("C:\\Dev Tools\\Eclipse workspace\\NBKI-CKKI\\bogocert"), "123".toCharArray());
    

        KeyStore kst = KeyStore.getInstance("HDImageStore", "JCP");   // Тут хранится сертификат удалённого сервера и корневые сертификаты
        kst.load(new FileInputStream("C:\\Dev Tools\\Eclipse workspace\\NBKI-CKKI\\trust17"), "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://icrs.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();



В консоли ошибка
июл 12, 2018 5:42:37 PM ru.CryptoPro.ssl.am a
FINE: THROW
java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at ru.CryptoPro.ssl.w.<init>(Unknown Source)
at ru.CryptoPro.ssl.g.b(Unknown Source)
at ru.CryptoPro.ssl.g.checkServerTrusted(Unknown Source)
at ru.CryptoPro.ssl.x.checkServerTrusted(Unknown Source)
at ru.CryptoPro.ssl.ao.a(Unknown Source)
at ru.CryptoPro.ssl.ao.a(Unknown Source)
at ru.CryptoPro.ssl.f.o(Unknown Source)
at ru.CryptoPro.ssl.f.a(Unknown Source)
at ru.CryptoPro.ssl.am.a(Unknown Source)
at ru.CryptoPro.ssl.am.i(Unknown Source)
at ru.CryptoPro.ssl.am.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at testapps.TwoWaySSLTester.main(TwoWaySSLTester.java:83)
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at java.security.cert.PKIXParameters.setTrustAnchors(Unknown Source)
at java.security.cert.PKIXParameters.<init>(Unknown Source)
at java.security.cert.PKIXBuilderParameters.<init>(Unknown Source)
... 15 more

Вроде как, сервер удалённый сертификат предъявляет, в хранилище trust17 сертификат сервера присутствует, а выдаёт ошибку
Во вложении журнал обмена
SSL_LOG.txt (23kb) загружен 2 раз(а).

Offline Евгений Афанасьев  
#2 Оставлено : 12 июля 2018 г. 15:38:27(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Здравствуйте. в хранилище доверенных сертификатов должны быть корневые сертификаты УЦ, а не сертификат сервера. Нужно добавить сертификат УЦ, издавшего сертификат сервера.
Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#3 Оставлено : 13 июля 2018 г. 6:18:41(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Это есть и цепочка строится
Bezymjannyjj.png (6kb) загружен 4 раз(а).
Offline Евгений Афанасьев  
#4 Оставлено : 13 июля 2018 г. 7:43:29(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Можете показать пример TwoWaySSLTester?
Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#5 Оставлено : 13 июля 2018 г. 7:52:10(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Код:

package testapps;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.URL;
import java.security.KeyStore;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManagerFactory;

public class TwoWaySSLTester {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws  Exception {
/*
        System.setProperty("javax.net.ssl.trustStore", "С:\\Dev Tools\\Eclipse workspace\\NBKI-CKKI\\trust17");
        System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
        System.setProperty("javax.net.ssl.trustStoreProvider", "JCP");
        System.setProperty("javax.net.ssl.trustStorePassword", "123");

        System.setProperty("javax.net.ssl.keyStoreType","HDImageStore");
        System.setProperty("javax.net.ssl.keyStorePassword", "123"); 
*/        
		
        System.setProperty("https.proxyHost", "172.18.0.88");
        System.setProperty("https.proxyPort", "3128");
        System.setProperty("http.proxyHost", "172.18.0.88");
        System.setProperty("http.proxyPort", "3128");
        System.setProperty("com.sun.security.enableCRLDP", "true"); // для sun jvm
        System.setProperty("javax.net.ssl.supportGVO", "true");
        
        KeyStore ks = KeyStore.getInstance("HDImageStore", "JCP"); // Тут хранится наш сертификат            
        ks.load(new FileInputStream("C:\\Dev Tools\\Eclipse workspace\\NBKI-CKKI\\bogocert"), "123".toCharArray());
    

        KeyStore kst = KeyStore.getInstance("HDImageStore", "JCP");   // тут хранится сертификат удалённого сервера         
        kst.load(new FileInputStream("C:\\Dev Tools\\Eclipse workspace\\NBKI-CKKI\\trust17"), "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://icrs.nbki.ru/signals/list"); //signals--icrs
        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();
        
        
        
    	if (true) return;  // дальше не выполняем
    	SSLSocket soc = (SSLSocket) sslFact.createSocket("signals.nbki.ru", 443);
    	
    	soc.startHandshake();
    	
        BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(soc.getOutputStream(), "Windows-1251"));
        wr.write("GET list HTTP/1.0\r\n");
        wr.write("Host: signals.nbki.ru");

//        wr.write("");
//       wr.write("\r\n");
        wr.flush();        

        // Get response
        BufferedInputStream bis = new BufferedInputStream(soc.getInputStream());
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int c=0 ;
        boolean flg=false;
        while (true) {                
        c = bis.read();
        if (flg==false) {
        if (c==13) {
            c = bis.read();
            if (c==10) {
                c = bis.read();
                if (c==13) {
                    c = bis.read();
                    if (c==10) {
                        flg=true;
                        continue;
                    }                        
                }                    
            }               
        }
        } //if (!flg)
        if (c == -1) break;
        if (flg) baos.write(c);
        } //while
        
        byte[] bytedata = baos.toByteArray();
        baos.close();
        bis.close(); 
        wr.close();
        String rzxml = new String(bytedata, "windows-1251");                

        
        
    	
    	
	}

}

Offline Евгений Афанасьев  
#6 Оставлено : 16 июля 2018 г. 11:41:33(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Здравствуйте.
Искомую ошибку не получил (используется последняя сборка jcp 2.0), но были ошибки другого рода. После нескольких исправлений стал получать ошибку handshake_failure, но это по причине отсутствия клиентского сертификата:
Код:

        // System.setProperty("https.proxyHost", "172.18.0.88"); // временно убрал
        // System.setProperty("https.proxyPort", "3128"); // временно убрал
        // System.setProperty("http.proxyHost", "172.18.0.88"); // временно убрал
        // System.setProperty("http.proxyPort", "3128"); // временно убрал

        System.setProperty("com.sun.security.enableCRLDP", "true"); // для sun jvm
        System.setProperty("javax.net.ssl.supportGVO", "true");

        KeyStore ks = KeyStore.getInstance("HDImageStore", "JCP"); // Тут хранится только один наш сертификат

        // ИСПРАВЛЕНИЕ №1: в случае ключевого контейнера - параметры не нужны, т.к. отбор производится по типу контейнера и паролю, переданному в KeyManagerFactory 
        ks.load(/*new FileInputStream("C:\\Dev Tools\\Eclipse workspace\\NBKI-CKKI\\bogocert")*/null, /*"123".toCharArray()*/null); 

        // ИСПРАВЛЕНИЕ №2: тип хранилища - CertStore, а не HDImageStore 
        KeyStore kst = KeyStore.getInstance("CertStore", "JCP");
        kst.load(new FileInputStream("trust.store"), "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);

        // ИСПРАВЛЕНИЕ №3: - создаем фабрику из SSLContext 
        SSLSocketFactory sslFact = sslContext.getSocketFactory(); // (SSLSocketFactory)SSLSocketFactory.getDefault();

        HttpsURLConnection.setDefaultSSLSocketFactory(sslFact);

        URL url = new URL("https://icrs.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();  // теперь handshake_failure из-за того, что отсутствует клиентский сертификат
        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();


Приложил trust.store (задал расширение txt). trust.store.txt (1kb) загружен 1 раз(а).

Отредактировано пользователем 16 июля 2018 г. 11:43:02(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#7 Оставлено : 16 июля 2018 г. 14:10:47(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Взял Ваше trust.store и пробую выполнить код
Ошибка Exception in thread "main" javax.net.ssl.SSLException: java.lang.RuntimeException: Invalid key exchange
JCP поставил версии 2.0.39738, была 2.0.39014.zip

SSL_LOG3.txt (27kb) загружен 2 раз(а).
Offline Евгений Афанасьев  
#8 Оставлено : 16 июля 2018 г. 14:24:36(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Предположу, что установили другую java и не сняли экспортные ограничения.
Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#9 Оставлено : 16 июля 2018 г. 14:38:19(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Да, была проблема с экспортными ограничениями
Теперь ошибка, как у Вас,Exception in thread "main" javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
При этом сертификат есть

SSL_LOG4.txt (95kb) загружен 1 раз(а).
Offline Евгений Афанасьев  
#10 Оставлено : 16 июля 2018 г. 14:51:48(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Этот сертификат не выбирается (видимо, BogomolovPK18), его издатель:
Код:

Issuer: CN=УЦ КРИПТО-ПРО (ГОСТ 2012), O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru

а сервер доверяет только (Cert Authorities):
Код:

<CN=Test Center CRYPTO-PRO, O=CRYPTO-PRO, C=RU, EMAILADDRESS=info@cryptopro.ru>
<CN=УЦ KPИПTO-ПPO, O=ООО КРИПТО-ПРО, L=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru>

Отредактировано пользователем 16 июля 2018 г. 14:52:28(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#11 Оставлено : 17 июля 2018 г. 7:07:10(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Я правильно понял, что

в журнале

Код:
июл 17, 2018 10:00:33 AM ru.CryptoPro.ssl.cl_42 f
FINE: *** CertificateRequest
Cert Types: Type-22
Cert Authorities:
<CN=Test Center CRYPTO-PRO, O=CRYPTO-PRO, C=RU, EMAILADDRESS=info@cryptopro.ru>
<CN=УЦ KPИПTO-ПPO, O=ООО КРИПТО-ПРО, L=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru>

Это то, чему доверяет удалённый сервер, так?.

А наш сертификат выдан выдан:
Код:
Issuer: CN=УЦ КРИПТО-ПРО (ГОСТ 2012), O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru


И поэтому, так как удалённый сервер не доверяет CN=УЦ КРИПТО-ПРО (ГОСТ 2012), соединение не устанавливается
Offline Евгений Афанасьев  
#12 Оставлено : 17 июля 2018 г. 7:11:52(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Да, верно.

Отредактировано пользователем 17 июля 2018 г. 7:14:37(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#13 Оставлено : 17 июля 2018 г. 10:34:27(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Какая-то непруха
У НБКИ другой сервер для госта 2012
они мне прислали сертификат,я его положил в упомянутый в коде trust.store
На этом trust.store цепочка строится
Bezymjannyjj1.png (10kb) загружен 2 раз(а).

Метод connection.connect(); проходит

Но всё равно выдаёт ошибку на строке int responseCode = connection.getResponseCode();
log5.txt (127kb) загружен 1 раз(а).
Offline Евгений Афанасьев  
#14 Оставлено : 17 июля 2018 г. 11:08:10(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Теперь, видимо, из-за того, что в CertificateRequest приходят типы 21-22, соответствующие ГОСТ 2001, а у вас, вероятно, ключ на алгоритме ГОСТ 2012 (256). При этом используется сайферсюита TLS_CIPHER_2012. В Cert Authorities должны быть в том числе типы 238 (ГОСТ 2012 256) и 239 (ГОСТ 2012 512), например:
Код:

FINE: *** CertificateRequest
Cert Types: Type-21, Type-22 <--- должно быть, например, Type-21, Type-22, Type-238
Cert Authorities:
<CN=УЦ KPИПTO-ПPO, O=ООО КРИПТО-ПРО, L=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru>
<CN=УЦ КРИПТО-ПРО (ГОСТ 2012), O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru>
Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#15 Оставлено : 17 июля 2018 г. 11:34:55(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Можно поподробнее?
Не понял, в чём проблема
Offline Евгений Афанасьев  
#16 Оставлено : 17 июля 2018 г. 12:06:24(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
В запросе CertificateRequest сервера для сайферсюиты TLS_CIPHER_2012 указаны алгоритмы открытого ключа 21-22, соответствующие ГОСТ 2001, а у вас, судя по всему, сертификат с ключом ГОСТ 2012. Чтобы был выбран ваш сертификат на алгоритме ГОСТ 2012, в CertificateRequest должен быть в том числе тип 238 (и 239), или алгоритм ключа в вашем сертификате должен быть ГОСТ 2001 (тогда он будет соответствовать 21-22).
https://tools.ietf.org/html/rfc5246
Цитата:

struct {
ClientCertificateType certificate_types<1..2^8-1>; <---
SignatureAndHashAlgorithm
supported_signature_algorithms<2^16-1>;
DistinguishedName certificate_authorities<0..2^16-1>;
} CertificateRequest;
certificate_types - A list of the types of certificate types that the client may offer.
...
The end-entity certificate provided by the client MUST contain a key that is compatible with certificate_types.

http://wwwold.tc26.ru/me...on/%D0%A2%D0%9A26TLS.pdf
Цитата:

8.1 Приватные типы алгоритмов
До регистрации в IANA предварительные реализации используют следующие приватные номера преобразований:
CipherSuite TLS_GOSTR341112_256_WITH_28147_CNT_IMIT = {0xFF,0x85} <--- TLS_CIPHER_2012
CipherSuite TLS_GOSTR341112_256_WITH_NULL_GOSTR3411 = {0xFF,0x87}
enum {
gostr34102001(22), gostr34102012_256(238),
gostr34102012_512(239), (255)
} ClientCertificateType;

Техническую поддержку оказываем тут
Наша база знаний
Offline stanbel1  
#17 Оставлено : 17 июля 2018 г. 12:49:12(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
то есть сертификат сервера неверный, он не содержит необходимого алгоритма открытого ключа (238 и 238)
Сертификат сервера:
icrs2012.cer.txt (2kb) загружен 1 раз(а).
Offline Евгений Афанасьев  
#18 Оставлено : 17 июля 2018 г. 14:05:20(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 290 раз в 288 постах
Ваш сертификат, если он имеет ключ ГОСТ 2012, не соответствует заявленным параметрам сервера, которые тот шлет.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
stanbel1 оставлено 18.07.2018(UTC)
Offline stanbel1  
#19 Оставлено : 18 июля 2018 г. 12:55:19(UTC)
stanbel1

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

Группы: Участники
Зарегистрирован: 15.12.2017(UTC)
Сообщений: 13
Откуда: Москва

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