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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline senor_retardo  
#1 Оставлено : 24 апреля 2020 г. 11:49:17(UTC)
senor_retardo

Статус: Новичок

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

Добрый день!

Для работы на сайте Росреестра требуется ЭП. Всю процедуру прошел, контейнер создал и загрузил на флэшку, сертификат от УЦ Кадастровой палаты получил. Работаю на macOS Mojave 10.14.6, скачал криптопровайдер и плаг-ин, сертификат к контейнеру прицепил, вот результат:

1-------
Issuer : OGRN=1027700485757, INN=007705401340, C=RU, S=77 Москва, L=Москва, STREET="переулок Орликов, дом 10, строение 1", OU=Удостоверяющий центр, O="ФГБУ ""ФКП Росреестра""", CN="ФГБУ ""ФКП Росреестра"""
Subject : SNILS=14853225065, INN=504809920588, STREET="с. Новый Быт, ул. Новая, д. 31, кв. 28", L=Чехов, S=50 Московская область, C=RU, E=nigel@******.ru, G=Владимир ******, SN=******, CN=****** Владимир ******
Serial : 0x010A5FBB00A6ABAEAF4E78FA582C7D8E36
SHA1 Hash : a084e46a11785875ddfa7116e770ad0de8b80c98
SubjKeyID : e0b9d7bd0c6fc6ecfc1fed1280ea7b949e20fe02
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before : 23/04/2020 11:12:12 UTC
Not valid after : 23/07/2021 11:22:12 UTC
PrivateKey Link : Yes
Container : DEFAULT\\50480992.002\0705
Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0
CA cert URL : http://uc.kadastr.ru/root/index/root6.cer
CDP : http://uc.kadastr.ru/revoke/index/revoked6.crl
Extended Key Usage : 1.2.643.5.1.24.2.1.3
1.2.643.2.64.1.1.1
1.3.6.1.5.5.7.3.2
1.3.6.1.5.5.7.3.4
=============================================================================

[ErrorCode: 0x00000000]

Далее, захожу на проверку создания ЭП на сайте криптопро и получаю ошибку:

Статус: Ошибка при проверке цепочки сертификатов

из-за чего не могу создать подпись. На сайте Росреестра такая же ситуация. Вчера пытался тоже самое делать на Windows - такая же ситуация.
Прошу помощи
Offline Андрей Русев  
#2 Оставлено : 24 апреля 2020 г. 22:08:08(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,260

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 442 раз в 322 постах
Веб-сервер УЦ Кадастровой палаты настроен неверно: CRL-и и промежуточные сертификаты должны распространяться по http (в выдаче certmgr это соответственно адреса CDP и CA cert URL). В самом сертификате всё верно, но если сделать по этим адресам запрос, то видно, что CRL отдают нормально:
Код:
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/curl -i http://uc.kadastr.ru/revoke/index/revoked6.crl -o /tmp/t.crl
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  123k  100  123k    0     0   933k      0 --:--:-- --:--:-- --:--:--  933k
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/curl http://uc.kadastr.ru/revoke/index/revoked6.crl | /opt/cprocsp/bin/certmgr -list -crl -stdin
Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2020.
Программа для работы с сертификатами, CRL и хранилищами.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  123k  100  123k    0     0  1297k      0 --:--:-- --:--:-- --:--:-- 1310k
=============================================================================
1-------
Издатель   : OGRN=1027700485757, INN=007705401340, C=RU, S=77 Москва, L=Москва, STREET="переулок Орликов, дом 10, строение 1", OU=Удостоверяющий центр, O="ФГБУ ""ФКП Росреестра""", CN="ФГБУ ""ФКП Росреестра"""
Выпущен    : 24/04/2020  06:50:00 UTC
Истекает   : 27/04/2020  19:10:00 UTC
ID ключа УЦ: 7e4180acd6bff640d7e5b0f8193c2966fa53e55e
=============================================================================

[ErrorCode: 0x00000000]

а промежуточный сертификат перенаправляют на https (это логическая ошибка в любом случае):
Код:
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/curl -i http://uc.kadastr.ru/root/index/root6.cer
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
Connection: keep-alive
Content-Length: 185
Date: Fri, 24 Apr 2020 18:31:55 GMT
Location: https://uc.kadastr.ru/root/index/root6.cer
Server: nginx/1.10.2

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.10.2</center>
</body>
</html>

