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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline chur  
#1 Оставлено : 11 ноября 2014 г. 16:09:49(UTC)
chur

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

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

Добрый день.

Ситуация:
1. Есть УЦ и на нем поднят SOAP-сервис КриптоПро защищенный клиентскими сертификатами
2. На клиенте установлен JCP/JTLS 2.0.37748
3. У пользователя подписанная ключевая пара помещена в HDImageStore
4. Есть trust.store с рутовым сертификатом УЦ
5. При попытке вызова SOAP операции происходит ошибка 403.

Очевидно, что ошибка происходит из-за того, что в сторах не находится подходящий клиентский сертификат.
В ControlPane ключевая пара видна, trust.store тоже доступен.
Сертификат клиента имеет необходимые расширения (Extended Key Usage: Client Authentication (1.3.6.1.5.5.7.3.2) (1.2.643.2.2.34.5))

При включении логирования имеем следующие логи (выборочно):
Код:

Nov 11, 2014 3:51:12 PM ru.CryptoPro.ssl.A run
FINE: Applet launched: false
Nov 11, 2014 3:51:12 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: keyStore is : RA-Admin
Nov 11, 2014 3:51:12 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: keyStore type is : HDImageStore
Nov 11, 2014 3:51:12 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: keyStore provider is : 
Nov 11, 2014 3:51:12 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: init key store
Nov 11, 2014 3:51:12 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: defaultStoreProvider = 
Nov 11, 2014 3:51:12 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: 
Nov 11, 2014 3:51:15 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: init key manager of type GostX509
Nov 11, 2014 3:51:15 PM ru.CryptoPro.ssl.r <init>
FINE: %% adding as private keys %%
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.r <init>
FINE: 
found key: RA-Admin-ebb5cd0b-7d50-44ba-9d91-eb18b764ddaa
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.r <init>
FINE: 
------
Certificate chain [0] for key:RA-Admin-ebb5cd0b-7d50-44ba-9d91-eb18b764ddaa 
  Subject: OID.1.2.643.100.3=#120B3030303030303030303030, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733, CN=XXXX, OU=YYYY, O=ZZZZ, L=Санкт-Петербург, ST=78 г. Санкт-Петербург, C=RU
  Valid from Wed Sep 03 19:49:00 MSK 2014 until Thu Dec 03 18:59:00 MSK 2015
------
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore is: /etc/pki/java/trust.store
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore type is : HDImageStore
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore provider is : 
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: init trust store
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: init trust manager of type GostX509
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.g <init>
FINE: Trusted certificates: key store.
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.g a
FINE: 
%% adding as trusted certificates %%
--------
  Subject: CN=NNNN, C=RU, ST=78 г. Санкт-Петербург, L=Санкт-Петербург, O=ZZZZ, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733
  Serial number: 6e998fb17d7640b7435f828fb90c50cd
  Valid from Wed Apr 23 16:05:44 MSK 2014 until Sat Apr 23 15:15:14 MSK 2044
--------



Пошел хэндшейк с сервером:

Код:

Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.ao a
FINE: %% Certificate message:
------
  Subject: CN=WIN-BPMSJL1ABOK, C=RU
  Valid from Wed Sep 03 19:22:00 MSK 2014 until Thu Dec 03 18:32:00 MSK 2015
------
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w <init>
FINER: Validator() count of trusted certificates: 1
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINER: Count of certificates to be checked: 1 (is server chain: true)
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINER: Build a certificate chain using following certificates
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINER: Certificate #0
	serial number: 613b28a6000000000029
	subject: CN=WIN-BPMSJL1ABOK, C=RU
	issuer: CN=NNNNN, C=RU, ST=78 г. Санкт-Петербург, L=Санкт-Петербург, O=ZZZZ, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINER: Root certificate is NOT found.
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINE: [PKIX] Signature provider: JCP
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINE: [PKIX] Set some additional (intermediate) certificates
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINE: [PKIX] parameters:
	com.sun.security.enableCRLDP=true
	com.ibm.security.enableCRLDP=true
