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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline avrik  
#1 Оставлено : 4 марта 2015 г. 13:42:04(UTC)
avrik

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

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

Сказал(а) «Спасибо»: 4 раз
С помощью этой формы http://www.cryptopro.ru/certsrv/certrqma.asp получил сертификат в виде base64 строки. На токене при этом сгенерировались ключи. Потом через КриптоПро CSP засунул сертификат в этот контейнер.

Чек контейнера в КриптоПро CSP:
Цитата:

Check container succeed no errors were detected
Private key container
name CoolContainer
unique name SCARD\rutoken_ecp_31935d13\0A00\0877
FQCN \\.\Aktiv Rutoken ECP 0\CoolContainer
container integrity check succeed
Exchange key available
public key export succeed
public key import succeed
signing succeed
verifying succeed
exchange key agreement succeed
key export disallowed
algorithm GOST R 34.10-2001 DH
GOST R 34.10-2001, default exchange parameters
GOST R 34.11-94, default parameters
certificate in container match private key
certificate in store My
E=vacherep@gmail.com, CN=Valentin, OU=1, O=iCraft, L=Novosibirsk, S=NSO, C=RU
SCARD\rutoken_ecp_31935d13\0A00\0877; Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider#75; dwFlags: 0x00000000; dwKeySpec: 1
Request
E=vacherep@gmail.com, CN=Valentin, OU=1, O=iCraft, L=Novosibirsk, S=NSO, C=RU
SCARD\rutoken_ecp_31935d13\0A00\0877; Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider#75; dwFlags: 0x00000000; dwKeySpec: 1
certificate name Valentin
subject E=vacherep@gmail.com, CN=Valentin, OU=1, O=iCraft, L=Novosibirsk, S=NSO, C=RU
issuer E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
valid from Tuesday, March 03, 2015 1:05:02 PM
valid to Wednesday, June 03, 2015 1:15:02 PM
serial number 1200 0299 394D 5CA3 04CC 8799 4900 0000 0299 39
Signature key not available
keys loading succeed



В примере КриптоПро где подписывается файл, используется сертификат. Достается он с помощью функции CertOpenSystemStore(). Вопрос - как достать сертификат из токена?
Offline Dmitry_Bokovikov  
#2 Оставлено : 4 марта 2015 г. 15:30:11(UTC)
Dmitry_Bokovikov

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

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

Поблагодарили: 18 раз в 17 постах
Автор: avrik Перейти к цитате
С помощью этой формы http://www.cryptopro.ru/certsrv/certrqma.asp получил сертификат в виде base64 строки. На токене при этом сгенерировались ключи. Потом через КриптоПро CSP засунул сертификат в этот контейнер.

Чек контейнера в КриптоПро CSP:
Цитата:

Check container succeed no errors were detected
Private key container
name CoolContainer
unique name SCARD\rutoken_ecp_31935d13\0A00\0877
FQCN \\.\Aktiv Rutoken ECP 0\CoolContainer
container integrity check succeed
Exchange key available
public key export succeed
public key import succeed
signing succeed
verifying succeed
exchange key agreement succeed
key export disallowed
algorithm GOST R 34.10-2001 DH
GOST R 34.10-2001, default exchange parameters
GOST R 34.11-94, default parameters
certificate in container match private key
certificate in store My
E=vacherep@gmail.com, CN=Valentin, OU=1, O=iCraft, L=Novosibirsk, S=NSO, C=RU
SCARD\rutoken_ecp_31935d13\0A00\0877; Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider#75; dwFlags: 0x00000000; dwKeySpec: 1
Request
E=vacherep@gmail.com, CN=Valentin, OU=1, O=iCraft, L=Novosibirsk, S=NSO, C=RU
SCARD\rutoken_ecp_31935d13\0A00\0877; Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider#75; dwFlags: 0x00000000; dwKeySpec: 1
certificate name Valentin
subject E=vacherep@gmail.com, CN=Valentin, OU=1, O=iCraft, L=Novosibirsk, S=NSO, C=RU
issuer E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
valid from Tuesday, March 03, 2015 1:05:02 PM
valid to Wednesday, June 03, 2015 1:15:02 PM
serial number 1200 0299 394D 5CA3 04CC 8799 4900 0000 0299 39
Signature key not available
keys loading succeed



В примере КриптоПро где подписывается файл, используется сертификат. Достается он с помощью функции CertOpenSystemStore(). Вопрос - как достать сертификат из токена?


Если вы знаете имя контейнера можно вызвать CryptAcquireContext с его указанием - получить дескриптор провайдера, потом CryptGetUserKey, CryptGetKeyParam с KP_CERTIFICATE
thanks 1 пользователь поблагодарил Dmitry_Bokovikov за этот пост.
avrik оставлено 05.03.2015(UTC)
Offline booster  
#3 Оставлено : 17 марта 2015 г. 16:08:13(UTC)
booster

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

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

Сказал(а) «Спасибо»: 1 раз
Подскажите пожалуйста, как потом правильно получить контекст PCCERT_CONTEXT этого сертификата? На сколько я понял CertCreateCertificateContext() создает его копию.
Offline Dmitry_Bokovikov  
#4 Оставлено : 17 марта 2015 г. 17:33:29(UTC)
Dmitry_Bokovikov

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

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

Поблагодарили: 18 раз в 17 постах
Автор: booster Перейти к цитате
Подскажите пожалуйста, как потом правильно получить контекст PCCERT_CONTEXT этого сертификата? На сколько я понял CertCreateCertificateContext() создает его копию.


Всё правильно, только после получения cert_context'a вызовом CertCreateCertificateContext надо будет вызвать CertSetCertificateContextProperty c CERT_KEY_PROV_INFO_PROP_ID либо с CERT_KEY_SPEC_PROP_ID для связи сертификата с закрытым ключом, после этого можно вызывать CryptSignMessage
thanks 1 пользователь поблагодарил Dmitry_Bokovikov за этот пост.
booster оставлено 17.03.2015(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.