Сами перенаправления мы поддерживаем, в том числе на https. Разберёмся, в чём причина проблемы: пойдём на тот же адрес с помощью csptest, сохраняя цепочку сертификатов веб-сервера:
Код:
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/csptest -tlsc -server uc.kadastr.ru -nosave -v -file /root/index/root6.cer -savecert /tmp/web.p7b
11 algorithms supported:
     Aglid  Class  OID
[00] 0x661e 0x6000 1.2.643.2.2.21 (ГОСТ 28147-89)
[01] 0x6631 0x6000 1.2.643.7.1.1.5.2.1 (ГОСТ Р 34.12-2015 Кузнечик CTR-ACPKM)
[02] 0x6630 0x6000 1.2.643.7.1.1.5.1.1 (ГОСТ Р 34.12-2015 Магма CTR-ACPKM)
[03] 0x801e 0x8000 1.2.643.2.2.3 (ГОСТ Р 34.11/34.10-2001)
[04] 0x8021 0x8000 1.2.643.7.1.1.2.2 (ГОСТ Р 34.11-2012 256 бит)
[05] 0x801f 0x8000
[06] 0x803d 0x8000
[07] 0x803c 0x8000
[08] 0x2e23 0x2000 1.2.643.2.2.19 (ГОСТ Р 34.10-2001)
[09] 0x2e49 0x2000 1.2.643.7.1.1.1.1 (ГОСТ Р 34.10-2012)
[10] 0x2e3d 0x2000 1.2.643.7.1.1.1.2 (ГОСТ Р 34.10-2012)
Cipher strengths: 256..256
Supported protocols: 0xa80:
    Transport Layer Security 1.0 client side
    Transport Layer Security 1.1 client side
    Transport Layer Security 1.2 client side
dwProtocolMask: 0x800e2aaa
Protocol version: 3.3
ClientHello: RecordLayer: TLS, Len: 128
SessionId: (empty)
Cipher Suites: (c1 00) (c1 01) (c1 02) (ff 85) (00 81) (00 9d) (00 9c) (00 3d) (00 3c) (00 35) (00 2f) (00 0a) 
133 bytes of handshake data sent
1675 bytes of handshake data received
318 bytes of handshake data sent
258 bytes of handshake data received
Handshake was successful
SECPKG_ATTR_SESSION_INFO: Reuse: 0, SessionId: f4db5da9db1b0f1a326fe48bb721a0ca8ea37264328142965cf8f16367195c26
SECPKG_ATTR_CONNECTION_INFO: Protocol: 800
SECPKG_ATTR_CIPHER_INFO: Protocol: 800, Suite: 9D (TLS_RSA_WITH_AES_256_GCM_SHA384)
SECPKG_ATTR_CIPHER_INFO: Cipher: (AES), Len: 256, BlockLen: 1
SECPKG_ATTR_CIPHER_INFO: Hash: (), Len: 0
SECPKG_ATTR_CIPHER_INFO: Exchange: (RSA), MinLen: 512, MaxLen: 16384
SECPKG_ATTR_CIPHER_INFO: Certificate: (RSA), KeyType: 0
SECPKG_ATTR_NAMES: 2.5.4.15="#0C11476F7665726E6D656E7420456E74697479", 1.3.6.1.4.1.311.60.2.1.3="#13025255", SERIALNUMBER=1027700485757, C=RU, L=Moscow, O=FGBU FKP Rosreestra, CN=uc.kadastr.ru
SECPKG_ATTR_PACKAGE_INFO# fCapabilities: 0x107B3
SECPKG_ATTR_PACKAGE_INFO# wVersion: 1
SECPKG_ATTR_PACKAGE_INFO# wRPCID: 65535
SECPKG_ATTR_PACKAGE_INFO# cbMaxToken: 16379
SECPKG_ATTR_PACKAGE_INFO# Name: CryptoPro SSP
SECPKG_ATTR_PACKAGE_INFO# Comment: CryptoPro Security Package