Nov 11, 2014 3:51:16 PM ru.CryptoPro.ssl.w a
FINER: [PKIX] Revocation enabled: false
Nov 11, 2014 3:51:17 PM ru.CryptoPro.ssl.w a
FINE: [PKIX] Certificate chain was built.
Nov 11, 2014 3:51:17 PM ru.CryptoPro.ssl.w a
FINE: [PKIX] Offline verification is disabled. CRL timer is turned OFF.
Nov 11, 2014 3:51:17 PM ru.CryptoPro.ssl.w a
FINER: Following certificate chain was built and verified
Nov 11, 2014 3:51:17 PM ru.CryptoPro.ssl.w a
FINER: Certificate #0
	serial number: 613b28a6000000000029
	subject: CN=WIN-BPMSJL1ABOK, C=RU
	issuer: CN=NNNNN, C=RU, ST=78 г. Санкт-Петербург, L=Санкт-Петербург, O=ZZZZZ, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733
Nov 11, 2014 3:51:17 PM ru.CryptoPro.ssl.w a
FINER: Certificate #1
	serial number: 6e998fb17d7640b7435f828fb90c50cd
	subject: CN=NNNNN, C=RU, ST=78 г. Санкт-Петербург, L=Санкт-Петербург, O=ZZZZZ, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733
	issuer: CN=NNNNN, C=RU, ST=78 г. Санкт-Петербург, L=Санкт-Петербург, O=ZZZZZ, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733


Ну и собственно критическая секция где не находится подходящая пара:
Код:

Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.ao a
FINE: %% ServerHelloDone (empty)
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.v f
ALL: [read] hashes: len = 4
0000: 0E 00 00 00                                        ....

Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.ao a
FINE: Certificate request is received.
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.f a
FINE: Add certificate algorithm: GOST3410EL [priority: 2]
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.ao a
FINE: Find client container with type: GOST3410EL
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.r a
FINE: %% getting aliases for Client
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.r a
WARNING: %% No alias is match
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.ao a
FINE: Found containers: 0
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.ao a
FINE: Find any client container with type: GOST3410EL
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.r a
FINE: %% getting aliases for Client
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.r a
WARNING: %% No alias is match
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.ao a
FINE: Select any private key for signature. Found containers: 0
Nov 11, 2014 3:51:18 PM ru.CryptoPro.ssl.ao a
FINE: %% Certificate message:


Вопрос: можно ли как то отследить почему именно был отторгнут сертификат?

Отредактировано пользователем 12 ноября 2014 г. 10:08:09(UTC)  | Причина: Добавил логи

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

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Евгений Афанасьев  
#2 Оставлено : 12 ноября 2014 г. 10:45:48(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 730 раз в 688 постах
Здравствуйте.
Издатель сертификата клиента с заданным паролем (keyStorePassword), видимо, RA-Admin-ebb5cd0b-7d50-44ba-9d91-eb18b764ddaa, есть в списке (из лога)?
Код:

<CN=Cipher Link Root CA, C=RU, ST=78 г. Санкт-Петербург, L=Санкт-Петербург, O=ООО Сайфер Линк, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733>
	<CN=Microsoft Root Certificate Authority, DC=microsoft, DC=com>
	<CN=Microsoft Root Authority, OU=Microsoft Corporation, OU=Copyright (c) 1997 Microsoft Corp.>
	<CN=Microsoft Root Certificate Authority 2011, O=Microsoft Corporation, L=Redmond, ST=Washington, C=US>
	<CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US>
	<CN=Microsoft Root Certificate Authority 2010, O=Microsoft Corporation, L=Redmond, ST=Washington, C=US>
	<CN=GeoTrust Global CA, O=GeoTrust Inc., C=US>
	<CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE>
	<CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE>
	<CN=thawte Primary Root CA, OU="(c) 2006 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US>
	<OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US>
	<CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US>
	<OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US>
	<CN=AddTrust External CA Root, OU=AddTrust External TTP Network, O=AddTrust AB, C=SE>

Скорее всего, он должен соответствовать первому.

Отредактировано пользователем 12 ноября 2014 г. 10:47:56(UTC)  | Причина: Не указана

Offline chur  
#3 Оставлено : 12 ноября 2014 г. 11:35:21(UTC)
chur

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

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

Вообще-то этот сертификат лежит в trust.store и загружается в самом начале, что видно из лога:
Код:

