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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Vitaliy574  
#1 Оставлено : 4 июня 2024 г. 17:38:53(UTC)
Vitaliy574

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

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

Добрый день!
Проблемы с добавлением тестового сертификата, выпущенного в Тестовом Удостоверяющем Центре на Linux.
При установке такого сертификата - ошибка.
Код:
/opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\HDIMAGE\dd037265d-41c6-85aa-8765-1b89d3c88d0'
Certmgr 1.1 (c) "Crypto-Pro",  2007-2018.
program for managing certificates, CRLs and stores e734433f_000.zip (2kb) загружен 0 раз(а).

GetKeyParam error

The requested certificate does not exist.
[ErrorCode: 0x8010002c]



Сертификат выпускался на машине с Ubuntu 22.04, браузер crome (расширение стоит, сертификат выпускается успешно)
Код:
/opt/cprocsp/bin/amd64/csptest -enum -info
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 21872291
GetProvParam(...PP_ENUMALGS...) until it returns false
   Algid    Bits     Type     NameLen    AlgName
__________________________________________________
 0000661eh  256    Encrypt       14    GOST 28147-89 
 00008021h  256    Hash          18    GR 34.11-2012 256 
 00002e49h  512    Signature     18    GR 34.10-2012 256 
 0000aa46h  512    Exchange      18    DH 34.10-2012 256 
 0000aa47h  512    Exchange      18    DH 34.10-2012 256 
 0000801fh  32     Hash          19    HMAC GOST 28147-89 
Cycle exit when getting data. 6 items found. Level completed without problems.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,000 sec
[ErrorCode: 0x00000000]


Такая же ошибка при установке в другой системе с Debian 10
Сертификаты, полученные в "Тестовый Удостоверяющий Центр" на других машинах с Windows успешно устанавливаются и работают на машинах с Ubuntu и Debian

Отсюда получаю вывод, что проблемы в сертификатах, которые я выпустил (выпускал 2 раза - результат один)

Ниже свойства сертификата (по моему мнению, существенных отличий нет), первый из Linux второй из Windows
Код:
$ /opt/cprocsp/bin/amd64/csptest -keyset -check -cont '\\.\HDIMAGE\dd037265d-41c6-85aa-8765-1b89d3c88d0'
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 9973619
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: "dd037265d-41c6-85aa-8765-1b89d3c88d0"
Check header passed.
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x983223
uec key is not available.
Check container passed.
Check sign passed.
Check verify signature on private key passed.
Check verify signature on public key passed.
Check import passed.
Keys in container:
  exchange key
Extensions:
  OID: 1.2.643.2.2.37.3.10
  PrivKey: Not specified - 31.08.2025 15:34:29 (UTC)
Total: SYS: 0,000 sec USR: 0,020 sec UTC: 9,300 sec
[ErrorCode: 0x00000000]

$ /opt/cprocsp/bin/amd64/csptest -keyset -check -cont '\\.\HDIMAGE\e734433f9-47a5-ab6f-124f-0743f94db57'
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 35880819
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: "e734433f9-47a5-ab6f-124f-0743f94db57"
Check header passed.
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x2238223
uec key is not available.
Check container passed.
Check sign passed.
Check verify signature on private key passed.
Check verify signature on public key passed.
Check import passed.
Keys in container:
  exchange key
Extensions:
  OID: 1.2.643.2.2.37.3.10
  PrivKey: Not specified - 30.08.2025 08:07:04 (UTC)
Total: SYS: 0,000 sec USR: 0,040 sec UTC: 18,700 sec
[ErrorCode: 0x00000000]



тестовый ключ вложил, пароля testpwd

Помогите понять, в чем проблема. Способ обхода есть, для этого на Windows приходится ходить.

Отредактировано пользователем 4 июня 2024 г. 17:40:15(UTC)  | Причина: Не указана

Offline nickm  
#2 Оставлено : 4 июня 2024 г. 19:23:59(UTC)
nickm

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

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

Сказал(а) «Спасибо»: 588 раз
Поблагодарили: 426 раз в 405 постах
Автор: Vitaliy574 Перейти к цитате
При установке такого сертификата - ошибка.
Код:
/opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\HDIMAGE\dd037265d-41c6-85aa-8765-1b89d3c88d0'
Certmgr 1.1 (c) "Crypto-Pro",  2007-2018.
program for managing certificates, CRLs and stores e734433f_000.zip (2kb) загружен 0 раз(а).

GetKeyParam error

The requested certificate does not exist.
[ErrorCode: 0x8010002c]

Откуда Вы взяли эту команду для установки сертификата?

У Вас сертификат в контейнере?

Тогда:
Код:
$ /opt/cprocsp/bin/amd64/csptestf -absorb -certs


У Вас сертификат отдельно от контейнера?

