UNPKG

@peculiar/asn1-asym-key

Version:

Provides ASN.1 schema definitions for the asymmetric key packages format specified in RFC5958. This format is used to encapsulate private and public keys, along with additional parameters and metadata, for a variety of asymmetric key algorithms.

72 lines (71 loc) 3.78 kB
"use strict"; var AsymmetricKeyPackage_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.EncryptedData = exports.EncryptedPrivateKeyInfo = exports.AsymmetricKeyPackage = exports.PrivateKeyInfo = exports.OneAsymmetricKey = exports.PublicKey = exports.PrivateKey = exports.PrivateKeyAlgorithmIdentifier = exports.Version = exports.id_ct_KP_aKeyPackage = void 0; const tslib_1 = require("tslib"); const asn1_pkcs8_1 = require("@peculiar/asn1-pkcs8"); const asn1_schema_1 = require("@peculiar/asn1-schema"); const asn1_x509_1 = require("@peculiar/asn1-x509"); exports.id_ct_KP_aKeyPackage = "2.16.840.1.101.2.1.78.5"; var Version; (function (Version) { Version[Version["v1"] = 0] = "v1"; Version[Version["v2"] = 1] = "v2"; })(Version || (exports.Version = Version = {})); let PrivateKeyAlgorithmIdentifier = class PrivateKeyAlgorithmIdentifier extends asn1_x509_1.AlgorithmIdentifier { }; exports.PrivateKeyAlgorithmIdentifier = PrivateKeyAlgorithmIdentifier; exports.PrivateKeyAlgorithmIdentifier = PrivateKeyAlgorithmIdentifier = tslib_1.__decorate([ (0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence }) ], PrivateKeyAlgorithmIdentifier); class PrivateKey extends asn1_schema_1.OctetString { } exports.PrivateKey = PrivateKey; class PublicKey extends asn1_schema_1.BitString { } exports.PublicKey = PublicKey; let OneAsymmetricKey = class OneAsymmetricKey { constructor() { this.version = Version.v1; this.privateKeyAlgorithm = new asn1_x509_1.AlgorithmIdentifier(); this.privateKey = new ArrayBuffer(0); } }; exports.OneAsymmetricKey = OneAsymmetricKey; tslib_1.__decorate([ (0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer }) ], OneAsymmetricKey.prototype, "version", void 0); tslib_1.__decorate([ (0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.AlgorithmIdentifier }) ], OneAsymmetricKey.prototype, "privateKeyAlgorithm", void 0); tslib_1.__decorate([ (0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.OctetString }) ], OneAsymmetricKey.prototype, "privateKey", void 0); tslib_1.__decorate([ (0, asn1_schema_1.AsnProp)({ type: asn1_pkcs8_1.Attributes, context: 0, implicit: true, optional: true }) ], OneAsymmetricKey.prototype, "attributes", void 0); tslib_1.__decorate([ (0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.BitString, context: 1, implicit: true, optional: true }) ], OneAsymmetricKey.prototype, "publicKey", void 0); exports.OneAsymmetricKey = OneAsymmetricKey = tslib_1.__decorate([ (0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence }) ], OneAsymmetricKey); let PrivateKeyInfo = class PrivateKeyInfo extends OneAsymmetricKey { }; exports.PrivateKeyInfo = PrivateKeyInfo; exports.PrivateKeyInfo = PrivateKeyInfo = tslib_1.__decorate([ (0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence }) ], PrivateKeyInfo); let AsymmetricKeyPackage = AsymmetricKeyPackage_1 = class AsymmetricKeyPackage extends asn1_schema_1.AsnArray { constructor(items) { super(items); Object.setPrototypeOf(this, AsymmetricKeyPackage_1.prototype); } }; exports.AsymmetricKeyPackage = AsymmetricKeyPackage; exports.AsymmetricKeyPackage = AsymmetricKeyPackage = AsymmetricKeyPackage_1 = tslib_1.__decorate([ (0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence, itemType: OneAsymmetricKey }) ], AsymmetricKeyPackage); var asn1_pkcs8_2 = require("@peculiar/asn1-pkcs8"); Object.defineProperty(exports, "EncryptedPrivateKeyInfo", { enumerable: true, get: function () { return asn1_pkcs8_2.EncryptedPrivateKeyInfo; } }); Object.defineProperty(exports, "EncryptedData", { enumerable: true, get: function () { return asn1_pkcs8_2.EncryptedData; } });