Nov 12, 2014 10:06:42 AM ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore is: /etc/pki/java/trust.store
Nov 12, 2014 10:06:42 AM ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore type is : HDImageStore
Nov 12, 2014 10:06:42 AM ru.CryptoPro.ssl.SSLContextImpl d
INFO: trustStore provider is : 
Nov 12, 2014 10:06:42 AM ru.CryptoPro.ssl.SSLContextImpl d
INFO: init trust store
Nov 12, 2014 10:06:42 AM ru.CryptoPro.ssl.SSLContextImpl d
INFO: init trust manager of type GostX509
Nov 12, 2014 10:06:42 AM ru.CryptoPro.ssl.g <init>
FINE: Trusted certificates: key store.
Nov 12, 2014 10:06:42 AM ru.CryptoPro.ssl.g a
FINE: 
%% adding as trusted certificates %%
--------
  Subject: CN=Cipher Link Root CA, C=RU, ST=78 г. Санкт-Петербург, L=Санкт-Петербург, O=ООО Сайфер Линк, OID.1.2.643.100.1=#120D31313037383437303934343432, OID.1.2.643.3.131.1.1=#120C303037383431343233313733
  Serial number: 6e998fb17d7640b7435f828fb90c50cd
  Valid from Wed Apr 23 16:05:44 MSK 2014 until Sat Apr 23 15:15:14 MSK 2044
--------
Offline chur  
#4 Оставлено : 12 ноября 2014 г. 11:37:17(UTC)
chur

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

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

Существует ли процедура диагностики/логирование причины отказа в использовании сертификатов? Судя по форуму такой вопрос возникает достаточно часто и мне кажется вам стоит добавить в код больше логов :)

Отредактировано пользователем 12 ноября 2014 г. 11:39:33(UTC)  | Причина: грамматика

Offline Евгений Афанасьев  
#5 Оставлено : 12 ноября 2014 г. 13:41:28(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 730 раз в 688 постах
Автор: chur Перейти к цитате
Существует ли процедура диагностики/логирование причины отказа в использовании сертификатов? Судя по форуму такой вопрос возникает достаточно часто и мне кажется вам стоит добавить в код больше логов :)


Процедуры нет, проверок не так много, возможно, добавим дополнительные логи.
Я имел в виду не сертификат(ы) в trust.store, а сертификат подписи в ключевом контейнере клиента (с паролем keyStorePassword). Он издан одним из тех центров, что в списке? В trust.store лежат сертификаты для построения/проверки серверной цепочки, к отсылаемому сертификату клиента отношения не имеют.

Отредактировано пользователем 12 ноября 2014 г. 13:42:50(UTC)  | Причина: Не указана

Offline chur  
#6 Оставлено : 12 ноября 2014 г. 19:35:15(UTC)
chur

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

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

Да, сертификат выпущен именно этим УЦ. И именно тем что первый в списке, могу скриншот из ControlPane приложить если надо. Сделать?
Offline Евгений Афанасьев  
#7 Оставлено : 12 ноября 2014 г. 20:05:29(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 730 раз в 688 постах
Нет, не нужно. У вас еще ГОСТ провайдеры установлены? В логах попадается ECGOST3410.
Offline chur  
#8 Оставлено : 12 ноября 2014 г. 20:09:52(UTC)
chur

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

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

Мы про содержание файла jre/lib/security/java.security? Там вот такой список:
Код:

#
# List of providers and their preference orders (see above):
#
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.10=sun.security.smartcardio.SunPCSC
security.provider.11=ru.CryptoPro.JCP.JCP
security.provider.12=ru.CryptoPro.Crypto.CryptoProvider
security.provider.13=ru.CryptoPro.reprov.RevCheck
security.provider.14=ru.CryptoPro.ssl.Provider
Offline Евгений Афанасьев  
#9 Оставлено : 12 ноября 2014 г. 20:47:06(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 730 раз в 688 постах
Можете попробовать убрать BouncyCastleProvider и изменить нумерацию? Собрать лог.

Отредактировано пользователем 12 ноября 2014 г. 20:48:05(UTC)  | Причина: Не указана

Offline chur  
#10 Оставлено : 12 ноября 2014 г. 20:48:03(UTC)
chur

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

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

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