UNPKG

@nodert-win10-au/windows.security.cryptography.certificates

Version:

Use the Windows.Security.Cryptography.Certificates UWP API directly from Node.js

719 lines (577 loc) 22.9 kB
_EnrollKeyUsages = function () { this.none = 0; this.decryption = 1; this.signing = 2; this.keyAgreement = 3; this.all = 4; } exports.EnrollKeyUsages = new _EnrollKeyUsages(); _KeyProtectionLevel = function () { this.noConsent = 0; this.consentOnly = 1; this.consentWithPassword = 2; this.consentWithFingerprint = 3; } exports.KeyProtectionLevel = new _KeyProtectionLevel(); _ExportOption = function () { this.notExportable = 0; this.exportable = 1; } exports.ExportOption = new _ExportOption(); _KeySize = function () { this.invalid = 0; this.rsa2048 = 1; this.rsa4096 = 2; } exports.KeySize = new _KeySize(); _InstallOptions = function () { this.none = 0; this.deleteExpired = 1; } exports.InstallOptions = new _InstallOptions(); _CertificateChainPolicy = function () { this.base = 0; this.ssl = 1; this.nTAuthentication = 2; this.microsoftRoot = 3; } exports.CertificateChainPolicy = new _CertificateChainPolicy(); _ChainValidationResult = function () { this.success = 0; this.untrusted = 1; this.revoked = 2; this.expired = 3; this.incompleteChain = 4; this.invalidSignature = 5; this.wrongUsage = 6; this.invalidName = 7; this.invalidCertificateAuthorityPolicy = 8; this.basicConstraintsError = 9; this.unknownCriticalExtension = 10; this.revocationInformationMissing = 11; this.revocationFailure = 12; this.otherErrors = 13; } exports.ChainValidationResult = new _ChainValidationResult(); _SignatureValidationResult = function () { this.success = 0; this.invalidParameter = 1; this.badMessage = 2; this.invalidSignature = 3; this.otherErrors = 4; } exports.SignatureValidationResult = new _SignatureValidationResult(); Certificate = (function () { var cls = function Certificate() { this.friendlyName = new String(); this.enhancedKeyUsages = new Object(); this.hasPrivateKey = new Boolean(); this.isStronglyProtected = new Boolean(); this.issuer = new String(); this.serialNumber = new Array<Number>(); this.subject = new String(); this.validFrom = new Date(); this.validTo = new Date(); this.isSecurityDeviceBound = new Boolean(); this.keyAlgorithmName = new String(); this.keyUsages = new CertificateKeyUsages(); this.signatureAlgorithmName = new String(); this.signatureHashAlgorithmName = new String(); this.subjectAlternativeName = new SubjectAlternativeNameInfo(); this.isPerUser = new Boolean(); this.keyStorageProviderName = new String(); this.storeName = new String(); }; var cls = function Certificate(certBlob) { this.friendlyName = new String(); this.enhancedKeyUsages = new Object(); this.hasPrivateKey = new Boolean(); this.isStronglyProtected = new Boolean(); this.issuer = new String(); this.serialNumber = new Array<Number>(); this.subject = new String(); this.validFrom = new Date(); this.validTo = new Date(); this.isSecurityDeviceBound = new Boolean(); this.keyAlgorithmName = new String(); this.keyUsages = new CertificateKeyUsages(); this.signatureAlgorithmName = new String(); this.signatureHashAlgorithmName = new String(); this.subjectAlternativeName = new SubjectAlternativeNameInfo(); this.isPerUser = new Boolean(); this.keyStorageProviderName = new String(); this.storeName = new String(); }; cls.prototype.buildChainAsync = function buildChainAsync(certificates, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificates" type="Object">A param.</param> /// </signature> } cls.prototype.buildChainAsync = function buildChainAsync(certificates, parameters, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificates" type="Object">A param.</param> /// <param name="parameters" type="ChainBuildingParameters">A param.</param> /// </signature> } cls.prototype.getHashValue = function getHashValue() { /// <signature> /// <summary>Function summary.</summary> /// <returns type="Array<Number>" /> /// </signature> return new Array<Number>(); } cls.prototype.getHashValue = function getHashValue(hashAlgorithmName) { /// <signature> /// <summary>Function summary.</summary> /// <param name="hashAlgorithmName" type="String">A param.</param> /// <returns type="Array<Number>" /> /// </signature> return new Array<Number>(); } cls.prototype.getCertificateBlob = function getCertificateBlob() { /// <signature> /// <summary>Function summary.</summary> /// <returns type="Object" /> /// </signature> return new Object(); } return cls; }) (); exports.Certificate = Certificate; CertificateRequestProperties = (function () { var cls = function CertificateRequestProperties() { this.subject = new String(); this.keyUsages = new EnrollKeyUsages(); this.keyStorageProviderName = new String(); this.keySize = new Number(); this.exportable = new ExportOption(); this.keyAlgorithmName = new String(); this.friendlyName = new String(); this.keyProtectionLevel = new KeyProtectionLevel(); this.hashAlgorithmName = new String(); this.smartcardReaderName = new String(); this.signingCertificate = new Certificate(); this.attestationCredentialCertificate = new Certificate(); this.useExistingKey = new Boolean(); this.curveParameters = new Array<Number>(); this.curveName = new String(); this.containerNamePrefix = new String(); this.containerName = new String(); }; return cls; }) (); exports.CertificateRequestProperties = CertificateRequestProperties; UserCertificateEnrollmentManager = (function () { var cls = function UserCertificateEnrollmentManager() { }; cls.prototype.createRequestAsync = function createRequestAsync(request, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="request" type="CertificateRequestProperties">A param.</param> /// </signature> } cls.prototype.installCertificateAsync = function installCertificateAsync(certificate, installOption, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificate" type="String">A param.</param> /// <param name="installOption" type="InstallOptions">A param.</param> /// </signature> } cls.prototype.importPfxDataAsync = function importPfxDataAsync(pfxData, password, exportable, keyProtectionLevel, installOption, friendlyName, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="pfxData" type="String">A param.</param> /// <param name="password" type="String">A param.</param> /// <param name="exportable" type="ExportOption">A param.</param> /// <param name="keyProtectionLevel" type="KeyProtectionLevel">A param.</param> /// <param name="installOption" type="InstallOptions">A param.</param> /// <param name="friendlyName" type="String">A param.</param> /// </signature> } cls.prototype.importPfxDataAsync = function importPfxDataAsync(pfxData, password, exportable, keyProtectionLevel, installOption, friendlyName, keyStorageProvider, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="pfxData" type="String">A param.</param> /// <param name="password" type="String">A param.</param> /// <param name="exportable" type="ExportOption">A param.</param> /// <param name="keyProtectionLevel" type="KeyProtectionLevel">A param.</param> /// <param name="installOption" type="InstallOptions">A param.</param> /// <param name="friendlyName" type="String">A param.</param> /// <param name="keyStorageProvider" type="String">A param.</param> /// </signature> } cls.prototype.importPfxDataAsync = function importPfxDataAsync(pfxData, password, pfxImportParameters, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="pfxData" type="String">A param.</param> /// <param name="password" type="String">A param.</param> /// <param name="pfxImportParameters" type="PfxImportParameters">A param.</param> /// </signature> } return cls; }) (); exports.UserCertificateEnrollmentManager = UserCertificateEnrollmentManager; PfxImportParameters = (function () { var cls = function PfxImportParameters() { this.readerName = new String(); this.keyStorageProviderName = new String(); this.keyProtectionLevel = new KeyProtectionLevel(); this.installOptions = new InstallOptions(); this.friendlyName = new String(); this.exportable = new ExportOption(); this.containerNamePrefix = new String(); }; return cls; }) (); exports.PfxImportParameters = PfxImportParameters; CertificateEnrollmentManager = (function () { var cls = function CertificateEnrollmentManager() { }; cls.importPfxDataAsync = function importPfxDataAsync(pfxData, password, pfxImportParameters, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="pfxData" type="String">A param.</param> /// <param name="password" type="String">A param.</param> /// <param name="pfxImportParameters" type="PfxImportParameters">A param.</param> /// </signature> } cls.importPfxDataAsync = function importPfxDataAsync(pfxData, password, exportable, keyProtectionLevel, installOption, friendlyName, keyStorageProvider, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="pfxData" type="String">A param.</param> /// <param name="password" type="String">A param.</param> /// <param name="exportable" type="ExportOption">A param.</param> /// <param name="keyProtectionLevel" type="KeyProtectionLevel">A param.</param> /// <param name="installOption" type="InstallOptions">A param.</param> /// <param name="friendlyName" type="String">A param.</param> /// <param name="keyStorageProvider" type="String">A param.</param> /// </signature> } cls.importPfxDataAsync = function importPfxDataAsync(pfxData, password, exportable, keyProtectionLevel, installOption, friendlyName, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="pfxData" type="String">A param.</param> /// <param name="password" type="String">A param.</param> /// <param name="exportable" type="ExportOption">A param.</param> /// <param name="keyProtectionLevel" type="KeyProtectionLevel">A param.</param> /// <param name="installOption" type="InstallOptions">A param.</param> /// <param name="friendlyName" type="String">A param.</param> /// </signature> } cls.createRequestAsync = function createRequestAsync(request, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="request" type="CertificateRequestProperties">A param.</param> /// </signature> } cls.installCertificateAsync = function installCertificateAsync(certificate, installOption, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificate" type="String">A param.</param> /// <param name="installOption" type="InstallOptions">A param.</param> /// </signature> } cls.userCertificateEnrollmentManager = new UserCertificateEnrollmentManager(); return cls; }) (); exports.CertificateEnrollmentManager = CertificateEnrollmentManager; KeyAttestationHelper = (function () { var cls = function KeyAttestationHelper() { }; cls.decryptTpmAttestationCredentialAsync = function decryptTpmAttestationCredentialAsync(credential, containerName, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="credential" type="String">A param.</param> /// <param name="containerName" type="String">A param.</param> /// </signature> } cls.decryptTpmAttestationCredentialAsync = function decryptTpmAttestationCredentialAsync(credential, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="credential" type="String">A param.</param> /// </signature> } cls.getTpmAttestationCredentialId = function getTpmAttestationCredentialId(credential) { /// <signature> /// <summary>Function summary.</summary> /// <param name="credential" type="String">A param.</param> /// <returns type="String" /> /// </signature> return new String(); } return cls; }) (); exports.KeyAttestationHelper = KeyAttestationHelper; CertificateQuery = (function () { var cls = function CertificateQuery() { this.thumbprint = new Array<Number>(); this.issuerName = new String(); this.hardwareOnly = new Boolean(); this.friendlyName = new String(); this.enhancedKeyUsages = new Object(); this.storeName = new String(); this.includeExpiredCertificates = new Boolean(); this.includeDuplicates = new Boolean(); }; return cls; }) (); exports.CertificateQuery = CertificateQuery; CertificateStore = (function () { var cls = function CertificateStore() { this.name = new String(); }; cls.prototype.add = function add(certificate) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificate" type="Certificate">A param.</param> /// </signature> } cls.prototype.delete = function delete(certificate) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificate" type="Certificate">A param.</param> /// </signature> } return cls; }) (); exports.CertificateStore = CertificateStore; UserCertificateStore = (function () { var cls = function UserCertificateStore() { this.name = new String(); }; cls.prototype.requestAddAsync = function requestAddAsync(certificate, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificate" type="Certificate">A param.</param> /// </signature> } cls.prototype.requestDeleteAsync = function requestDeleteAsync(certificate, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="certificate" type="Certificate">A param.</param> /// </signature> } return cls; }) (); exports.UserCertificateStore = UserCertificateStore; CertificateStores = (function () { var cls = function CertificateStores() { }; cls.findAllAsync = function findAllAsync(callback) { /// <signature> /// <summary>Function summary.</summary> /// </signature> } cls.findAllAsync = function findAllAsync(query, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="query" type="CertificateQuery">A param.</param> /// </signature> } cls.getUserStoreByName = function getUserStoreByName(storeName) { /// <signature> /// <summary>Function summary.</summary> /// <param name="storeName" type="String">A param.</param> /// <returns type="UserCertificateStore" /> /// </signature> return new UserCertificateStore(); } cls.getStoreByName = function getStoreByName(storeName) { /// <signature> /// <summary>Function summary.</summary> /// <param name="storeName" type="String">A param.</param> /// <returns type="CertificateStore" /> /// </signature> return new CertificateStore(); } cls.intermediateCertificationAuthorities = new CertificateStore(); cls.trustedRootCertificationAuthorities = new CertificateStore(); return cls; }) (); exports.CertificateStores = CertificateStores; StandardCertificateStoreNames = (function () { var cls = function StandardCertificateStoreNames() { }; cls.intermediateCertificationAuthorities = new String(); cls.personal = new String(); cls.trustedRootCertificationAuthorities = new String(); return cls; }) (); exports.StandardCertificateStoreNames = StandardCertificateStoreNames; KeyAlgorithmNames = (function () { var cls = function KeyAlgorithmNames() { }; cls.dsa = new String(); cls.ecdh256 = new String(); cls.ecdh384 = new String(); cls.ecdh521 = new String(); cls.ecdsa256 = new String(); cls.ecdsa384 = new String(); cls.ecdsa521 = new String(); cls.rsa = new String(); cls.ecdh = new String(); cls.ecdsa = new String(); return cls; }) (); exports.KeyAlgorithmNames = KeyAlgorithmNames; KeyStorageProviderNames = (function () { var cls = function KeyStorageProviderNames() { }; cls.platformKeyStorageProvider = new String(); cls.smartcardKeyStorageProvider = new String(); cls.softwareKeyStorageProvider = new String(); cls.passportKeyStorageProvider = new String(); return cls; }) (); exports.KeyStorageProviderNames = KeyStorageProviderNames; ChainBuildingParameters = (function () { var cls = function ChainBuildingParameters() { this.validationTimestamp = new Date(); this.revocationCheckEnabled = new Boolean(); this.networkRetrievalEnabled = new Boolean(); this.currentTimeValidationEnabled = new Boolean(); this.authorityInformationAccessEnabled = new Boolean(); this.enhancedKeyUsages = new Object(); this.exclusiveTrustRoots = new Object(); }; return cls; }) (); exports.ChainBuildingParameters = ChainBuildingParameters; ChainValidationParameters = (function () { var cls = function ChainValidationParameters() { this.serverDnsName = new Object(); this.certificateChainPolicy = new CertificateChainPolicy(); }; return cls; }) (); exports.ChainValidationParameters = ChainValidationParameters; CertificateChain = (function () { var cls = function CertificateChain() { }; cls.prototype.validate = function validate() { /// <signature> /// <summary>Function summary.</summary> /// <returns type="ChainValidationResult" /> /// </signature> return new ChainValidationResult(); } cls.prototype.validate = function validate(parameter) { /// <signature> /// <summary>Function summary.</summary> /// <param name="parameter" type="ChainValidationParameters">A param.</param> /// <returns type="ChainValidationResult" /> /// </signature> return new ChainValidationResult(); } cls.prototype.getCertificates = function getCertificates(includeRoot) { /// <signature> /// <summary>Function summary.</summary> /// <param name="includeRoot" type="Boolean">A param.</param> /// <returns type="Object" /> /// </signature> return new Object(); } return cls; }) (); exports.CertificateChain = CertificateChain; CertificateKeyUsages = (function () { var cls = function CertificateKeyUsages() { this.nonRepudiation = new Boolean(); this.keyEncipherment = new Boolean(); this.keyCertificateSign = new Boolean(); this.keyAgreement = new Boolean(); this.encipherOnly = new Boolean(); this.digitalSignature = new Boolean(); this.dataEncipherment = new Boolean(); this.crlSign = new Boolean(); }; return cls; }) (); exports.CertificateKeyUsages = CertificateKeyUsages; SubjectAlternativeNameInfo = (function () { var cls = function SubjectAlternativeNameInfo() { this.distinguishedName = new Object(); this.dnsName = new Object(); this.emailName = new Object(); this.iPAddress = new Object(); this.principalName = new Object(); this.url = new Object(); }; return cls; }) (); exports.SubjectAlternativeNameInfo = SubjectAlternativeNameInfo; CmsTimestampInfo = (function () { var cls = function CmsTimestampInfo() { this.certificates = new Object(); this.signingCertificate = new Certificate(); this.timestamp = new Date(); }; return cls; }) (); exports.CmsTimestampInfo = CmsTimestampInfo; CmsSignerInfo = (function () { var cls = function CmsSignerInfo() { this.hashAlgorithmName = new String(); this.certificate = new Certificate(); this.timestampInfo = new CmsTimestampInfo(); }; return cls; }) (); exports.CmsSignerInfo = CmsSignerInfo; CmsAttachedSignature = (function () { var cls = function CmsAttachedSignature() { this.certificates = new Object(); this.content = new Array<Number>(); this.signers = new Object(); }; var cls = function CmsAttachedSignature(inputBlob) { this.certificates = new Object(); this.content = new Array<Number>(); this.signers = new Object(); }; cls.prototype.verifySignature = function verifySignature() { /// <signature> /// <summary>Function summary.</summary> /// <returns type="SignatureValidationResult" /> /// </signature> return new SignatureValidationResult(); } cls.generateSignatureAsync = function generateSignatureAsync(data, signers, certificates, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="data" type="Object">A param.</param> /// <param name="signers" type="Object">A param.</param> /// <param name="certificates" type="Object">A param.</param> /// </signature> } return cls; }) (); exports.CmsAttachedSignature = CmsAttachedSignature; CmsDetachedSignature = (function () { var cls = function CmsDetachedSignature() { this.certificates = new Object(); this.signers = new Object(); }; var cls = function CmsDetachedSignature(inputBlob) { this.certificates = new Object(); this.signers = new Object(); }; cls.prototype.verifySignatureAsync = function verifySignatureAsync(data, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="data" type="Object">A param.</param> /// </signature> } cls.generateSignatureAsync = function generateSignatureAsync(data, signers, certificates, callback) { /// <signature> /// <summary>Function summary.</summary> /// <param name="data" type="Object">A param.</param> /// <param name="signers" type="Object">A param.</param> /// <param name="certificates" type="Object">A param.</param> /// </signature> } return cls; }) (); exports.CmsDetachedSignature = CmsDetachedSignature;