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

Уведомление

Icon
Error

4 Страницы«<234
Опции
К последнему сообщению К первому непрочитанному
Offline vavilon.rus  
#31 Оставлено : 9 ноября 2015 г. 15:55:12(UTC)
vavilon.rus

Статус: Активный участник

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

Код:


FINER: RETURN java.util.Collections$2@19839755
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.KeyStore.JCPKeyStore engineIsKeyEntry
FINER: ENTRY 40831728-1e8a-4986-b7fd-19ddd92c1618
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.KeyStore.JCPKeyStore engineIsKeyEntry
FINER: RETURN true
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.KeyStore.JCPKeyStore engineGetKey
FINER: ENTRY 40831728-1e8a-4986-b7fd-19ddd92c1618 ***

FINER: RETURN
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
FINE: Check license without company name: true

ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.KeyStore.JCPKeyStore engineGetKey
FINE: THROW
java.security.UnrecoverableKeyException: Password is not needed.
	at ru.CryptoPro.JCP.KeyStore.t.f(Unknown Source)
	at ru.CryptoPro.JCP.KeyStore.t.e(Unknown Source)
	at ru.CryptoPro.JCP.KeyStore.t.a(Unknown Source)
	at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source)
	at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source)
	at java.security.KeyStore.getKey(KeyStore.java:792)
	at ru.CryptoPro.ssl.n.<init>(Unknown Source)
	at ru.CryptoPro.ssl.KeyManagerFactoryImpl.engineInit(Unknown Source)
	at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:259)
	at test.SSLSocketClient.buildKeyManager(SSLSocketClient.java:83)
	at test.SSLSocketClient.main(SSLSocketClient.java:41)

ноя 09, 2015 3:55:38 PM ru.CryptoPro.ssl.n <init>
FINE: 
ноя 09, 2015 3:55:38 PM ru.CryptoPro.ssl.n <init>
FINE: 
------
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.pref.JCPPref get
CONFIG: System Preference Node: /ru/CryptoPro/JCP/KeyStore/HDImage.HDImageStore_class_default=${user.home}\Local Settings\Application Data\Crypto Pro
ноя 09, 2015 3:55:38 PM ru.CryptoPro.ssl.n <init>
WARNING: %% No appropriate keys for handshake
PATH: C:\Users\DVKuzmin\Local Settings\Application Data\Crypto Pro
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_cache_size_default=20
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_time_default=24
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_cache_size_default=20
ноя 09, 2015 3:55:38 PM ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_time_default=24
ноя 09, 2015 3:55:38 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
FINER: SSLContext engineInit



а как он сначала видит алиас 40831728-1e8a-4986-b7fd-19ddd92c1618 ,а потом ломается

и говорит WARNING: %% No appropriate keys for handshake

