@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
JavaScript
_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;