logo Обзор КриптоПро NGate для защищённого доступа к корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline petrov.ro  
#1 Оставлено : 23 мая 2013 г. 14:54:36(UTC)
petrov.ro

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

Группы: Участники
Зарегистрирован: 11.01.2013(UTC)
Сообщений: 3

Добрый день, подскажите в чем может быть дело, получаю параметр Issuer из сертификата и перекодирую его функцией CertNameToStr(X509_ASN_ENCODING, &pcInfo->Issuer, CERT_X500_NAME_STR, lpResult, dwLenResult);

В результате получается строка: "OID.1.2.643.100.1=1045002007984, OID.1.2.643.3.131.1.1=005009046312, STREET=ул. Ленина д. 1, E=uc@technokad.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО ТЕСТ, OU=Удостоверяющий центр, CN=CA TEST" которую сохраняю. В дальнейшем пытаюсь получить сертификат из хранилища:

Код:

CERT_INFO ciFind;

// запись серийного номера
TCHAR* szSerial=L"201c37f3000000003a67";
StringToByte(szSerial, &ciFind.SerialNumber.pbData, &ciFind.SerialNumber.cbData);

// перекодировка издателя szIssuer=L"OID.1.2.643.100.1=1045002007984,...
CertStrToName(X509_ASN_ENCODING, szIssuer, CERT_X500_NAME_STR, NULL, ciFind.Issuer.pbData, &ciFind.Issuer.cbData, NULL);

// поиск сертификата
pCert = CertFindCertificateInStore(hStoreHandle, MY_TYPE, 0, CERT_FIND_SUBJECT_CERT, &ciFind, NULL)


Однако сертификат найти не удается. Побайтовое сравнение показывает, что результат работы CertStrToName не соответствует тому, что подается на вход CertNameToStr. При этом, если использовать сертификат тестового УЦ, в котором издатель "E=info@cryptopro.ru, C=RU, O=CRYPTO-PRO, CN=Test Center CRYPTO-PRO" то кодируется/декодируется корректно, может дело в кириллических символах?
Offline Kirill Sobolev  
#2 Оставлено : 23 мая 2013 г. 15:55:46(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,731
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 175 раз в 167 постах
ОГРН ИНН правильно зарегистрированы?
Техническую поддержку оказываем тут
Наша база знаний
Offline petrov.ro  
#3 Оставлено : 23 мая 2013 г. 17:28:44(UTC)
petrov.ro

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

Группы: Участники
Зарегистрирован: 11.01.2013(UTC)
Сообщений: 3

Автор: Kirill Sobolev Перейти к цитате
ОГРН ИНН правильно зарегистрированы?


Зарегистрировал, теперь функция CertNameToStr() выдает строку "OGRN=1045002007984, INN=005009046312, STREET=ул. Ленина д. 1, E=uc@technokad.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО ТЕСТ, OU=Удостоверяющий центр, CN=CA TEST", однако проблему это не решило. Проблема в кириллице?

Offline Kirill Sobolev  
#4 Оставлено : 24 мая 2013 г. 11:04:49(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,731
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 175 раз в 167 постах
Цитата:
Зарегистрировал

Как именно? 795 приказу соответствует?
Техническую поддержку оказываем тут
Наша база знаний
Offline petrov.ro  
#5 Оставлено : 24 мая 2013 г. 12:34:42(UTC)
petrov.ro

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

Группы: Участники
Зарегистрирован: 11.01.2013(UTC)
Сообщений: 3

Автор: Kirill Sobolev Перейти к цитате
Как именно? 795 приказу соответствует?


ОГРН регистрировал так (пример с сайта крипто-про):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\1.2.643.100.1!5]
"Name"="OGRN"
"CPExtraInfo"=dword:00000001

ИНН:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptDllFindOIDInfo\1.2.643.3.131.1.1!5]
"Name"="INN"

В приказе еще написано про атрибут NUMERIC STRING SIZE, но как его записать в реестр?
1) OGRN (ОГРН).
Значением атрибута OGRN является строка, состоящая из 13 цифр и представляющая ОГРН владельца квалифицированного сертификата - юридического лица. Объектный идентификатор типа атрибута OGRN имеет вид 1.2.643.100.1, тип атрибута OGRN описывается следующим образом:
OGRN ::= NUMERIC STRING SIZE 13;

3) INN (ИНН).
Значением атрибута INN является строка, состоящая из 12 цифр и представляющая ИНН владельца квалифицированного сертификата. Объектный идентификатор типа атрибута INN имеет вид 1.2.643.3.131.1.1, тип атрибута INN описывается следующим образом: INN ::= NUMERIC STRING SIZE 12.

Offline Kirill Sobolev  
#6 Оставлено : 24 мая 2013 г. 14:33:54(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,731
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 175 раз в 167 постах
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.