Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: manigu  Автор: Kirill Sobolev  Неправильно. Путаете szOID_SUBJECT_KEY_IDENTIFIER с szOID_ENHANCED_KEY_USAGE. А как должно быть? Везде указать szOID_SUBJECT_KEY_IDENTIFIER или szOID_ENHANCED_KEY_USAGE? Вы с постановкой задачи для себя определились? Названия OID-ов Вам ничего не говорят? |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Андрей *  Автор: manigu  Автор: Kirill Sobolev  Неправильно. Путаете szOID_SUBJECT_KEY_IDENTIFIER с szOID_ENHANCED_KEY_USAGE. А как должно быть? Везде указать szOID_SUBJECT_KEY_IDENTIFIER или szOID_ENHANCED_KEY_USAGE? Вы с постановкой задачи для себя определились? Названия OID-ов Вам ничего не говорят? Сделал с 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("ture \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);
CryptGetHashParam(hCryptProv, HP_HASHVAL, SubjectKeyIdentifier, &cbNameEncoded, 0);
CertExtension.pszObjId = szOID_ENHANCED_KEY_USAGE;
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; //2
rgAttrib.rgValue = CertAttrBlob;
CertReqInfo.cAttribute = 1;
CertReqInfo.rgAttribute = &rgAttrib;
Отредактировано пользователем 20 октября 2014 г. 17:46:24(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы готовые для захвата: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Вот это не нужно : Код: LPBYTE SubjectKeyIdentifier = NULL;
SubjectKeyIdentifier = (LPBYTE)HeapAlloc(GetProcessHeap(), 0, cbNameEncoded);
CryptGetHashParam(hCryptProv, HP_HASHVAL, SubjectKeyIdentifier, &cbNameEncoded, 0);
Нужно Код:CertExtension.Value.pbData = pbKeyUsage;
|
|
 1 пользователь поблагодарил Кирилл Соболев за этот пост.
|
manigu оставлено 21.10.2014(UTC)
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Kirill Sobolev  Вот это не нужно : Код: LPBYTE SubjectKeyIdentifier = NULL;
SubjectKeyIdentifier = (LPBYTE)HeapAlloc(GetProcessHeap(), 0, cbNameEncoded);
CryptGetHashParam(hCryptProv, HP_HASHVAL, SubjectKeyIdentifier, &cbNameEncoded, 0);
Нужно Код:CertExtension.Value.pbData = pbKeyUsage;
Всё равно выдает ошибку. Пользователь manigu прикрепил следующие файлы:  error10.jpg (50kb) загружен 13 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 27.01.2012(UTC) Сообщений: 338
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 41 раз в 41 постах
|
Добрый день. Пришлите пожалуйсте журнал приложений событий от сервера ЦС или напишите последние событии по данной ошибке.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Мясников Роман  Добрый день. Пришлите пожалуйсте журнал приложений событий от сервера ЦС или напишите последние событии по данной ошибке. Извините что так долго. Вот что выдает журнал событий. Отредактировано пользователем 5 ноября 2014 г. 12:17:08(UTC)
| Причина: Не указана Пользователь manigu прикрепил следующие файлы:  error1.jpg (80kb) загружен 24 раз(а). error2.jpg (82kb) загружен 16 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Мясников Роман  Добрый день. Пришлите пожалуйсте журнал приложений событий от сервера ЦС или напишите последние событии по данной ошибке. Журнал в формате .evtx и запрос на сертификат. Вложение(я):  el.rar (74kb) загружен 4 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 27.01.2012(UTC) Сообщений: 338
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 41 раз в 41 постах
|
Выпустить сертификат по данному запросы вы можете, если убрать галку в ЦС - модуль политики - свойтсва - прочие настройки - "Проверять кодировку имени владельца при выпуске сертификата". Выполнена кодировка ИНН не правильно: Tag:30 (0x1E) : BMP STRING Offset: 217 (0x000000D9) Length: 24 (0x00000018) Deepness: 5 Path: /0/1/5/0/1
Кодировать ИНН нужно в соответствии с рекомендациями ФСБ. Правиьльная кодировка ИНН - NUMERIC STRING.
|
 1 пользователь поблагодарил Мясников Роман за этот пост.
|
manigu оставлено 05.11.2014(UTC)
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.08.2010(UTC) Сообщений: 38 Откуда: Санкт-Петербург
Сказал(а) «Спасибо»: 21 раз
|
Автор: Мясников Роман  Выпустить сертификат по данному запросы вы можете, если убрать галку в ЦС - модуль политики - свойтсва - прочие настройки - "Проверять кодировку имени владельца при выпуске сертификата". Выполнена кодировка ИНН не правильно: Tag:30 (0x1E) : BMP STRING Offset: 217 (0x000000D9) Length: 24 (0x00000018) Deepness: 5 Path: /0/1/5/0/1
Кодировать ИНН нужно в соответствии с рекомендациями ФСБ. Правиьльная кодировка ИНН - NUMERIC STRING.
Изменил кодировку на CERT_RDN_NUMERIC_STRING. Ошибка не исчезла. Вложение(я):  el2.rar (78kb) загружен 2 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 27.01.2012(UTC) Сообщений: 338
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 41 раз в 41 постах
|
|
 1 пользователь поблагодарил Мясников Роман за этот пост.
|
manigu оставлено 05.11.2014(UTC)
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close