Server certificate:
Subject: 2.5.4.15="#0C11476F7665726E6D656E7420456E74697479", 1.3.6.1.4.1.311.60.2.1.3="#13025255", SERIALNUMBER=1027700485757, C=RU, L=Moscow, O=FGBU FKP Rosreestra, CN=uc.kadastr.ru
Valid  : 13.09.2019 00:00:00 - 12.10.2020 12:00:00 (UTC)
Issuer : C=US, O=DigiCert Inc, OU=www.digicert.com, CN=GeoTrust EV RSA CA 2018
Error 0x800b010a (CERT_E_CHAINING) returned by CertVerifyCertificateChainPolicy!
/dailybuildsbranches/CSP_5_0r2h/CSPbuild/CSP/samples/csptest/WebClient.c:1048:Error authenticating server credentials!
Error 0x800b010a: Произошла внутренняя ошибка в цепочке сертификатов. 
Total: SYS: 0,020 sec USR: 0,130 sec UTC: 0,180 sec
[ErrorCode: 0x800b010a]

Видим, что TLS-соединение на RSA-AES и нет доверия к цепочке сертификатов. Действительно, на unix-системах для нашей реализации TLS (и в нашем curl в частности), цепочки доверия строятся до корневых сертификатов в нашем (а не системном - в данном случае keychain) хранилище корневых. На данный момент в составе дистрибутива нет ни одного корневого сертификата на иностранных алгоритмах. Но мы его уже скачали и можно его добавить вручную. Смотрим, что скачали:
Код:
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/certmgr -list -file /tmp/web.p7b 
Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2020.
Программа для работы с сертификатами, CRL и хранилищами.
=============================================================================
1-------
Издатель            : C=US, O=DigiCert Inc, OU=www.digicert.com, CN=GeoTrust EV RSA CA 2018
Субъект             : 2.5.4.15="#0C11476F7665726E6D656E7420456E74697479", 1.3.6.1.4.1.311.60.2.1.3="#13025255", SERIALNUMBER=1027700485757, C=RU, L=Moscow, O=FGBU FKP Rosreestra, CN=uc.kadastr.ru
Серийный номер      : 0x0DFEBC18449B8C55943147E73D45649C
Хэш SHA1            : ee75af62d1153e6e711b3a265625ac508098e39c
Идентификатор ключа : 261f2ebce3cfa49694a1051989c01057372815db
Алгоритм подписи    : sha256RSA
Алгоритм откр. кл.  : RSA (2048 бит)
Выдан               : 13/09/2019  00:00:00 UTC
Истекает            : 12/10/2020  12:00:00 UTC
Ссылка на ключ      : Нет                 
OCSP URL            : http://status.geotrust.com
URL сертификата УЦ  : http://cacerts.geotrust.com/GeoTrustEVRSACA2018.crt
URL списка отзыва   : http://cdp.geotrust.com/GeoTrustEVRSACA2018.crl
Назначение/EKU      : 1.3.6.1.5.5.7.3.1 Проверка подлинности сервера
                      1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
=============================================================================

[ErrorCode: 0x00000000]

По "URL сертификата УЦ" получаем издателя и сразу же выводим
Код:
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/curl http://cacerts.geotrust.com/GeoTrustEVRSACA2018.crt|/opt/cprocsp/bin/certmgr -list -stdin
Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2020.
Программа для работы с сертификатами, CRL и хранилищами.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1190  100  1190    0     0   5288      0 --:--:-- --:--:-- --:--:--  5288
=============================================================================
1-------
Издатель            : C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
Субъект             : C=US, O=DigiCert Inc, OU=www.digicert.com, CN=GeoTrust EV RSA CA 2018
Серийный номер      : 0x03FEEF1BB5B648349A20950F8BC69753
Хэш SHA1            : a399046417b67e320d3efa69d7dce6b8bfe8a9f2
Идентификатор ключа : ca92675261deaefcba222b7f1c874c25fb6f9958
Алгоритм подписи    : sha256RSA
Алгоритм откр. кл.  : RSA (2048 бит)
Выдан               : 06/11/2017  12:22:46 UTC
Истекает            : 06/11/2027  12:22:46 UTC
Ссылка на ключ      : Нет                 
OCSP URL            : http://ocsp.digicert.com
URL списка отзыва   : http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl
Назначение/EKU      : 1.3.6.1.5.5.7.3.1 Проверка подлинности сервера
                      1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
=============================================================================

[ErrorCode: 0x00000000]

