Статус: Участник
Группы: Участники
Зарегистрирован: 26.09.2010(UTC) Сообщений: 13 Откуда: Уфа
|
Цитата:Сертификат сервера поместили на клиенте в доверенные? Как это сделать в control pane JCP? И для установления двустороннего соединения нужно в хранилище сертификатов добавлять клиентский сертификат и сертификат сервера? будет ли это аналогом добавления сертификата сервера в доверенные? или это нужно сделать для контейнера сертификатов HDImageStore? При копировании сертификата из контейнера control pane jcp в хранилище сертификатов, используемое для установления защищенного соединения копируется ли ключ вместе с сертификатом? Отредактировано пользователем 18 октября 2010 г. 17:44:50(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
Сертификат сервера или сертификат центра, который подписывал сертификат сервера, можно поместить в любое хранилище. Потом надо сказать, что это хранилище сертификатов будет доверенным для JTLS. Например System.setProperty("javax.net.ssl.trustStoreType","HDImageStore"); System.setProperty("javax.net.ssl.trustStore","C:\\Java\\jcp\\trust"); System.setProperty("javax.net.ssl.trustStorePassword","password"); Подробнее написано в документе tls.html "Руководство программиста КриптоПро JTLS" При копировании сертификата, ключ с ним не копируется. При копировании контейнера одновременно копируются секретный ключ и его цепочка сертификатов.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.09.2010(UTC) Сообщений: 13 Откуда: Уфа
|
Iva написал: При копировании сертификата, ключ с ним не копируется. При копировании контейнера одновременно копируются секретный ключ и его цепочка сертификатов.
Можно ли скопировать контейнер в хранилище сертификатов?, которое будет указано через System.setProperty("javax.net.ssl.trustStoreType","HDImageStore"); System.setProperty("javax.net.ssl.trustStore","C:\\Java\\jcp\\trust"); System.setProperty("javax.net.ssl.trustStorePassword","password");
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
Хранилище состоит из двух частей: хранилище контейнеров и хранилище сертификатов. Контейнер это закрытый ключ вместе со своим сертификатом или цепочкой сертификатов. Хранилище контейнеров определяется типом, например HDImageStore. Для каждого пользователя хранилище контейнеров одно. Для JTLS надо чтоб Ваш секретный ключ был доступен в хранилище определеном настройками System.setProperty("javax.net.ssl.keyStoreType","HDImageStore"); System.setProperty("javax.net.ssl.keyStorePassword","password"); Хранилище сертификатов привязано к файлу. Их может быть сколько угодно. Для JTLS надо чтоб сертификат сервера, был доступен в хранилище, которое оапределяется настройками System.setProperty("javax.net.ssl.trustStoreType","HDImageStore"); System.setProperty("javax.net.ssl.trustStore","C:\\Java\\jcp\\trust"); System.setProperty("javax.net.ssl.trustStorePassword","password"); Или сертификат центра, до которого можно построить цепочку. Подробнее написано в документе tls.html "Руководство программиста КриптоПро JTLS"
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.09.2010(UTC) Сообщений: 13 Откуда: Уфа
|
Iva написал:Хранилище состоит из двух частей: хранилище контейнеров и хранилище сертификатов. Контейнер это закрытый ключ вместе со своим сертификатом или цепочкой сертификатов. Хранилище контейнеров определяется типом, например HDImageStore. Для каждого пользователя хранилище контейнеров одно. Для JTLS надо чтоб Ваш секретный ключ был доступен в хранилище определеном настройками System.setProperty("javax.net.ssl.keyStoreType","HDImageStore"); System.setProperty("javax.net.ssl.keyStorePassword","password"); Хранилище сертификатов привязано к файлу. Их может быть сколько угодно. Для JTLS надо чтоб сертификат сервера, был доступен в хранилище, которое оапределяется настройками System.setProperty("javax.net.ssl.trustStoreType","HDImageStore"); System.setProperty("javax.net.ssl.trustStore","C:\\Java\\jcp\\trust"); System.setProperty("javax.net.ssl.trustStorePassword","password"); Или сертификат центра, до которого можно построить цепочку. Подробнее написано в документе tls.html "Руководство программиста КриптоПро JTLS"
большое спасибо, этот момент не был ясен нам из документации и он многое прояснил! при клиентском подключении к серверу значит ли эта ошибка, что наш клиентский сертификат не присутствует в доверенных на сервере? Код:
javax.net.ssl.SSLHandshakeException: Received fatal alert: CERTIFICATE_UNKNOWN
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
Скорее всего, но не обязательно. Эта ошибка означает, что у сервера проблема с клиентским сертификатом. Отсутствие сертификата в доверенных допустимо. Если его нет, возможно, сервер хочет построить цепочку от Вашего сертификата до корневого центра. Может на сервере и не собирались укладывать в доверенные Ваш сертификат, и сертификаты остальных клиентов тоже, а решили, что лучше положить один сертификат центра в довереренные. И если проблема не с Вашим сертификатом, а с сертификатом Вашего центра, то будет та же ошибка. Может Вы выпускали сертификат на другом центре. Может сертификат центра устарел. Может наоборот, сертификат центра сменился на новый, Ваш подписан новым, а они на сервере еще не сменили. Обращайтесь на сервер. Пусть смотрят протокол, у них должны быть подробности.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.09.2010(UTC) Сообщений: 13 Откуда: Уфа
|
Iva написал:Скорее всего, но не обязательно. Эта ошибка означает, что у сервера проблема с клиентским сертификатом. Отсутствие сертификата в доверенных допустимо. Если его нет, возможно, сервер хочет построить цепочку от Вашего сертификата до корневого центра. Может на сервере и не собирались укладывать в доверенные Ваш сертификат, и сертификаты остальных клиентов тоже, а решили, что лучше положить один сертификат центра в довереренные. И если проблема не с Вашим сертификатом, а с сертификатом Вашего центра, то будет та же ошибка. Может Вы выпускали сертификат на другом центре. Может сертификат центра устарел. Может наоборот, сертификат центра сменился на новый, Ваш подписан новым, а они на сервере еще не сменили. Обращайтесь на сервер. Пусть смотрят протокол, у них должны быть подробности. Большое спасибо за адекватные ответы!
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 13.05.2011(UTC) Сообщений: 14 Откуда: Россия
|
Добрый день. Возникла следующая ошибка: Код:--------
13.05.2011 19:44:19 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_cache_size_default=20
13.05.2011 19:44:19 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_time_default=24
13.05.2011 19:44:19 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_cache_size_default=20
13.05.2011 19:44:19 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_time_default=24
instantiated an instance of class ru.CryptoPro.ssl.SSLSocketFactoryImpl
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: %% No cached client session
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: Set null SessionId
13.05.2011 19:44:19 ru.CryptoPro.ssl.L m
FINE: %% ClientHello, TLSv1; Cipher Suites: [TLS_CIPHER_2001, TLS_CIPHER_94, SSL3_CK_GVO_KB2]; Compression Methods: 0
13.05.2011 19:44:19 ru.CryptoPro.ssl.ac < init>
FINE: ServerHello sessionId:{}
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: %% ServerHello, TLSv1; Cipher Suite: TLS_CIPHER_2001; Compression Method: 0
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: %% New session TLS_CIPHER_2001
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: %% Certificate message:
------
Subject: CN=www.testgate.blizko.net, O="Sviaz-Bank ", L=Moscow, C=RU, EMAILADDRESS=support@blizko.biz
Valid from Thu Mar 03 16:00:31 MSK 2011 until Sat Mar 03 16:10:31 MSK 2012
------
Subject: CN=Sviaz-Bank Certification Authority, O=Sviaz-Bank, L=Moscow, C=RU, EMAILADDRESS=security@sviaz-bank.ru
Valid from Thu Mar 11 11:05:33 MSK 2010 until Thu Mar 10 11:13:43 MSK 2016
------
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: %% CertificateRequest
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: %% ServerHelloDone (empty)
13.05.2011 19:44:19 ru.CryptoPro.ssl.d a
FINE: %% getting aliases for Client
13.05.2011 19:44:19 ru.CryptoPro.ssl.d a
WARNING: %% No alias is match
13.05.2011 19:44:19 ru.CryptoPro.ssl.a a
FINE: %% Certificate message:
------
13.05.2011 19:44:20 ru.CryptoPro.ssl.a a
FINE: %% ClientKeyExchange...
13.05.2011 19:44:20 ru.CryptoPro.ssl.L a
FINE: ChangeCipherSpec %% Finished.
В итоге получаю: Код:fatal alert: HANDSHAKE_FAILURE
Использую JCP и JTLS 1.0.49. Хранилища добавляю так: Код:System.setProperty("javax.net.ssl.keyStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.keyStoreAlias", "keystore");
System.setProperty("javax.net.ssl.keyStorePassword", StorePassword);
System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStore", TrustStorePath);
System.setProperty("javax.net.ssl.trustStorePassword", Password);
В хранилище доверенных сертификатов, импортировал цепочку сертификатов. Что означает эта ошибка? Это со стороны клиента проблема с сертификатом? Как явно сослаться на альяс сертификата клиента в хранилище? Отредактировано пользователем 14 мая 2011 г. 0:10:14(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.10.2008(UTC) Сообщений: 181
|
Код:fatal alert: HANDSHAKE_FAILURE
означает проблему на другой стороне, в Вашем случае на клиенте. Скорее всего, клиент не видит сертификата сервера. Какая программа используется на стороне клиента?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Михаил_Dia написал:Добрый день. Возникла следующая ошибка: Код:--------
13.05.2011 19:44:19 ru.CryptoPro.ssl.d a
FINE: %% getting aliases for Client
13.05.2011 19:44:19 ru.CryptoPro.ssl.d a
WARNING: %% No alias is match
Вставьте в хранилище доверенных сертификатов сертификат сервера с алиасом указаннымв CN - www.testgate.blizko.net
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close