Тогда:
Код:
$ /opt/cprocsp/bin/amd64/certmgr -inst -ask-cont -f ~/Downloads/cert.cer


Offline Vitaliy574  
#3 Оставлено : 5 июня 2024 г. 0:58:14(UTC)
Vitaliy574

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

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

Команда досталась по "наследству" и корректно отрабатывает для установки сертификатов на контур разработки же 2 года.

К сожалению, я не очень глубоко вник в механику крипто про, что бы точно ответить на Ваш вопрос.

Сейчас я предполагаю, что да, сертификат в контейнере, т.к.:

Считыватель один:
Код:
$ sudo /opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view
[sudo] password for develop: 

Nick name: HDIMAGE
Connect name: 
Reader name: ��������� ������� �� ������� �����


Каждая строка - контейнер
Код:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) v4.0.9019 KC1 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 39088467
\\.\HDIMAGE\dd037265d-41c6-85aa-8765-1b89d3c88d0
\\.\HDIMAGE\7911ea6cf-2af3-d368-f282-0e0d8b77612
\\.\HDIMAGE\e734433f9-47a5-ab6f-124f-0743f94db57
OK.
Total: SYS: 0,010 sec USR: 0,010 sec UTC: 0,050 sec
[ErrorCode: 0x00000000]


При выпуске я выбираю создать новый набор ключей и он создает "\\.\HDIMAGE\dd037265d-41c6-85aa-8765-1b89d3c88d0"

Физически "контейнеры" находятся в /var/opt/cprocsp/keys/usr1cv8/dd037265.000/
Код:
$ ls -l /var/opt/cprocsp/keys/usr1cv8/dd037265.000/
total 24
-rw------- 1 develop develop 116 мая 31 18:34 header.key
-rw------- 1 develop develop  56 мая 31 18:34 masks2.key
-rw------- 1 develop develop  56 июн  4 17:25 masks.key
-rw------- 1 develop develop  40 мая 31 18:34 name.key
-rw------- 1 develop develop  36 мая 31 18:34 primary2.key
-rw------- 1 develop develop  36 июн  4 17:25 primary.key

$ ls -l /var/opt/cprocsp/keys/usr1cv8/7911ea6c.000/
total 24
-rw------- 1 develop develop 1028 июн  4 17:24 header.key
-rw------- 1 develop develop   56 июн  4 17:24 masks2.key
-rw------- 1 develop develop   56 июн  4 17:24 masks.key
-rw------- 1 develop develop   40 мая 31 18:22 name.key
-rw------- 1 develop develop   36 июн  4 17:24 primary2.key
-rw------- 1 develop develop   36 июн  4 17:24 primary.key

$ ls -l /var/opt/cprocsp/keys/usr1cv8/e734433f.000/
total 24
-rw------- 1 develop develop 116 мая 30 11:07 header.key
-rw------- 1 develop develop  56 мая 30 11:07 masks2.key
-rw------- 1 develop develop  56 июн  4 17:23 masks.key
-rw------- 1 develop develop  40 мая 30 11:07 name.key
-rw------- 1 develop develop  36 мая 30 11:07 primary2.key
-rw------- 1 develop develop  36 июн  4 17:23 primary.key


Для сертификатов, созданных в Windows, перенос этой папки на Linux и установка командой выше (с небольшой подготовкой) приводт к работоспособному сертификату, которым можно подписывать и который выводится командой
Код:
$ /opt/cprocsp/bin/amd64/certmgr -list
Certmgr 1.1 (c) "Crypto-Pro",  2007-2018.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : E=testuser13@mcx.gov.ru, CN=testuser13, OU=it, O=mcx, L=moscow, S=moscow, C=RU
Serial              : 0x120064103D16B9321E53F5089900020064103D
SHA1 Hash           : 3b84e88d6bcf868daaecc0a976855c52307855ac
SubjKeyID           : 3ac9877d6f864907d7d1830c0861d4bac50ce258
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before    : 28/05/2024  08:14:16 UTC
Not valid after     : 28/07/2024  08:24:16 UTC
PrivateKey Link     : Yes                 
Container           : HDIMAGE\\7911ea6c.000\A647
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info       : ProvType: 80, KeySpec: 1, Flags: 0x0
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(2).crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(2).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2
=============================================================================

[ErrorCode: 0x00000000]
Offline nickm  
#4 Оставлено : 5 июня 2024 г. 6:22:03(UTC)
nickm

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

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

Сказал(а) «Спасибо»: 588 раз
Поблагодарили: 426 раз в 405 постах
Автор: Vitaliy574 Перейти к цитате
Сейчас я предполагаю, что да, сертификат в контейнере, т.к.:

По размеру файла header.key можно предположить, а по содержимому однозначно сказать, есть ли сертификат в контейнере или нет.