AIA для получения "DigiCert High Assurance EV Root CA" нет, облом. Придётся доставать его из какого-то другого места. Например, он есть в "Связке ключей" (KeyChain) в macOS. Его надо экспортировать в файл .cer и установить в наше корневое хранилище:
Код:
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/certmgr -inst -store uroot -file ~/Documents/DigiCert\ High\ Assurance\ EV\ Root\ CA.cer 
Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2020.
Программа для работы с сертификатами, CRL и хранилищами.
Идёт установка: 
=============================================================================
1-------
Издатель            : C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
Субъект             : C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
Серийный номер      : 0x02AC5C266A0B409B8F0B79F2AE462577
Хэш SHA1            : 5fb7ee0633e259dbad0c4c9ae6d38f1a61c7dc25
Идентификатор ключа : b13ec36903f8bf4701d498261a0802ef63642bc3
Алгоритм подписи    : sha1RSA
Алгоритм откр. кл.  : RSA (2048 бит)
Выдан               : 10/11/2006  00:00:00 UTC
Истекает            : 10/11/2031  00:00:00 UTC
Ссылка на ключ      : Нет                 
=============================================================================

[ErrorCode: 0x00000000]

После этого можно убедиться, что соединение по первому AIA (CA cert URL) будет устанавливаться успешно (что позволит в дальнейшем построителю цепочки скачать сертификат УЦ Кадастровой палаты, который выпущен ГУЦ-ом, сертификат которого у вас установлен, если вы ставили наш пакет ca-certs):
Код:
MacBook-Pro-mac:~ user$ /opt/cprocsp/bin/csptest -tlsc -server uc.kadastr.ru -nosave -v -file /root/index/root6.cer -savecert /tmp/web.p7b
11 algorithms supported:
     Aglid  Class  OID
[00] 0x661e 0x6000 1.2.643.2.2.21 (ГОСТ 28147-89)
[01] 0x6631 0x6000 1.2.643.7.1.1.5.2.1 (ГОСТ Р 34.12-2015 Кузнечик CTR-ACPKM)
[02] 0x6630 0x6000 1.2.643.7.1.1.5.1.1 (ГОСТ Р 34.12-2015 Магма CTR-ACPKM)
[03] 0x801e 0x8000 1.2.643.2.2.3 (ГОСТ Р 34.11/34.10-2001)
[04] 0x8021 0x8000 1.2.643.7.1.1.2.2 (ГОСТ Р 34.11-2012 256 бит)
[05] 0x801f 0x8000
[06] 0x803d 0x8000
[07] 0x803c 0x8000
[08] 0x2e23 0x2000 1.2.643.2.2.19 (ГОСТ Р 34.10-2001)
[09] 0x2e49 0x2000 1.2.643.7.1.1.1.1 (ГОСТ Р 34.10-2012)
[10] 0x2e3d 0x2000 1.2.643.7.1.1.1.2 (ГОСТ Р 34.10-2012)
Cipher strengths: 256..256
Supported protocols: 0xa80:
    Transport Layer Security 1.0 client side
    Transport Layer Security 1.1 client side
    Transport Layer Security 1.2 client side
dwProtocolMask: 0x800e2aaa
Protocol version: 3.3
ClientHello: RecordLayer: TLS, Len: 128
SessionId: (empty)
Cipher Suites: (c1 00) (c1 01) (c1 02) (ff 85) (00 81) (00 9d) (00 9c) (00 3d) (00 3c) (00 35) (00 2f) (00 0a) 
133 bytes of handshake data sent
1675 bytes of handshake data received
318 bytes of handshake data sent
258 bytes of handshake data received
Handshake was successful
SECPKG_ATTR_SESSION_INFO: Reuse: 0, SessionId: f6aea44e6eb29234e84d0658f755051c75cc4eb74dfc42b77711ff37d68da9fe
SECPKG_ATTR_CONNECTION_INFO: Protocol: 800
SECPKG_ATTR_CIPHER_INFO: Protocol: 800, Suite: 9D (TLS_RSA_WITH_AES_256_GCM_SHA384)
SECPKG_ATTR_CIPHER_INFO: Cipher: (AES), Len: 256, BlockLen: 1
SECPKG_ATTR_CIPHER_INFO: Hash: (), Len: 0
SECPKG_ATTR_CIPHER_INFO: Exchange: (RSA), MinLen: 512, MaxLen: 16384
SECPKG_ATTR_CIPHER_INFO: Certificate: (RSA), KeyType: 0
SECPKG_ATTR_NAMES: 2.5.4.15="#0C11476F7665726E6D656E7420456E74697479", 1.3.6.1.4.1.311.60.2.1.3="#13025255", SERIALNUMBER=1027700485757, C=RU, L=Moscow, O=FGBU FKP Rosreestra, CN=uc.kadastr.ru
SECPKG_ATTR_PACKAGE_INFO# fCapabilities: 0x107B3
SECPKG_ATTR_PACKAGE_INFO# wVersion: 1
SECPKG_ATTR_PACKAGE_INFO# wRPCID: 65535
SECPKG_ATTR_PACKAGE_INFO# cbMaxToken: 16379
SECPKG_ATTR_PACKAGE_INFO# Name: CryptoPro SSP
SECPKG_ATTR_PACKAGE_INFO# Comment: CryptoPro Security Package