Отредактировано пользователем 9 ноября 2015 г. 15:55:48(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#32 Оставлено : 9 ноября 2015 г. 15:56:26(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Автор: vavilon.rus Перейти к цитате

потом делаю init у SSLContext

А дальше? передаете пароль в KeyManagerFactory?
В ссылке, в лог есть 40831728-1e8a-4986-b7fd-19ddd92c1618, это он?

Offline vavilon.rus  
#33 Оставлено : 9 ноября 2015 г. 15:59:28(UTC)
vavilon.rus

Статус: Активный участник

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

Вот код

Код:


public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException {

        System.out.println(" ==  config == ");

        System.setProperty("com.sun.security.enableCRLDP", "true");
        System.setProperty("com.ibm.security.enableCRLDP", "true");
        System.setProperty("javax.net.ssl.supportGVO", "true");

        System.setProperty("javax.net.debug", "all");

        KeyStore trustStore = buildTrustStore();
        TrustManager[] tms = buildTrustManager(trustStore);

        KeyStore keyStore = buildKeyStore();
        KeyManager[] km = buildKeyManager(keyStore);

        SSLSocketFactory sslFactory = buildSSLSocketFactory(tms);

        System.out.println(" ==  begin == ");

        Service service = CloudAPI.create(CloudAPI.WSDL_LOCATION, CloudAPI.SERVICE);
        CloudAPISoap soap = service.getPort(CloudAPISoap.class);

        configClient(sslFactory, soap);

        List list = soap.beginAuth();

        CreateKeyOut a = soap.createKey(new CreateKeyIn());

        System.out.println(" ==  end == ");
    }

    private static void configClient(SSLSocketFactory sslFactory, CloudAPISoap soap) {
        Client client = ClientProxy.getClient(soap);
        HTTPConduit http = (HTTPConduit) client.getConduit();
        buildHTTPConduit(http);
        http.setTlsClientParameters(createTlsClientParameters(sslFactory));

        client.getInInterceptors().add(new LoggingInInterceptor());
        client.getOutInterceptors().add(new LoggingOutInterceptor());
    }

    private static SSLSocketFactory buildSSLSocketFactory(TrustManager[] tms) throws NoSuchAlgorithmException, NoSuchProviderException {
        SSLContext sc = SSLContext.getInstance("GostTLS");

        try {
            sc.init(null, tms, SecureRandom.getInstance("CPRandom", "JCP"));
        } catch (KeyManagementException e) {
            e.printStackTrace();
        }
        return sc.getSocketFactory();
    }

    private static KeyManager[] buildKeyManager(KeyStore keyStore) throws NoSuchAlgorithmException {
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("GostX509");
        try {
            kmf.init(keyStore, "123".toCharArray());
        } catch (KeyStoreException e) {
            e.printStackTrace();
        } catch (UnrecoverableKeyException e) {
            e.printStackTrace();
        }
        return kmf.getKeyManagers();
    }

    private static KeyStore buildKeyStore() throws NoSuchProviderException, NoSuchAlgorithmException {
        KeyStore keyStore = null;
        try {
            keyStore = KeyStore.getInstance("HDImageStore", "JCP");
            keyStore.load(null, null);
//            keyStore.load(new FileInputStream("e:\\store17"), "123".toCharArray());
        } catch (KeyStoreException e) {
            e.printStackTrace();
        } catch (CertificateException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return keyStore;
    }

    private static TrustManager[] buildTrustManager(KeyStore trustStore) throws NoSuchAlgorithmException {
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509");
        try {
            tmf.init(trustStore);
        } catch (KeyStoreException e) {
            e.printStackTrace();
        }

        return tmf.getTrustManagers();
    }

    private static KeyStore buildTrustStore() throws NoSuchAlgorithmException {
        KeyStore trustStore = null;

        try {
            trustStore = KeyStore.getInstance("HDImageStore");
            trustStore.load(new FileInputStream("e:\\store17"), "123".toCharArray());
        } catch (KeyStoreException e) {
            e.printStackTrace();
        } catch (CertificateException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return trustStore;
    }

    private static void buildHTTPConduit(HTTPConduit http) {
        http.getClient().setAutoRedirect(true);
        http.getClient().setConnection(ConnectionType.KEEP_ALIVE);
        http.getClient().setConnectionTimeout(3600000);
    }

    private static TLSClientParameters createTlsClientParameters(SSLSocketFactory sslFactory) {
        TLSClientParameters tlsClientParameters = new TLSClientParameters();
        tlsClientParameters.setSecureSocketProtocol("GostTLS");
        tlsClientParameters.setDisableCNCheck(true);
        tlsClientParameters.setCertAlias("40831728-1e8a-4986-b7fd-19ddd92c1618");
        tlsClientParameters.setCipherSuites(Arrays.asList("TLS_CIPHER_94", "TLS_CIPHER_2001", "TLS_CIPHER_2012", "SSL3_CK_GVO_KB2", "SSL3_CK_GVO"));
        tlsClientParameters.setSSLSocketFactory(sslFactory);
        return tlsClientParameters;
    }

Отредактировано пользователем 9 ноября 2015 г. 16:00:49(UTC)  | Причина: Не указана

Offline vavilon.rus  
#34 Оставлено : 9 ноября 2015 г. 16:17:14(UTC)
vavilon.rus

Статус: Активный участник

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

Спасибо, убрал ошибку паролями, но сертификат по прежнему не уходит

вот лог http://uploadpie.com/QEhqF
Offline vavilon.rus  
#35 Оставлено : 9 ноября 2015 г. 16:24:36(UTC)
vavilon.rus

Статус: Активный участник

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

все выглядит хорошо но не уходит сертификат

вот так выглядит пакет

http://uploadpie.com/xHXJR

P.S: исправил все ошибки

Отредактировано пользователем 9 ноября 2015 г. 16:58:52(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#36 Оставлено : 9 ноября 2015 г. 17:07:32(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Если ключ 40831728-1e8a-4986-b7fd-19ddd92c1618, то он есть в логах. Странно, что сертификат клиента не был запрошен (нет, например, cert authorities от сервера).
Offline vavilon.rus  
#37 Оставлено : 10 ноября 2015 г. 8:18:04(UTC)
vavilon.rus

Статус: Активный участник

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

С стороны сервиса стоит IIS сервер который ожидает от моего сервиса сертификат.

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