Статус: Участник
Группы: Участники
Зарегистрирован: 16.04.2015(UTC) Сообщений: 27 Откуда: Ярославль Сказал(а) «Спасибо»: 2 раз
|
Собственно проблема в чем, в приложении не получалось программно подписать сообщение, отваливалось при попытке вызвать функцию CryptAcquireCertificatePrivateKey, код ошибки 0x8009200B. Думал проблема в коде. Решил проверить стандартными средствами. Создал запрос не сертификат, выпустил его на тестовом стенде, установил в контейнер. Что имею: Код:[prog@tsd-prog56 ia32]$ ./certmgr -list
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : CN=TEST-TENSOR-CA
Subject : SNILS=10000000009, INN=003663093485, E=alyabin@tensor.ru, UnstructuredName="INN=3663093485/KPP=366301001", O="Дельта, ООО
Serial : 0x7AB585BB000000000CA5
SHA1 Hash : 0x68c418e895c977387b22c98f98afa50979680366
Not valid before : 15/09/2015 13:54:00 UTC
Not valid after : 15/12/2016 14:04:00 UTC
PrivateKey Link : Yes. Container : HDIMAGE\\4a216ccd.000\AE31
=============================================================================
[ErrorCode: 0x00000000]
[prog@tsd-prog56 ia32]$
Код:[prog@tsd-prog56 ia32]$ ./csptest -keyset -check -cont '\\.\HDIMAGE\4a216ccd-3687-403a-8652-94d3694cfbea'
CSP (Type:75) v3.9.8001 KC1 Release Ver:3.9.8227 OS:Linux CPU:IA32 FastCode:READY:SSSE3.
AcquireContext: OK. HCRYPTPROV: 144022547
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "4a216ccd-3687-403a-8652-94d3694cfbea"
Check header passed.
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x89e85db
Check container passed.
Check sign passed.
Check import passed.
Certificate in container matches AT_KEYEXCHANGE key.
Keys in container:
exchange key
Total:
[ErrorCode: 0x00000000]
Вроде все хорошо, но при попытке подписать сообщение получаю следующее: Код:[prog@tsd-prog56 ia32]$ ./cryptcp -sign -f ~/test_linux.cer ~/test.test ~/test.test.sign
CryptCP 3.41 (c) "Crypto-Pro", 2002-2013.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN:76 Ярославская область
Valid from 15.09.2015 13:54:00 to 15.12.2016 14:04:00
Certificate chain is not checked for this certificate:
RDN:76 Ярославская область
Valid from 15.09.2015 13:54:00 to 15.12.2016 14:04:00
The certificate or certificate chain is based on an untrusted root.
Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?y
Certificate chains are checked.
Folder '/home/prog/':
/home/prog/test.test... Error: Can not get certificate private key.
/dailybuildsbranches/CSP_3_9/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:251: 0x20000136
[ErrorCode: 0x20000136]
[prog@tsd-prog56 ia32]$
Думал что закончился срок действия лицензии и запрещено работать с закрытым ключом, проверил: Код:[prog@tsd-prog56 ia32]$ ./cpconfig -license -view
Server license:
39390-Z0037-EA3YG-GRQED-E6LPZ
Expires: 23 day(s)
Client license:
39390-Z0037-EA3YG-GRQED-E6LPZ
Expires: 23 day(s)
И дальше понять вообще ничего не смог. Может кто-нибудь подскажет в чем может быть проблема? Не понимаю работу Вашего механизма. Вроде сертификат связан с закрытым ключом, а работать с ним все равно нет возможности. Как так?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close