Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.04.2008(UTC) Сообщений: 85
Поблагодарили: 9 раз в 6 постах
|
Приветствую, коллеги. Пытаюсь добавить в запрос, формируемый через ICEnroll4 расширение SubjectAltName, с помощью ICertEncodeAltName. Завис на том, что в методе SetNameEntry для типа CERT_ALT_NAME_OTHER_NAME значением должно быть: Цитата:The name consists of an object identifier (OID) and a binary BLOB. Никак не соображу в каком формате передавать, к примеру такое значение: Код:OID.1.2.643.100.5=369900000000000
В результате надо получить похожее на это: Код:SEQUENCE {
OBJECT IDENTIFIER subjectAltName (2 5 29 17)
OCTET STRING, encapsulates {
SEQUENCE {
[4] {
SEQUENCE {
SET {
SEQUENCE {
OBJECT IDENTIFIER '1 2 643 100 5'
NumericString '369900000000000'
}
}
}
}
}
}
}
}
Пробовал разные варианты: Код:CertEnc.SetNameEntry($80000000, CERT_ALT_NAME_OTHER_NAME, ...);
и
CertEnc.SetNameEntry(0, CERT_ALT_NAME_OTHER_NAME, ...);
Со строкой в качестве значения проглатывает, но метод Encode выдает ошибку что "Параметр задан неверно". Пробовал подсунуть туда бинарные данные, вытащенные из рабочего сертификата, метод SetNameEntry сразу выдает "Неверные аргументы ASN1 при вызове функции". Может кто подскажет как надо? Спасибо.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Вариант со строкой должен проходить. Чтобы правильно передать бинарные данные в виде строки можно воспользоваться CAPICOM.Utilities ByteArrayToBinaryString. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.04.2008(UTC) Сообщений: 85
Поблагодарили: 9 раз в 6 постах
|
Удалось таки распарсить бинарные данные из рабочего сертификата с помощью IUtilities.HexToBinary и подсунув ответ в ICertEncodeAltName.Decode.
Вместо CERT_ALT_NAME_OTHER_NAME для добавления ОГРНИП (OID.1.2.643.100.5) надо использовать CERT_ALT_NAME_DIRECTORY_NAME.
Но как создать всю описанную выше цепочку вложенности не понятно.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
ASN.1 структура создается при вызове метода ICertEncodeAltName::Encode. |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close