Информация о запросе сертификата на PKCS # 10 будет подписана - PullRequest
1 голос
/ 23 июня 2011

Я делаю код, который должен создать PKCS # 10.Чтобы сделать это, я должен подписать свою «Информацию о запросе сертификата», но когда я это сделаю, приложение говорит, что подпись недействительна.

Я использую OpenSSL.exe для проверки P10, иошибка была: «ANS1_CHECK_TLEN: неправильный тег».Я думаю, что я подписываю то, что не должен, поэтому мой вопрос в том, какой точный формат «Информации о запросе сертификата» я должен подписать?

Я знаю, что она должна начинаться с последовательности, носпецификация p10 сообщает:

"Процесс подписи состоит из двух этапов:

  1. Значение компонентаtificationRequestInfo кодируется с помощью DER, что дает строку октета.
  2. Результат шага 1 подписывается личным ключом субъекта запроса на сертификацию в соответствии с указанным алгоритмом подписи, в результате чего получается битовая строка и подпись. "

Я не уверен, что начало должно быть ПОСЛЕДОВАТЕЛЬНО(0x30 0x82 "длина> 256") или строка OCTET (0x04 0x82 "длина> 256"), в соответствии с ANS.1.

Если кто-то, пожалуйста, дайте мне ответ, как в этом сообщении,я мог бы быть самым счастливым человеком в мире.Большое спасибо:

Запрос PKCS # 10 для пары ключей объекта от PKCS # 11

REgards, Дэвид М.

1 Ответ

0 голосов
/ 24 июня 2011

Шаг # 1 стандарта PKCS # 10 говорит о строке октетов в результате кодирования элемента certificationRequestInfo и не относится к типу ASN.1. Сигнатура запроса вычисляется для этого DER-кодирования, и поэтому объект для подписи является ASN.1 SEQUENCE, а не OCTET STRING.

...