Из приведённого вывода контейнеров, предположительно, в одном из трёх сертификат в контейнере.

Автор: Vitaliy574 Перейти к цитате
К сожалению, я не очень глубоко вник в механику крипто про, что бы точно ответить на Ваш вопрос.

Вникните/ разберитесь что у Вас на руках, выберите Ваш случай, а после произведите установку сертификата с привязкой к контейнеру выше указанными командами.
Offline Vitaliy574  
#5 Оставлено : 6 июня 2024 г. 14:12:59(UTC)
Vitaliy574

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

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

Разобрался с терминологией.

У меня есть контейнеры с ключами (как посмотреть ключи в контейнере я не нашел, кроме как установить в хранилище сертификатов и посмотреть)
Комана установки ключей в хранилище сертификатов у меня правильная.
Код:
certmgr -inst -cont '\\.\HDIMAGE\dd037265d-41c6-85aa-8765-1b89d3c88d0'

https://cryptopro.ru/sit...t/files/docs/certmgr.pdf
-cont указывает из какого контейнера взять ключи, это допустимый параметр

В контейнерах действительно не было сертификатов, т.к. на последнем этапе выпуска в тестовом удостоверяющем центре я сам сертификат не сохранил (а контейнер под него создался)
Код:
$ cat /var/opt/cprocsp/keys/develop/dd037265.000/header.key 
0r0j�
*�%�0%�*�0*�*���	�V���޺���!*�%
0�20250831153429Z����


$ cat /var/opt/cprocsp/keys/develop/7911ea6c.000/header.key 
0�0���
*�%@0%�*�0*�*�����0��0�1�d=�2S�d=0
*�01#0!	support@cryptopro.ru1
UMoscow10U                   0	URU10
24072808testuser13@mcx.gov.ru10Ut Center 20

testuser131
           0	U

                 it1
                    0
U

Ucx10
Umoscow10
moscow1
       0	URU0f*�0*�*�C@�}�4�m�{P']���a���~��%�4{轳�����>�٘u�$�U�H��GcK�	��O�6x��v0�r0U��0U%
                                                                                                   0
+0U:ɇ}o�I�у
          aԺ�
             �X0U#0������J�����-�70\UU0S0Q�O�M�Khttp://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(2).crl0�+��0��0+0�Xhttp://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(2).crt0+0�(http://testca.cryptopro.ru/ocsp/ocsp.srf0
*�APvT���~��
�����6��f������3�}�4�m�!*�%
0�20250828082410Z�}�\


Спасибо, вопрос решен.

GetKeyParam error появляется, если в контейнере нет ключей
Offline nickm  
#6 Оставлено : 6 июня 2024 г. 14:31:24(UTC)
nickm

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

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

Сказал(а) «Спасибо»: 588 раз
Поблагодарили: 426 раз в 405 постах
Автор: Vitaliy574 Перейти к цитате
Разобрался с терминологией.
...
Команда установки ключей в хранилище сертификатов у меня правильная.
...
-cont указывает из какого контейнера взять ключи, это допустимый параметр


Цитата:
-container <name>
Указать имя контейнера с сертификатом или закрытым ключом. Имя имеет формат вида \\.\reader\name. Если опция -file не была указана, закрытый ключ и сертификат будут взяты из указанного контейнера. Контейнер может быть указан в виде строки 'skip', в таком случае в сертификате не будет создана ссылка на закрытый ключ.

<Режим зануды включён>

Сначала Вы пишите команду установки сертификата из контейнера, но не указываете файл сертификата при этом комментируете так:
Автор: Vitaliy574 Перейти к цитате
При установке такого сертификата - ошибка.


После Вы предполагаете, что:
Автор: Vitaliy574 Перейти к цитате
Сейчас я предполагаю, что да, сертификат в контейнере, т.к.:


После Вы путаете сертификат (открытый ключ) с ключом (закрытый ключ) (обычно про ключевую пару говорят как, сертификат и ключ):
Автор: Vitaliy574 Перейти к цитате
У меня есть контейнеры с ключами (как посмотреть ключи в контейнере я не нашел, кроме как установить в хранилище сертификатов и посмотреть)


После Вы пишете, что:
Автор: Vitaliy574 Перейти к цитате
У меня есть контейнеры с ключами (как посмотреть ключи в контейнере я не нашел, кроме как установить в хранилище сертификатов и посмотреть)

, хотя чуть выше об этом сказано:

Автор: nickm Перейти к цитате
По размеру файла header.key можно предположить, а по содержимому однозначно сказать, есть ли сертификат в контейнере или нет.

Из приведённого вывода контейнеров, предположительно, в одном из трёх сертификат в контейнере.


</Режим зануды выключён>

Отредактировано пользователем 6 июня 2024 г. 14:33:11(UTC)  | Причина: Не указана

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