Статус: Участник
Группы: Участники
Зарегистрирован: 11.12.2017(UTC) Сообщений: 10 Сказал(а) «Спасибо»: 1 раз
|
Добрый день! Столкнулся с проблемой - не получается создать запрос на сертификат с помощью асинхронного API. За основу брал пример с оф сайта: http://cpdn.cryptopro.ru...est-for-certificate.html в синхронном варианте. При попытке создания запроса при вызове Enroll.CreateRequest вылезает ошибка: "Internal error. (0x8009001D)" без каких-либо дополнительных объяснений. С чем это может быть связано? Код функции представлен ниже Код:async function createRequest() {
const PKey = await cadesplugin.CreateObjectAsync("X509Enrollment.CX509PrivateKey");
PKey.propset_ProviderName("Crypto-Pro GOST R 34.10-2001");
PKey.propset_ProviderType(75);
PKey.propset_KeySpec(1);
const CertificateRequestPkcs10 = await cadesplugin.CreateObjectAsync("X509Enrollment.CX509CertificateRequestPkcs10");
CertificateRequestPkcs10.InitializeFromPrivateKey(1, PKey, "");
const DistinguishedName = await cadesplugin.CreateObjectAsync("X509Enrollment.CX500DistinguishedName");
DistinguishedName.Encode("CN=TestName", 2097152);
CertificateRequestPkcs10.propset_Subject(DistinguishedName);
const X509Extensions = await CertificateRequestPkcs10.X509Extensions;
const KeyUsageExtension = await cadesplugin.CreateObjectAsync("X509Enrollment.CX509ExtensionKeyUsage");
const CERT_DATA_ENCIPHERMENT_KEY_USAGE = 0x10;
const CERT_KEY_ENCIPHERMENT_KEY_USAGE = 0x20;
const CERT_DIGITAL_SIGNATURE_KEY_USAGE = 0x80;
const CERT_NON_REPUDIATION_KEY_USAGE = 0x40;
KeyUsageExtension.InitializeEncode(
CERT_KEY_ENCIPHERMENT_KEY_USAGE |
CERT_DATA_ENCIPHERMENT_KEY_USAGE |
CERT_DIGITAL_SIGNATURE_KEY_USAGE |
CERT_NON_REPUDIATION_KEY_USAGE);
X509Extensions.Add(KeyUsageExtension);
const Enroll = await cadesplugin.CreateObjectAsync("X509Enrollment.CX509Enrollment");
Enroll.InitializeFromRequest(CertificateRequestPkcs10);
const CRYPT_STRING_BASE64REQUESTHEADER = 3;
const certReq = await Enroll.CreateRequest(CRYPT_STRING_BASE64REQUESTHEADER);
return certReq;
}
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
У вас скорее всего не правильно задано имя провайдера. PKey.propset_ProviderName("Crypto-Pro GOST R 34.10-2001"); Попробуйте вот такое - "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider" |
|
1 пользователь поблагодарил Анатолий Беляев за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.12.2017(UTC) Сообщений: 10 Сказал(а) «Спасибо»: 1 раз
|
После изменения имени провайдера изменился код ошибки: "Internal error. (0x80090020)". Но все равно никаких доп сведений...
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.12.2017(UTC) Сообщений: 10 Сказал(а) «Спасибо»: 1 раз
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close