16.11.2007 14:00:56Не могу создать УЭЦП Ответов: 2
Артем
Использую КриптоАРМ СтандартПро
Пытаюсь создать УЦП.
Получаю следующий результат:

Статус завершения операции: Неудача.
Длительность выполнения операции: 0:00:03.
Входной файл: C:\1.txt
Выходной файл: <не был создан>
Описание ошибки:
Ошибка сохранения сообщения (0x80004005)
Ошибка сохранения сообщения (0x80004005)
Произошла ошибка при создании подписи
Ошибка создания атрибутов усовершенствованной подписи
Произошла внутренняя ошибка в цепочке сертификатов. 0x800b010a)

Причем проверка статусов сертификатов с использованием OCSP проходит (встроенная в криптоАРМ)

Тесты с ocsputil и tsputil тоже не выдают никаких ошибок(выдаются ответы с верными подписями).

Я так понимаю это связано с сертификатом оператора OCSP.

Просмотрел требования http://www.cryptopro.ru/CryptoPro/documentation/cpdn/content/cades/reference.html

Все что там написано реализовано.

сертификат оператора OCSP такой:
C:\OCSPSetup>certutil ocspoperatorlast.cer
X509 Certificate:
Version: 3
Serial Number: 1427ca3300000000001e
Signature Algorithm:
Algorithm ObjectId: 1.2.643.2.2.3 ???? ? 34.11/34.10-2001
Algorithm Parameters:
05 00
Issuer:
CN=StandROOTCA

NotBefore: 16.11.2007 11:46
NotAfter: 16.11.2008 11:56

Subject:
CN=????? ????? ????????
OU=????????
O=???? ????????? ???????????
L=?????-?????????
C=RU
E=chekhov@PKIdemo

Public Key Algorithm:
Algorithm ObjectId: 1.2.643.2.2.19 ???? ? 34.10-2001
Algorithm Parameters:
0000 30 12 06 07 2a 85 03 02 02 24 00 06 07 2a 85 03
0010 02 02 1e 01
Public Key Length: 512 bits
Public Key: UnusedBits = 0
0000 04 40 c4 34 bd d3 4d d0 a0 c7 a2 dd 1d 7a 77 ff
0010 3d 2b 5e ca 28 ef 8c ed 48 14 49 a4 91 cb 85 da
0020 e3 5e b5 8c 95 59 fe 9c a5 8e 73 b3 89 e0 f0 0b
0030 87 7d 7a b1 8e bd 2b 2a c8 6c 9c 8f 28 d0 ff 29
0040 37 d3
Certificate Extensions: 5
2.5.29.14: Flags = 0, Length = 16
Subject Key Identifier
6c d9 8e ea 1b 32 3b 68 e7 d6 a1 43 a6 65 35 96 bf ea 4e fd

2.5.29.37: Flags = 0, Length = 17
Enhanced Key Usage
??????? ?????? ?????? OCSP (1.3.6.1.5.5.7.3.9)
Unknown Key Usage (1.3.6.1.5.5.7.48.1.5)

2.5.29.15: Flags = 0, Length = 4
Key Usage
Digital Signature, Non-Repudiation (c0)

2.5.29.35: Flags = 0, Length = 18
Authority Key Identifier
KeyID=07 81 39 d4 c0 56 a4 0c a4 3d 34 18 e3 dd d1 3e e8 76 d7 8c

1.3.6.1.5.5.7.1.1: Flags = 0, Length = 6e
Authority Information Access
[1]Authority Info Access
Access Method=Certification Authority Issuer (1.3.6.1.5.5.7.48.2)
Alternative Name:
URL=http://uc/CertEnroll/UC_StandROOTCA.crt
[2]Authority Info Access
Access Method=Certification Authority Issuer (1.3.6.1.5.5.7.48.2)
Alternative Name:
URL=file://\\UC\CertEnroll\UC_StandROOTCA.crt