Server certificate:
Subject: 2.5.4.15="#0C11476F7665726E6D656E7420456E74697479", 1.3.6.1.4.1.311.60.2.1.3="#13025255", SERIALNUMBER=1027700485757, C=RU, L=Moscow, O=FGBU FKP Rosreestra, CN=uc.kadastr.ru
Valid  : 13.09.2019 00:00:00 - 12.10.2020 12:00:00 (UTC)
Issuer : C=US, O=DigiCert Inc, OU=www.digicert.com, CN=GeoTrust EV RSA CA 2018

Protocol: TLS 1.2
Cipher: 0x6610
Cipher strength: 256
Hash: 0x0
Hash strength: 0
Key exchange: RSA
Key exchange strength: 2048
Supported signatures: (01 02) (01 04) (01 05) (01 06)

Header: 13, Trailer: 16, MaxMessage: 16384

HTTP request: GET /root/index/root6.cer HTTP/1.1
User-Agent: Webclient
Accept:*/*
Host: uc.kadastr.ru
Connection: close


Sending plaintext: 113 bytes
171 bytes of application data sent
1448 bytes of (encrypted) application data received
849 bytes of (encrypted) application data received
Decrypted data: 2268 bytes
31 bytes of (encrypted) application data received
Context expired: OK if file is completely downloaded
Reply status: HTTP/1.1 200 OK
Sending Close Notify
31 bytes of handshake data sent
/dailybuildsbranches/CSP_5_0r2h/CSPbuild/CSP/samples/csptest/WebClient.c:3381:Socket shutdown()
Error 0x39: 
/dailybuildsbranches/CSP_5_0r2h/CSPbuild/CSP/samples/csptest/WebClient.c:1079:Error disconnecting from server.
Error 0x39: 
1 connections, 2268 bytes in 0.094 seconds;
Total: SYS: 0,020 sec USR: 0,130 sec UTC: 0,230 sec
[ErrorCode: 0x00000000]

Итого первопричина в неверной настройке веб-сервера УЦ Кадастровой палаты, но если бы мы "видели" корневые сертификаты из KeyChain, то вы бы про эту проблему не узнали. Сейчас задача "видеть" системные корневые находится на стадии исследования, возможно, мы поддержим эту функцию для вашего удобства.
Официальная техподдержка. Официальная база знаний.
thanks 1 пользователь поблагодарил Русев Андрей за этот пост.
Ignatiev001 оставлено 29.04.2020(UTC)
Offline Ignatiev001  
#3 Оставлено : 29 апреля 2020 г. 18:19:02(UTC)
Ignatiev001

Статус: Новичок

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

Сказал(а) «Спасибо»: 1 раз
Автор: Андрей Русев Перейти к цитате
Веб-сервер УЦ Кадастровой палаты настроен неверно: CRL-и и промежуточные сертификаты должны распространяться по http (в выдаче certmgr это соответственно адреса CDP и CA cert URL).
Итого первопричина в неверной настройке веб-сервера УЦ Кадастровой палаты, но если бы мы "видели" корневые сертификаты из KeyChain, то вы бы про эту проблему не узнали. Сейчас задача "видеть" системные корневые находится на стадии исследования, возможно, мы поддержим эту функцию для вашего удобства.


Спасибо, инструкция очень помогла, все получилось

Отредактировано пользователем 29 апреля 2020 г. 22:43:56(UTC)  | Причина: Инструкция из предыдущего поста помогла

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