Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Как добавить в запрос на сертификат Subject Key Identifier? Не могу разобрать как его добавить.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: manigu  Как добавить в запрос на сертификат Subject Key Identifier? Не могу разобрать как его добавить. Как пробовали? |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Андрей *  Автор: manigu  Как добавить в запрос на сертификат Subject Key Identifier? Не могу разобрать как его добавить. Как пробовали? Знаю что не правильно, в интернете не смог ничего найти. Код:
rgNameAttr[i].pszObjId = "2.5.29.14";
rgNameAttr[i].dwValueType = CERT_RDN_PRINTABLE_STRING;
rgNameAttr[i].Value.cbData = strlen("1.3.6.1.5.5.7.3.4");
rgNameAttr[i].Value.pbData = (BYTE*)"1.3.6.1.5.5.7.3.4";
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Кстати, а зачем его добавлять? |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Андрей *  Кстати, а зачем его добавлять? Видимо я не правильно выразился Мне нужно сделать так что бы в поле Улучшенный ключ, было: Код:
Защищенная электронная почта (1.3.6.1.5.5.7.3.4)
Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)
Пользователь manigu прикрепил следующие файлы:  noname.jpg (76kb) загружен 19 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: manigu  Автор: Андрей *  Кстати, а зачем его добавлять? Видимо я не правильно выразился Мне нужно сделать так что бы в поле Улучшенный ключ, было: Код:
Защищенная электронная почта (1.3.6.1.5.5.7.3.4)
Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)
Точно. Нужно добавить в расширение улучшенный ключ - OID? по памяти: Заполнить CERT_ENHKEY_USAGE CryptEncodeObject(... X509_ENHANCED_KEY_USAGE, CertEnhKeyUsage ... выделить память CryptEncodeObject (...) и добавить в массив расширений CryptEncodeObject( .. szOID_CERT_EXTENSIONS ... ) |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
manigu оставлено 29.09.2014(UTC)
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Воспользуйтесь поиском по форуму по ключевым словам, например: szOID_ENHANCED_KEY_USAGE Например, вот этот пример кода по работе с расширением. |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
manigu оставлено 29.09.2014(UTC)
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Андрей *  Воспользуйтесь поиском по форуму по ключевым словам, например: szOID_ENHANCED_KEY_USAGE Например, вот этот пример кода по работе с расширением. Попробовал добавить "Защищенная электронная почта" и "Аутентификация клиента". АРМ выдаёт ошибку. Вот код, правильно ли я пытаюсь это сделать? Код:
CERT_ENHKEY_USAGE keyUsage;
DWORD cbkeyUsage;
LPBYTE pbkeyUsage;
CERT_EXTENSION CertExtension = { 0 };
CERT_EXTENSIONS CertExtentions = { 0 };
keyUsage.cUsageIdentifier = 2;
keyUsage.rgpszUsageIdentifier = (LPSTR*)malloc(sizeof(LPSTR)*keyUsage.cUsageIdentifier);
keyUsage.rgpszUsageIdentifier[0] = "1.3.6.1.5.5.7.3.4";
keyUsage.rgpszUsageIdentifier[1] = "1.3.6.1.5.5.7.3.2";
if (CryptEncodeObject(
MY_ENCODING_TYPE,
X509_ENHANCED_KEY_USAGE,
(LPVOID)&keyUsage,
NULL,
&cbNameEncoded))
{
printf("true \n");
}
else {
printf("false \n");
return false;
}
pbkeyUsage = (LPBYTE)HeapAlloc(GetProcessHeap(), 0, cbNameEncoded);
if (CryptEncodeObject(
MY_ENCODING_TYPE,
X509_ENHANCED_KEY_USAGE,
(LPVOID)&keyUsage,
pbkeyUsage,
&cbNameEncoded))
{
printf("true \n");
}
else {
printf("false \n");
return false;
}
LPBYTE SubjectKeyIdentifier = NULL;
SubjectKeyIdentifier = (LPBYTE)HeapAlloc(GetProcessHeap(), 0, cbNameEncoded);
CertExtension.pszObjId = szOID_SUBJECT_KEY_IDENTIFIER;
CertExtension.fCritical = FALSE;
CertExtension.Value.cbData = cbNameEncoded;
CertExtension.Value.pbData = SubjectKeyIdentifier;
CertExtentions.cExtension = 1;
CertExtentions.rgExtension = &CertExtension;
CRYPT_ATTR_BLOB CertAttrBlob[1] = { 0 };
CryptEncodeObject(MY_ENCODING_TYPE, szOID_CERT_EXTENSIONS, &CertExtentions, NULL, &CertAttrBlob[0].cbData);
CertAttrBlob[0].pbData = (LPBYTE)malloc(CertAttrBlob[0].cbData);
CryptEncodeObject(MY_ENCODING_TYPE, szOID_CERT_EXTENSIONS, &CertExtentions, CertAttrBlob[0].pbData, &CertAttrBlob[0].cbData);
CRYPT_ATTRIBUTE rgAttrib = { 0 };
rgAttrib.pszObjId = szOID_CERT_EXTENSIONS;
rgAttrib.cValue = 1;
rgAttrib.rgValue = CertAttrBlob;
CertReqInfo.cAttribute = 1;
CertReqInfo.rgAttribute = &rgAttrib;
Отредактировано пользователем 17 октября 2014 г. 17:49:36(UTC)
| Причина: Не указана Вложение(я):  Тест1.bmp (577kb) загружен 1 раз(а).Пользователь manigu прикрепил следующие файлы:  тест2.JPG (42kb) загружен 12 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Неправильно. Путаете szOID_SUBJECT_KEY_IDENTIFIER с szOID_ENHANCED_KEY_USAGE. |
|
 1 пользователь поблагодарил Кирилл Соболев за этот пост.
|
manigu оставлено 21.10.2014(UTC)
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Kirill Sobolev  Неправильно. Путаете szOID_SUBJECT_KEY_IDENTIFIER с szOID_ENHANCED_KEY_USAGE. А как должно быть? Везде указать szOID_SUBJECT_KEY_IDENTIFIER или szOID_ENHANCED_KEY_USAGE?
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close