Signature Algorithm:
Algorithm ObjectId: 1.2.643.2.2.3 ???? ? 34.11/34.10-2001
Algorithm Parameters:
05 00
Signature: UnusedBits=0
0000 e6 f1 6d 72 ef 5c 1e ac 4b 57 8c 37 05 78 92 d3
0010 1b df 55 65 0f 75 80 e5 ae 7b 61 d2 ee be 61 7e
0020 91 fa 5d 42 88 8b 70 3c cf 2b ff 94 4a 95 d2 82
0030 14 af c9 0a 33 5b ee 78 42 82 71 bb 11 d7 75 34
Non-root Certificate
Key Id Hash(sha1): 6c d9 8e ea 1b 32 3b 68 e7 d6 a1 43 a6 65 35 96 bf ea 4e fd
Cert Hash(md5): f5 41 ce 80 d2 fd 32 d7 43 44 5f 8c f5 ae 18 36
Cert Hash(sha1): b3 4e d0 32 63 87 d0 32 69 34 0f 96 bb 99 98 88 8e 5d c3 93
CertUtil: -dump command completed successfully.

В чем еще может быть дело?
 
Ответы:
16.11.2007 18:06:41Артем
Извиняюсь. Протормозил.
Теперь понял, почему не работает.
Я включил оид 1.3.6.1.5.5.7.48.1.5 в EKU, а надо было его как расширение добавлять.

Проблему решил.

Приложу сюда так же алгоритм выпуска сертификата OCSP оператора при помощи ЦС от Microsoft (Win2003 server)

1.На ocsp сервере создаем файл ocspoperator.inf со следующим содержанием:

[Version]
Signature= "$Windows NT$"
[NewRequest]
Subject = "CN=Оператор службы OCSP"
KeySpec = 1
KeyLength = 512
Exportable = TRUE
MachineKeySet = FALSE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"
ProviderType = 75
RequestType = PKCS10
KeyUsage = 0xc0
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.9
[Extensions]
1.3.6.1.5.5.7.48.1.5=BQA=
2. Выполняем комманду certeq -new ocspoperator.inf oscpoperator.p10
3. Выполняем на сервере ЦС комманду certutil -v -setreg policy\EnableRequestExtensionList +1.3.6.1.5.5.7.48.1.5
4. Отправляем запрос oscpoperator.p10 ЦС через веб интерфейс
5. На сервере ЦС выполняем комманду
echo 05 00>ocspnocheck.txt
6. На сервере ЦС выполняем комманду
certutil -setextension {здесь ID запроса} 1.3.6.1.5.5.7.48.1.5 0 @ocspnocheck.txt
7. Выпускаем сертифкат на сервере ЦС
8. Скачиваем сертификат на сервер OCSP
9. Выполняем комманду
certreq -accept {имя файла сертификата оператора OCSP}
З.Ы. Все это работает если ЦС и OCSP сервер установлены под управлением Windows 2003 server. ЦС установлен как stand alone.


Техподдержке на форуме БОЛЬШОЙ МИНУС. (За целый день так никто и не ответил)
20.11.2007 18:07:22Артем
Небольшая поправка к способу выпуска сертификата для оператора службы OCSP:

1.На ocsp сервере создаем файл ocspoperator.inf со следующим содержанием:

[Version]
Signature= "$Windows NT$"
[NewRequest]
Subject = "CN=Оператор службы OCSP"
KeySpec = 1
KeyLength = 512
Exportable = TRUE
MachineKeySet = FALSE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"
ProviderType = 75
RequestType = PKCS10
KeyUsage = 0xc0
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.9
[Extensions]
1.3.6.1.5.5.7.48.1.5= Empty
2. Выполняем комманду certeq -new ocspoperator.inf oscpoperator.p10
3. Выполняем на сервере ЦС комманду certutil -v -setreg policy\EnableRequestExtensionList +1.3.6.1.5.5.7.48.1.5
4. Отправляем запрос oscpoperator.p10 ЦС через веб интерфейс
5. Выпускаем сертифкат на сервере ЦС
6. Скачиваем сертификат на сервер OCSP
7. Выполняем комманду
Certreq -accept {имя файла сертификата оператора}