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

Уведомление

Icon
Error

5 Страницы«<2345>
Опции
К последнему сообщению К первому непрочитанному
Offline LucidLynx  
#31 Оставлено : 18 июня 2012 г. 16:17:13(UTC)
LucidLynx

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

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

Корневой сертификат.

P.S. 5d 9a 3f 44 00 00 00 00 03 2c — это кросс-сертификат.

Отредактировано пользователем 18 июня 2012 г. 16:19:22(UTC)  | Причина: Не указана

Вложение(я):
main.cer (1kb) загружен 8 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Online Андрей Писарев  
#32 Оставлено : 18 июня 2012 г. 16:25:40(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,719
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
LucidLynx написал:
Корневой сертификат.

P.S. 5d 9a 3f 44 00 00 00 00 03 2c — это кросс-сертификат.


да, не дописал...

в общем OS не строит цепочку для пользовательского сертификата ...
установил корневой ‎(Main001, 40 dd 93 11 4a 9e d5 99 44 c1 49 62 2e dd ac 2a) и кросс (OTR CA Root Gost, 5d 9a 3f 44 00 00 00 00 03 2c )
Техническую поддержку оказываем тут
Наша база знаний
Offline LucidLynx  
#33 Оставлено : 18 июня 2012 г. 16:34:07(UTC)
LucidLynx

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

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

У меня тоже не строит.
Кстати, а вы кросс-сертификат в какое хранилище устанавливаете?
Offline LucidLynx  
#34 Оставлено : 19 июня 2012 г. 16:21:11(UTC)
LucidLynx

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

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

Скажите?
Offline Wissenkrieger  
#35 Оставлено : 19 июня 2012 г. 23:39:39(UTC)
Wissenkrieger

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

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

Если я правильно понял, ваш корневой и кросс-сертификаты созданы с помощью разных технологий: один через OpenSSL, другой через MS CA. Есть подозрение, что из-за этого построить цепочку сертификатов стандартным способом CertGetCertificateChain не получится из-за разной интерпретации идентификатора ключа субъекта/ключа центра сертификации. Попробуйте делать это вручную. Для начала установите корневой и кросс-сертификаты в хранилище Windows. Можете для простоты запихнуть оба в "Доверенные центры сертификации", хотя идеологически правильнее кросс поместить в "Промежуточные центры сертификации". Затем, когда в коде будете проверять сертификат на действительность, откройте хранилище(а) и поищите самостоятельно нужные сертификаты чем-нибудь вроде CertFindCertificateInStore с параметром CERT_FIND_ISSUER_NAME, вычислите для найденных ид ключа субъекта/ид ключа ЦС, определив таким образом, действительно ли эти сертификаты принадлежат цепочке.

Такой способ проверки сертификата, конечно, неудобный, но это по крайней мере гарантированный выход из ситуации. Если же вы будете полностью переопределять стандартную виндовую функцию построения цепочки, не забудьте также о проверке сертификата на актуальность по дате действия и отозванность.
Online Андрей Писарев  
#36 Оставлено : 19 июня 2012 г. 23:54:47(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,719
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Wissenkrieger написал:
Если я правильно понял, ваш корневой и кросс-сертификаты созданы с помощью разных технологий: один через OpenSSL, другой через MS CA. Есть подозрение, что из-за этого построить цепочку сертификатов стандартным способом CertGetCertificateChain не получится из-за разной интерпретации идентификатора ключа субъекта/ключа центра сертификации. Попробуйте делать это вручную. Для начала установите корневой и кросс-сертификаты в хранилище Windows. Можете для простоты запихнуть оба в "Доверенные центры сертификации", хотя идеологически правильнее кросс поместить в "Промежуточные центры сертификации". Затем, когда в коде будете проверять сертификат на действительность, откройте хранилище(а) и поищите самостоятельно нужные сертификаты чем-нибудь вроде CertFindCertificateInStore с параметром CERT_FIND_ISSUER_NAME, вычислите для найденных ид ключа субъекта/ид ключа ЦС, определив таким образом, действительно ли эти сертификаты принадлежат цепочке.

Такой способ проверки сертификата, конечно, неудобный, но это по крайней мере гарантированный выход из ситуации. Если же вы будете полностью переопределять стандартную виндовую функцию построения цепочки, не забудьте также о проверке сертификата на актуальность по дате действия и отозванность.


В точку...
Техническую поддержку оказываем тут
Наша база знаний
Offline LucidLynx  
#37 Оставлено : 20 июня 2012 г. 0:05:45(UTC)
LucidLynx

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

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

Хороший способ, спасибо.
Я не использую функцию CertGetCertificateChain, а строю цепочку вручную в Java-коде. И да, у меня проблема в разной интерпретации AKI и SKI.
Спасибо за совет куда класть кросс-сертификаты.
Offline Павел Смирнов  
#38 Оставлено : 21 июня 2012 г. 15:27:18(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Вообще говоря, идентификатор, помещаемый в AKI и SKI, служит лишь для упрощения поиска сертификатов при построении цепочки. Если по AKI вышестоящий сертификат найти не удалось, надо искать по имени. Проверять соответствие сертификатов в цепочке надо по имени и по подписи, AKI и SKI совпадать не обязаны.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Павел Смирнов  
#39 Оставлено : 21 июня 2012 г. 16:17:14(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Смотрю выложенные сертификаты.

Проблема №1.

Имя субъекта в кроссе:
CN = OTR CA Root Gost
L = Belgorod
S = 31
C = RU
E = ca@otr.ru
OU = Filial
O = OTR

Имя издателя в пользовательском:
E = ca@otr.ru
CN = OTR CA Root Gost
OU = Filial
O = OTR
L = Belgorod
S = 31
C = RU

Т.е. имена не совпадают. Выдавший кросс-сертификат центр переупорядочил компоненты. Как этим управлять см. здесь.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Павел Смирнов  
#40 Оставлено : 21 июня 2012 г. 17:13:21(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Проблема №2.

В кроссе отсутствует расширение "Основные ограничения" (Basic constraints). Согласно http://tools.ietf.org/html/rfc5280#section-4.2.1.9, такой сертификат не может быть сертификатом УЦ, а может быть только конечным сертификатом цепочки.

Чтобы это расширение появилось в кроссе (причём с флагом CA=true), оно должно или присутствовать в запросе, или быть добавлено самим центром (как - см. здесь).
Техническую поддержку оказываем тут.
Наша база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
5 Страницы«<2345>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.