HTML
<script language="javascript" src="cadesplugin_api.js"></script>
В данном примере создается запрос на выпуск сертификата
JavaScript
var PKey = cadesplugin.CreateObject("X509Enrollment.CX509PrivateKey");
PKey.ProviderName = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider";
PKey.ProviderType = 75;
PKey.KeySpec = cadesplugin.AT_KEYEXCHANGE; // XCN_AT_KEYEXCHANGE
var CertificateRequestPkcs10 = cadesplugin.CreateObject("X509Enrollment.CX509CertificateRequestPkcs10");
CertificateRequestPkcs10.InitializeFromPrivateKey(0x1, PKey, "");
var DistinguishedName = cadesplugin.CreateObject("X509Enrollment.CX500DistinguishedName");
DistinguishedName.Encode("CN=\"TestName\";");
CertificateRequestPkcs10.Subject = DistinguishedName;
var KeyUsageExtension = cadesplugin.CreateObject("X509Enrollment.CX509ExtensionKeyUsage");
var CERT_DATA_ENCIPHERMENT_KEY_USAGE = 0x10;
var CERT_KEY_ENCIPHERMENT_KEY_USAGE = 0x20;
var CERT_DIGITAL_SIGNATURE_KEY_USAGE = 0x80;
var 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);
CertificateRequestPkcs10.X509Extensions.Add(KeyUsageExtension);
var Enroll = cadesplugin.CreateObject("X509Enrollment.CX509Enrollment");
Enroll.InitializeFromRequest(CertificateRequestPkcs10);
var certReq = Enroll.CreateRequest(cadesplugin.XCN_CRYPT_STRING_BASE64HEADER);