first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+8
View File
@@ -0,0 +1,8 @@
# `@peculiar/asn1-x509-attr`
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/PeculiarVentures/asn1-schema/master/packages/x509-attr/LICENSE.md)
[![npm version](https://badge.fury.io/js/%40peculiar%2Fasn1-x509-attr.svg)](https://badge.fury.io/js/%40peculiar%2Fasn1-x509-attr)
[![NPM](https://nodei.co/npm/@peculiar/asn1-x509-attr.png)](https://nodei.co/npm/@peculiar/asn1-x509-attr/)
[RFC 5755](https://tools.ietf.org/html/rfc5755) An Internet Attribute Certificate
+24
View File
@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ACClearAttrs = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
class ACClearAttrs {
constructor(params = {}) {
this.acIssuer = new asn1_x509_1.GeneralName();
this.acSerial = 0;
this.attrs = [];
Object.assign(this, params);
}
}
exports.ACClearAttrs = ACClearAttrs;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName })
], ACClearAttrs.prototype, "acIssuer", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer })
], ACClearAttrs.prototype, "acSerial", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.Attribute, repeated: "sequence" })
], ACClearAttrs.prototype, "attrs", void 0);
+25
View File
@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AAControls = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const attr_spec_1 = require("./attr_spec");
class AAControls {
constructor(params = {}) {
this.permitUnSpecified = true;
Object.assign(this, params);
}
}
exports.AAControls = AAControls;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer, optional: true })
], AAControls.prototype, "pathLenConstraint", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: attr_spec_1.AttrSpec, implicit: true, context: 0, optional: true })
], AAControls.prototype, "permittedAttrs", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: attr_spec_1.AttrSpec, implicit: true, context: 1, optional: true })
], AAControls.prototype, "excludedAttrs", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Boolean, defaultValue: true })
], AAControls.prototype, "permitUnSpecified", void 0);
+22
View File
@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AttCertIssuer = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
const v2_form_1 = require("./v2_form");
let AttCertIssuer = class AttCertIssuer {
constructor(params = {}) {
Object.assign(this, params);
}
};
exports.AttCertIssuer = AttCertIssuer;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName, repeated: "sequence" })
], AttCertIssuer.prototype, "v1Form", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: v2_form_1.V2Form, context: 0, implicit: true })
], AttCertIssuer.prototype, "v2Form", void 0);
exports.AttCertIssuer = AttCertIssuer = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Choice })
], AttCertIssuer);
@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AttCertValidityPeriod = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
class AttCertValidityPeriod {
constructor(params = {}) {
this.notBeforeTime = new Date();
this.notAfterTime = new Date();
Object.assign(this, params);
}
}
exports.AttCertValidityPeriod = AttCertValidityPeriod;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.GeneralizedTime })
], AttCertValidityPeriod.prototype, "notBeforeTime", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.GeneralizedTime })
], AttCertValidityPeriod.prototype, "notAfterTime", void 0);
+16
View File
@@ -0,0 +1,16 @@
"use strict";
var AttrSpec_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AttrSpec = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
let AttrSpec = AttrSpec_1 = class AttrSpec extends asn1_schema_1.AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, AttrSpec_1.prototype);
}
};
exports.AttrSpec = AttrSpec;
exports.AttrSpec = AttrSpec = AttrSpec_1 = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence, itemType: asn1_schema_1.AsnPropTypes.ObjectIdentifier })
], AttrSpec);
@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AttributeCertificate = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
const attribute_certificate_info_1 = require("./attribute_certificate_info");
class AttributeCertificate {
constructor(params = {}) {
this.acinfo = new attribute_certificate_info_1.AttributeCertificateInfo();
this.signatureAlgorithm = new asn1_x509_1.AlgorithmIdentifier();
this.signatureValue = new ArrayBuffer(0);
Object.assign(this, params);
}
}
exports.AttributeCertificate = AttributeCertificate;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: attribute_certificate_info_1.AttributeCertificateInfo })
], AttributeCertificate.prototype, "acinfo", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.AlgorithmIdentifier })
], AttributeCertificate.prototype, "signatureAlgorithm", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.BitString })
], AttributeCertificate.prototype, "signatureValue", void 0);
@@ -0,0 +1,53 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AttributeCertificateInfo = exports.AttCertVersion = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
const holder_1 = require("./holder");
const attr_cert_issuer_1 = require("./attr_cert_issuer");
const attr_cert_validity_period_1 = require("./attr_cert_validity_period");
var AttCertVersion;
(function (AttCertVersion) {
AttCertVersion[AttCertVersion["v2"] = 1] = "v2";
})(AttCertVersion || (exports.AttCertVersion = AttCertVersion = {}));
class AttributeCertificateInfo {
constructor(params = {}) {
this.version = AttCertVersion.v2;
this.holder = new holder_1.Holder();
this.issuer = new attr_cert_issuer_1.AttCertIssuer();
this.signature = new asn1_x509_1.AlgorithmIdentifier();
this.serialNumber = new ArrayBuffer(0);
this.attrCertValidityPeriod = new attr_cert_validity_period_1.AttCertValidityPeriod();
this.attributes = [];
Object.assign(this, params);
}
}
exports.AttributeCertificateInfo = AttributeCertificateInfo;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer })
], AttributeCertificateInfo.prototype, "version", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: holder_1.Holder })
], AttributeCertificateInfo.prototype, "holder", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: attr_cert_issuer_1.AttCertIssuer })
], AttributeCertificateInfo.prototype, "issuer", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.AlgorithmIdentifier })
], AttributeCertificateInfo.prototype, "signature", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer, converter: asn1_schema_1.AsnIntegerArrayBufferConverter })
], AttributeCertificateInfo.prototype, "serialNumber", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: attr_cert_validity_period_1.AttCertValidityPeriod })
], AttributeCertificateInfo.prototype, "attrCertValidityPeriod", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.Attribute, repeated: "sequence" })
], AttributeCertificateInfo.prototype, "attributes", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.BitString, optional: true })
], AttributeCertificateInfo.prototype, "issuerUniqueID", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.Extensions, optional: true })
], AttributeCertificateInfo.prototype, "extensions", void 0);
+16
View File
@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClassList = exports.ClassListFlags = void 0;
const asn1_schema_1 = require("@peculiar/asn1-schema");
var ClassListFlags;
(function (ClassListFlags) {
ClassListFlags[ClassListFlags["unmarked"] = 1] = "unmarked";
ClassListFlags[ClassListFlags["unclassified"] = 2] = "unclassified";
ClassListFlags[ClassListFlags["restricted"] = 4] = "restricted";
ClassListFlags[ClassListFlags["confidential"] = 8] = "confidential";
ClassListFlags[ClassListFlags["secret"] = 16] = "secret";
ClassListFlags[ClassListFlags["topSecret"] = 32] = "topSecret";
})(ClassListFlags || (exports.ClassListFlags = ClassListFlags = {}));
class ClassList extends asn1_schema_1.BitString {
}
exports.ClassList = ClassList;
+24
View File
@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Clearance = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const class_list_1 = require("./class_list");
const security_category_1 = require("./security_category");
class Clearance {
constructor(params = {}) {
this.policyId = "";
this.classList = new class_list_1.ClassList(class_list_1.ClassListFlags.unclassified);
Object.assign(this, params);
}
}
exports.Clearance = Clearance;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.ObjectIdentifier })
], Clearance.prototype, "policyId", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: class_list_1.ClassList, defaultValue: new class_list_1.ClassList(class_list_1.ClassListFlags.unclassified) })
], Clearance.prototype, "classList", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: security_category_1.SecurityCategory, repeated: "set" })
], Clearance.prototype, "securityCategories", void 0);
+23
View File
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Holder = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const issuer_serial_1 = require("./issuer_serial");
const asn1_x509_1 = require("@peculiar/asn1-x509");
const object_digest_info_1 = require("./object_digest_info");
class Holder {
constructor(params = {}) {
Object.assign(this, params);
}
}
exports.Holder = Holder;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: issuer_serial_1.IssuerSerial, implicit: true, context: 0, optional: true })
], Holder.prototype, "baseCertificateID", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralNames, implicit: true, context: 1, optional: true })
], Holder.prototype, "entityName", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: object_digest_info_1.ObjectDigestInfo, implicit: true, context: 2, optional: true })
], Holder.prototype, "objectDigestInfo", void 0);
+34
View File
@@ -0,0 +1,34 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IetfAttrSyntax = exports.IetfAttrSyntaxValueChoices = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
class IetfAttrSyntaxValueChoices {
constructor(params = {}) {
Object.assign(this, params);
}
}
exports.IetfAttrSyntaxValueChoices = IetfAttrSyntaxValueChoices;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.OctetString })
], IetfAttrSyntaxValueChoices.prototype, "cotets", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.ObjectIdentifier })
], IetfAttrSyntaxValueChoices.prototype, "oid", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Utf8String })
], IetfAttrSyntaxValueChoices.prototype, "string", void 0);
class IetfAttrSyntax {
constructor(params = {}) {
this.values = [];
Object.assign(this, params);
}
}
exports.IetfAttrSyntax = IetfAttrSyntax;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralNames, implicit: true, context: 0, optional: true })
], IetfAttrSyntax.prototype, "policyAuthority", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: IetfAttrSyntaxValueChoices, repeated: "sequence" })
], IetfAttrSyntax.prototype, "values", void 0);
+23
View File
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./aa_clear_attrs"), exports);
tslib_1.__exportStar(require("./aa_controls"), exports);
tslib_1.__exportStar(require("./attr_cert_issuer"), exports);
tslib_1.__exportStar(require("./attr_cert_validity_period"), exports);
tslib_1.__exportStar(require("./attr_spec"), exports);
tslib_1.__exportStar(require("./attribute_certificate"), exports);
tslib_1.__exportStar(require("./attribute_certificate_info"), exports);
tslib_1.__exportStar(require("./class_list"), exports);
tslib_1.__exportStar(require("./clearance"), exports);
tslib_1.__exportStar(require("./holder"), exports);
tslib_1.__exportStar(require("./ietf_attr_syntax"), exports);
tslib_1.__exportStar(require("./issuer_serial"), exports);
tslib_1.__exportStar(require("./object_digest_info"), exports);
tslib_1.__exportStar(require("./object_identifiers"), exports);
tslib_1.__exportStar(require("./proxy_info"), exports);
tslib_1.__exportStar(require("./role_syntax"), exports);
tslib_1.__exportStar(require("./security_category"), exports);
tslib_1.__exportStar(require("./svce_auth_info"), exports);
tslib_1.__exportStar(require("./target"), exports);
tslib_1.__exportStar(require("./v2_form"), exports);
+24
View File
@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IssuerSerial = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
class IssuerSerial {
constructor(params = {}) {
this.issuer = new asn1_x509_1.GeneralNames();
this.serial = new ArrayBuffer(0);
this.issuerUID = new ArrayBuffer(0);
Object.assign(this, params);
}
}
exports.IssuerSerial = IssuerSerial;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralNames })
], IssuerSerial.prototype, "issuer", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Integer, converter: asn1_schema_1.AsnIntegerArrayBufferConverter })
], IssuerSerial.prototype, "serial", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.BitString, optional: true })
], IssuerSerial.prototype, "issuerUID", void 0);
+33
View File
@@ -0,0 +1,33 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectDigestInfo = exports.DigestedObjectType = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
var DigestedObjectType;
(function (DigestedObjectType) {
DigestedObjectType[DigestedObjectType["publicKey"] = 0] = "publicKey";
DigestedObjectType[DigestedObjectType["publicKeyCert"] = 1] = "publicKeyCert";
DigestedObjectType[DigestedObjectType["otherObjectTypes"] = 2] = "otherObjectTypes";
})(DigestedObjectType || (exports.DigestedObjectType = DigestedObjectType = {}));
class ObjectDigestInfo {
constructor(params = {}) {
this.digestedObjectType = DigestedObjectType.publicKey;
this.digestAlgorithm = new asn1_x509_1.AlgorithmIdentifier();
this.objectDigest = new ArrayBuffer(0);
Object.assign(this, params);
}
}
exports.ObjectDigestInfo = ObjectDigestInfo;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Enumerated })
], ObjectDigestInfo.prototype, "digestedObjectType", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.ObjectIdentifier, optional: true })
], ObjectDigestInfo.prototype, "otherObjectTypeID", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.AlgorithmIdentifier })
], ObjectDigestInfo.prototype, "digestAlgorithm", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.BitString })
], ObjectDigestInfo.prototype, "objectDigest", void 0);
+17
View File
@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.id_at_clearance = exports.id_at_role = exports.id_at = exports.id_aca_encAttrs = exports.id_aca_group = exports.id_aca_chargingIdentity = exports.id_aca_accessIdentity = exports.id_aca_authenticationInfo = exports.id_aca = exports.id_ce_targetInformation = exports.id_pe_ac_proxying = exports.id_pe_aaControls = exports.id_pe_ac_auditIdentity = void 0;
const asn1_x509_1 = require("@peculiar/asn1-x509");
exports.id_pe_ac_auditIdentity = `${asn1_x509_1.id_pe}.4`;
exports.id_pe_aaControls = `${asn1_x509_1.id_pe}.6`;
exports.id_pe_ac_proxying = `${asn1_x509_1.id_pe}.10`;
exports.id_ce_targetInformation = `${asn1_x509_1.id_ce}.55`;
exports.id_aca = `${asn1_x509_1.id_pkix}.10`;
exports.id_aca_authenticationInfo = `${exports.id_aca}.1`;
exports.id_aca_accessIdentity = `${exports.id_aca}.2`;
exports.id_aca_chargingIdentity = `${exports.id_aca}.3`;
exports.id_aca_group = `${exports.id_aca}.4`;
exports.id_aca_encAttrs = `${exports.id_aca}.6`;
exports.id_at = "2.5.4";
exports.id_at_role = `${exports.id_at}.72`;
exports.id_at_clearance = "2.5.1.5.55";
+17
View File
@@ -0,0 +1,17 @@
"use strict";
var ProxyInfo_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxyInfo = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const target_1 = require("./target");
let ProxyInfo = ProxyInfo_1 = class ProxyInfo extends asn1_schema_1.AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, ProxyInfo_1.prototype);
}
};
exports.ProxyInfo = ProxyInfo;
exports.ProxyInfo = ProxyInfo = ProxyInfo_1 = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence, itemType: target_1.Targets })
], ProxyInfo);
+18
View File
@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RoleSyntax = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
class RoleSyntax {
constructor(params = {}) {
Object.assign(this, params);
}
}
exports.RoleSyntax = RoleSyntax;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralNames, implicit: true, context: 0, optional: true })
], RoleSyntax.prototype, "roleAuthority", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName, implicit: true, context: 1 })
], RoleSyntax.prototype, "roleName", void 0);
+19
View File
@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SecurityCategory = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
class SecurityCategory {
constructor(params = {}) {
this.type = "";
this.value = new ArrayBuffer(0);
Object.assign(this, params);
}
}
exports.SecurityCategory = SecurityCategory;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.ObjectIdentifier, implicit: true, context: 0 })
], SecurityCategory.prototype, "type", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.Any, implicit: true, context: 1 })
], SecurityCategory.prototype, "value", void 0);
+23
View File
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SvceAuthInfo = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
class SvceAuthInfo {
constructor(params = {}) {
this.service = new asn1_x509_1.GeneralName();
this.ident = new asn1_x509_1.GeneralName();
Object.assign(this, params);
}
}
exports.SvceAuthInfo = SvceAuthInfo;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName })
], SvceAuthInfo.prototype, "service", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName })
], SvceAuthInfo.prototype, "ident", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.OctetString, optional: true })
], SvceAuthInfo.prototype, "authInfo", void 0);
+53
View File
@@ -0,0 +1,53 @@
"use strict";
var Targets_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Targets = exports.Target = exports.TargetCert = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
const issuer_serial_1 = require("./issuer_serial");
const object_digest_info_1 = require("./object_digest_info");
class TargetCert {
constructor(params = {}) {
this.targetCertificate = new issuer_serial_1.IssuerSerial();
Object.assign(this, params);
}
}
exports.TargetCert = TargetCert;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: issuer_serial_1.IssuerSerial })
], TargetCert.prototype, "targetCertificate", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName, optional: true })
], TargetCert.prototype, "targetName", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: object_digest_info_1.ObjectDigestInfo, optional: true })
], TargetCert.prototype, "certDigestInfo", void 0);
let Target = class Target {
constructor(params = {}) {
Object.assign(this, params);
}
};
exports.Target = Target;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName, context: 0, implicit: true })
], Target.prototype, "targetName", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralName, context: 1, implicit: true })
], Target.prototype, "targetGroup", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: TargetCert, context: 2, implicit: true })
], Target.prototype, "targetCert", void 0);
exports.Target = Target = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Choice })
], Target);
let Targets = Targets_1 = class Targets extends asn1_schema_1.AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, Targets_1.prototype);
}
};
exports.Targets = Targets;
exports.Targets = Targets = Targets_1 = tslib_1.__decorate([
(0, asn1_schema_1.AsnType)({ type: asn1_schema_1.AsnTypeTypes.Sequence, itemType: Target })
], Targets);
+23
View File
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.V2Form = void 0;
const tslib_1 = require("tslib");
const asn1_schema_1 = require("@peculiar/asn1-schema");
const asn1_x509_1 = require("@peculiar/asn1-x509");
const issuer_serial_1 = require("./issuer_serial");
const object_digest_info_1 = require("./object_digest_info");
class V2Form {
constructor(params = {}) {
Object.assign(this, params);
}
}
exports.V2Form = V2Form;
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: asn1_x509_1.GeneralNames, optional: true })
], V2Form.prototype, "issuerName", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: issuer_serial_1.IssuerSerial, context: 0, implicit: true, optional: true })
], V2Form.prototype, "baseCertificateID", void 0);
tslib_1.__decorate([
(0, asn1_schema_1.AsnProp)({ type: object_digest_info_1.ObjectDigestInfo, context: 1, implicit: true, optional: true })
], V2Form.prototype, "objectDigestInfo", void 0);
+20
View File
@@ -0,0 +1,20 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes } from "@peculiar/asn1-schema";
import { GeneralName, Attribute } from "@peculiar/asn1-x509";
export class ACClearAttrs {
constructor(params = {}) {
this.acIssuer = new GeneralName();
this.acSerial = 0;
this.attrs = [];
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: GeneralName })
], ACClearAttrs.prototype, "acIssuer", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.Integer })
], ACClearAttrs.prototype, "acSerial", void 0);
__decorate([
AsnProp({ type: Attribute, repeated: "sequence" })
], ACClearAttrs.prototype, "attrs", void 0);
+21
View File
@@ -0,0 +1,21 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes } from "@peculiar/asn1-schema";
import { AttrSpec } from "./attr_spec";
export class AAControls {
constructor(params = {}) {
this.permitUnSpecified = true;
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: AsnPropTypes.Integer, optional: true })
], AAControls.prototype, "pathLenConstraint", void 0);
__decorate([
AsnProp({ type: AttrSpec, implicit: true, context: 0, optional: true })
], AAControls.prototype, "permittedAttrs", void 0);
__decorate([
AsnProp({ type: AttrSpec, implicit: true, context: 1, optional: true })
], AAControls.prototype, "excludedAttrs", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.Boolean, defaultValue: true })
], AAControls.prototype, "permitUnSpecified", void 0);
+19
View File
@@ -0,0 +1,19 @@
import { __decorate } from "tslib";
import { AsnType, AsnTypeTypes, AsnProp } from "@peculiar/asn1-schema";
import { GeneralName } from "@peculiar/asn1-x509";
import { V2Form } from "./v2_form";
let AttCertIssuer = class AttCertIssuer {
constructor(params = {}) {
Object.assign(this, params);
}
};
__decorate([
AsnProp({ type: GeneralName, repeated: "sequence" })
], AttCertIssuer.prototype, "v1Form", void 0);
__decorate([
AsnProp({ type: V2Form, context: 0, implicit: true })
], AttCertIssuer.prototype, "v2Form", void 0);
AttCertIssuer = __decorate([
AsnType({ type: AsnTypeTypes.Choice })
], AttCertIssuer);
export { AttCertIssuer };
@@ -0,0 +1,15 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes } from "@peculiar/asn1-schema";
export class AttCertValidityPeriod {
constructor(params = {}) {
this.notBeforeTime = new Date();
this.notAfterTime = new Date();
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: AsnPropTypes.GeneralizedTime })
], AttCertValidityPeriod.prototype, "notBeforeTime", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.GeneralizedTime })
], AttCertValidityPeriod.prototype, "notAfterTime", void 0);
+13
View File
@@ -0,0 +1,13 @@
var AttrSpec_1;
import { __decorate } from "tslib";
import { AsnType, AsnTypeTypes, AsnPropTypes, AsnArray } from "@peculiar/asn1-schema";
let AttrSpec = AttrSpec_1 = class AttrSpec extends AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, AttrSpec_1.prototype);
}
};
AttrSpec = AttrSpec_1 = __decorate([
AsnType({ type: AsnTypeTypes.Sequence, itemType: AsnPropTypes.ObjectIdentifier })
], AttrSpec);
export { AttrSpec };
@@ -0,0 +1,21 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes } from "@peculiar/asn1-schema";
import { AlgorithmIdentifier } from "@peculiar/asn1-x509";
import { AttributeCertificateInfo } from "./attribute_certificate_info";
export class AttributeCertificate {
constructor(params = {}) {
this.acinfo = new AttributeCertificateInfo();
this.signatureAlgorithm = new AlgorithmIdentifier();
this.signatureValue = new ArrayBuffer(0);
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: AttributeCertificateInfo })
], AttributeCertificate.prototype, "acinfo", void 0);
__decorate([
AsnProp({ type: AlgorithmIdentifier })
], AttributeCertificate.prototype, "signatureAlgorithm", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.BitString })
], AttributeCertificate.prototype, "signatureValue", void 0);
@@ -0,0 +1,49 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes, AsnIntegerArrayBufferConverter } from "@peculiar/asn1-schema";
import { AlgorithmIdentifier, Attribute, Extensions, } from "@peculiar/asn1-x509";
import { Holder } from "./holder";
import { AttCertIssuer } from "./attr_cert_issuer";
import { AttCertValidityPeriod } from "./attr_cert_validity_period";
export var AttCertVersion;
(function (AttCertVersion) {
AttCertVersion[AttCertVersion["v2"] = 1] = "v2";
})(AttCertVersion || (AttCertVersion = {}));
export class AttributeCertificateInfo {
constructor(params = {}) {
this.version = AttCertVersion.v2;
this.holder = new Holder();
this.issuer = new AttCertIssuer();
this.signature = new AlgorithmIdentifier();
this.serialNumber = new ArrayBuffer(0);
this.attrCertValidityPeriod = new AttCertValidityPeriod();
this.attributes = [];
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: AsnPropTypes.Integer })
], AttributeCertificateInfo.prototype, "version", void 0);
__decorate([
AsnProp({ type: Holder })
], AttributeCertificateInfo.prototype, "holder", void 0);
__decorate([
AsnProp({ type: AttCertIssuer })
], AttributeCertificateInfo.prototype, "issuer", void 0);
__decorate([
AsnProp({ type: AlgorithmIdentifier })
], AttributeCertificateInfo.prototype, "signature", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter })
], AttributeCertificateInfo.prototype, "serialNumber", void 0);
__decorate([
AsnProp({ type: AttCertValidityPeriod })
], AttributeCertificateInfo.prototype, "attrCertValidityPeriod", void 0);
__decorate([
AsnProp({ type: Attribute, repeated: "sequence" })
], AttributeCertificateInfo.prototype, "attributes", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.BitString, optional: true })
], AttributeCertificateInfo.prototype, "issuerUniqueID", void 0);
__decorate([
AsnProp({ type: Extensions, optional: true })
], AttributeCertificateInfo.prototype, "extensions", void 0);
+12
View File
@@ -0,0 +1,12 @@
import { BitString } from "@peculiar/asn1-schema";
export var ClassListFlags;
(function (ClassListFlags) {
ClassListFlags[ClassListFlags["unmarked"] = 1] = "unmarked";
ClassListFlags[ClassListFlags["unclassified"] = 2] = "unclassified";
ClassListFlags[ClassListFlags["restricted"] = 4] = "restricted";
ClassListFlags[ClassListFlags["confidential"] = 8] = "confidential";
ClassListFlags[ClassListFlags["secret"] = 16] = "secret";
ClassListFlags[ClassListFlags["topSecret"] = 32] = "topSecret";
})(ClassListFlags || (ClassListFlags = {}));
export class ClassList extends BitString {
}
+20
View File
@@ -0,0 +1,20 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes } from "@peculiar/asn1-schema";
import { ClassList, ClassListFlags } from "./class_list";
import { SecurityCategory } from "./security_category";
export class Clearance {
constructor(params = {}) {
this.policyId = "";
this.classList = new ClassList(ClassListFlags.unclassified);
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: AsnPropTypes.ObjectIdentifier })
], Clearance.prototype, "policyId", void 0);
__decorate([
AsnProp({ type: ClassList, defaultValue: new ClassList(ClassListFlags.unclassified) })
], Clearance.prototype, "classList", void 0);
__decorate([
AsnProp({ type: SecurityCategory, repeated: "set" })
], Clearance.prototype, "securityCategories", void 0);
+19
View File
@@ -0,0 +1,19 @@
import { __decorate } from "tslib";
import { AsnProp } from "@peculiar/asn1-schema";
import { IssuerSerial } from "./issuer_serial";
import { GeneralNames } from "@peculiar/asn1-x509";
import { ObjectDigestInfo } from "./object_digest_info";
export class Holder {
constructor(params = {}) {
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: IssuerSerial, implicit: true, context: 0, optional: true })
], Holder.prototype, "baseCertificateID", void 0);
__decorate([
AsnProp({ type: GeneralNames, implicit: true, context: 1, optional: true })
], Holder.prototype, "entityName", void 0);
__decorate([
AsnProp({ type: ObjectDigestInfo, implicit: true, context: 2, optional: true })
], Holder.prototype, "objectDigestInfo", void 0);
+29
View File
@@ -0,0 +1,29 @@
import { __decorate } from "tslib";
import { AsnProp, OctetString, AsnPropTypes } from "@peculiar/asn1-schema";
import { GeneralNames } from "@peculiar/asn1-x509";
export class IetfAttrSyntaxValueChoices {
constructor(params = {}) {
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: OctetString })
], IetfAttrSyntaxValueChoices.prototype, "cotets", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.ObjectIdentifier })
], IetfAttrSyntaxValueChoices.prototype, "oid", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.Utf8String })
], IetfAttrSyntaxValueChoices.prototype, "string", void 0);
export class IetfAttrSyntax {
constructor(params = {}) {
this.values = [];
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: GeneralNames, implicit: true, context: 0, optional: true })
], IetfAttrSyntax.prototype, "policyAuthority", void 0);
__decorate([
AsnProp({ type: IetfAttrSyntaxValueChoices, repeated: "sequence" })
], IetfAttrSyntax.prototype, "values", void 0);
+20
View File
@@ -0,0 +1,20 @@
export * from "./aa_clear_attrs";
export * from "./aa_controls";
export * from "./attr_cert_issuer";
export * from "./attr_cert_validity_period";
export * from "./attr_spec";
export * from "./attribute_certificate";
export * from "./attribute_certificate_info";
export * from "./class_list";
export * from "./clearance";
export * from "./holder";
export * from "./ietf_attr_syntax";
export * from "./issuer_serial";
export * from "./object_digest_info";
export * from "./object_identifiers";
export * from "./proxy_info";
export * from "./role_syntax";
export * from "./security_category";
export * from "./svce_auth_info";
export * from "./target";
export * from "./v2_form";
+20
View File
@@ -0,0 +1,20 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes, AsnIntegerArrayBufferConverter } from "@peculiar/asn1-schema";
import { GeneralNames } from "@peculiar/asn1-x509";
export class IssuerSerial {
constructor(params = {}) {
this.issuer = new GeneralNames();
this.serial = new ArrayBuffer(0);
this.issuerUID = new ArrayBuffer(0);
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: GeneralNames })
], IssuerSerial.prototype, "issuer", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter })
], IssuerSerial.prototype, "serial", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.BitString, optional: true })
], IssuerSerial.prototype, "issuerUID", void 0);
@@ -0,0 +1,29 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes } from "@peculiar/asn1-schema";
import { AlgorithmIdentifier } from "@peculiar/asn1-x509";
export var DigestedObjectType;
(function (DigestedObjectType) {
DigestedObjectType[DigestedObjectType["publicKey"] = 0] = "publicKey";
DigestedObjectType[DigestedObjectType["publicKeyCert"] = 1] = "publicKeyCert";
DigestedObjectType[DigestedObjectType["otherObjectTypes"] = 2] = "otherObjectTypes";
})(DigestedObjectType || (DigestedObjectType = {}));
export class ObjectDigestInfo {
constructor(params = {}) {
this.digestedObjectType = DigestedObjectType.publicKey;
this.digestAlgorithm = new AlgorithmIdentifier();
this.objectDigest = new ArrayBuffer(0);
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: AsnPropTypes.Enumerated })
], ObjectDigestInfo.prototype, "digestedObjectType", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.ObjectIdentifier, optional: true })
], ObjectDigestInfo.prototype, "otherObjectTypeID", void 0);
__decorate([
AsnProp({ type: AlgorithmIdentifier })
], ObjectDigestInfo.prototype, "digestAlgorithm", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.BitString })
], ObjectDigestInfo.prototype, "objectDigest", void 0);
@@ -0,0 +1,14 @@
import { id_pe, id_ce, id_pkix } from "@peculiar/asn1-x509";
export const id_pe_ac_auditIdentity = `${id_pe}.4`;
export const id_pe_aaControls = `${id_pe}.6`;
export const id_pe_ac_proxying = `${id_pe}.10`;
export const id_ce_targetInformation = `${id_ce}.55`;
export const id_aca = `${id_pkix}.10`;
export const id_aca_authenticationInfo = `${id_aca}.1`;
export const id_aca_accessIdentity = `${id_aca}.2`;
export const id_aca_chargingIdentity = `${id_aca}.3`;
export const id_aca_group = `${id_aca}.4`;
export const id_aca_encAttrs = `${id_aca}.6`;
export const id_at = "2.5.4";
export const id_at_role = `${id_at}.72`;
export const id_at_clearance = "2.5.1.5.55";
+14
View File
@@ -0,0 +1,14 @@
var ProxyInfo_1;
import { __decorate } from "tslib";
import { AsnType, AsnTypeTypes, AsnArray } from "@peculiar/asn1-schema";
import { Targets } from "./target";
let ProxyInfo = ProxyInfo_1 = class ProxyInfo extends AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, ProxyInfo_1.prototype);
}
};
ProxyInfo = ProxyInfo_1 = __decorate([
AsnType({ type: AsnTypeTypes.Sequence, itemType: Targets })
], ProxyInfo);
export { ProxyInfo };
+14
View File
@@ -0,0 +1,14 @@
import { __decorate } from "tslib";
import { AsnProp } from "@peculiar/asn1-schema";
import { GeneralNames, GeneralName } from "@peculiar/asn1-x509";
export class RoleSyntax {
constructor(params = {}) {
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: GeneralNames, implicit: true, context: 0, optional: true })
], RoleSyntax.prototype, "roleAuthority", void 0);
__decorate([
AsnProp({ type: GeneralName, implicit: true, context: 1 })
], RoleSyntax.prototype, "roleName", void 0);
@@ -0,0 +1,15 @@
import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes } from "@peculiar/asn1-schema";
export class SecurityCategory {
constructor(params = {}) {
this.type = "";
this.value = new ArrayBuffer(0);
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: AsnPropTypes.ObjectIdentifier, implicit: true, context: 0 })
], SecurityCategory.prototype, "type", void 0);
__decorate([
AsnProp({ type: AsnPropTypes.Any, implicit: true, context: 1 })
], SecurityCategory.prototype, "value", void 0);
+19
View File
@@ -0,0 +1,19 @@
import { __decorate } from "tslib";
import { AsnProp, OctetString } from "@peculiar/asn1-schema";
import { GeneralName } from "@peculiar/asn1-x509";
export class SvceAuthInfo {
constructor(params = {}) {
this.service = new GeneralName();
this.ident = new GeneralName();
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: GeneralName })
], SvceAuthInfo.prototype, "service", void 0);
__decorate([
AsnProp({ type: GeneralName })
], SvceAuthInfo.prototype, "ident", void 0);
__decorate([
AsnProp({ type: OctetString, optional: true })
], SvceAuthInfo.prototype, "authInfo", void 0);
+49
View File
@@ -0,0 +1,49 @@
var Targets_1;
import { __decorate } from "tslib";
import { AsnProp, AsnType, AsnTypeTypes, AsnArray } from "@peculiar/asn1-schema";
import { GeneralName } from "@peculiar/asn1-x509";
import { IssuerSerial } from "./issuer_serial";
import { ObjectDigestInfo } from "./object_digest_info";
export class TargetCert {
constructor(params = {}) {
this.targetCertificate = new IssuerSerial();
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: IssuerSerial })
], TargetCert.prototype, "targetCertificate", void 0);
__decorate([
AsnProp({ type: GeneralName, optional: true })
], TargetCert.prototype, "targetName", void 0);
__decorate([
AsnProp({ type: ObjectDigestInfo, optional: true })
], TargetCert.prototype, "certDigestInfo", void 0);
let Target = class Target {
constructor(params = {}) {
Object.assign(this, params);
}
};
__decorate([
AsnProp({ type: GeneralName, context: 0, implicit: true })
], Target.prototype, "targetName", void 0);
__decorate([
AsnProp({ type: GeneralName, context: 1, implicit: true })
], Target.prototype, "targetGroup", void 0);
__decorate([
AsnProp({ type: TargetCert, context: 2, implicit: true })
], Target.prototype, "targetCert", void 0);
Target = __decorate([
AsnType({ type: AsnTypeTypes.Choice })
], Target);
export { Target };
let Targets = Targets_1 = class Targets extends AsnArray {
constructor(items) {
super(items);
Object.setPrototypeOf(this, Targets_1.prototype);
}
};
Targets = Targets_1 = __decorate([
AsnType({ type: AsnTypeTypes.Sequence, itemType: Target })
], Targets);
export { Targets };
+19
View File
@@ -0,0 +1,19 @@
import { __decorate } from "tslib";
import { AsnProp } from "@peculiar/asn1-schema";
import { GeneralNames } from "@peculiar/asn1-x509";
import { IssuerSerial } from "./issuer_serial";
import { ObjectDigestInfo } from "./object_digest_info";
export class V2Form {
constructor(params = {}) {
Object.assign(this, params);
}
}
__decorate([
AsnProp({ type: GeneralNames, optional: true })
], V2Form.prototype, "issuerName", void 0);
__decorate([
AsnProp({ type: IssuerSerial, context: 0, implicit: true, optional: true })
], V2Form.prototype, "baseCertificateID", void 0);
__decorate([
AsnProp({ type: ObjectDigestInfo, context: 1, implicit: true, optional: true })
], V2Form.prototype, "objectDigestInfo", void 0);
+16
View File
@@ -0,0 +1,16 @@
import { GeneralName, Attribute } from "@peculiar/asn1-x509";
/**
* ```asn1
* ACClearAttrs ::= SEQUENCE {
* acIssuer GeneralName,
* acSerial INTEGER,
* attrs SEQUENCE OF Attribute
* }
* ```
*/
export declare class ACClearAttrs {
acIssuer: GeneralName;
acSerial: number;
attrs: Attribute[];
constructor(params?: Partial<ACClearAttrs>);
}
+18
View File
@@ -0,0 +1,18 @@
import { AttrSpec } from "./attr_spec";
/**
* ```asn1
* AAControls ::= SEQUENCE {
* pathLenConstraint INTEGER (0..MAX) OPTIONAL,
* permittedAttrs [0] AttrSpec OPTIONAL,
* excludedAttrs [1] AttrSpec OPTIONAL,
* permitUnSpecified BOOLEAN DEFAULT TRUE
* }
* ```
*/
export declare class AAControls {
pathLenConstraint?: number;
permittedAttrs?: AttrSpec;
excludedAttrs?: AttrSpec;
permitUnSpecified: boolean;
constructor(params?: Partial<AAControls>);
}
@@ -0,0 +1,16 @@
import { GeneralName } from "@peculiar/asn1-x509";
import { V2Form } from "./v2_form";
/**
* ```asn1
* AttCertIssuer ::= CHOICE {
* v1Form GeneralNames, -- MUST NOT be used in this
* -- profile
* v2Form [0] V2Form -- v2 only
* }
* ```
*/
export declare class AttCertIssuer {
v1Form?: GeneralName[];
v2Form?: V2Form;
constructor(params?: Partial<AttCertIssuer>);
}
@@ -0,0 +1,13 @@
/**
* ```asn1
* AttCertValidityPeriod ::= SEQUENCE {
* notBeforeTime GeneralizedTime,
* notAfterTime GeneralizedTime
* }
* ```
*/
export declare class AttCertValidityPeriod {
notBeforeTime: Date;
notAfterTime: Date;
constructor(params?: Partial<AttCertValidityPeriod>);
}
+9
View File
@@ -0,0 +1,9 @@
import { AsnArray } from "@peculiar/asn1-schema";
/**
* ```asn1
* AttrSpec ::= SEQUENCE OF OBJECT IDENTIFIER
* ```
*/
export declare class AttrSpec extends AsnArray<string> {
constructor(items?: string[]);
}
@@ -0,0 +1,17 @@
import { AlgorithmIdentifier } from "@peculiar/asn1-x509";
import { AttributeCertificateInfo } from "./attribute_certificate_info";
/**
* ```asn1
* AttributeCertificate ::= SEQUENCE {
* acinfo AttributeCertificateInfo,
* signatureAlgorithm AlgorithmIdentifier,
* signatureValue BIT STRING
* }
* ```
*/
export declare class AttributeCertificate {
acinfo: AttributeCertificateInfo;
signatureAlgorithm: AlgorithmIdentifier;
signatureValue: ArrayBuffer;
constructor(params?: Partial<AttributeCertificate>);
}
@@ -0,0 +1,39 @@
import { AlgorithmIdentifier, Attribute, UniqueIdentifier, Extensions, CertificateSerialNumber } from "@peculiar/asn1-x509";
import { Holder } from "./holder";
import { AttCertIssuer } from "./attr_cert_issuer";
import { AttCertValidityPeriod } from "./attr_cert_validity_period";
/**
* ```asn1
* AttCertVersion ::= INTEGER { v2(1) }
* ```
*/
export declare enum AttCertVersion {
v2 = 1
}
/**
* ```asn1
* AttributeCertificateInfo ::= SEQUENCE {
* version AttCertVersion -- version is v2,
* holder Holder,
* issuer AttCertIssuer,
* signature AlgorithmIdentifier,
* serialNumber CertificateSerialNumber,
* attrCertValidityPeriod AttCertValidityPeriod,
* attributes SEQUENCE OF Attribute,
* issuerUniqueID UniqueIdentifier OPTIONAL,
* extensions Extensions OPTIONAL
* }
* ```
*/
export declare class AttributeCertificateInfo {
version: AttCertVersion;
holder: Holder;
issuer: AttCertIssuer;
signature: AlgorithmIdentifier;
serialNumber: CertificateSerialNumber;
attrCertValidityPeriod: AttCertValidityPeriod;
attributes: Attribute[];
issuerUniqueID?: UniqueIdentifier;
extensions?: Extensions;
constructor(params?: Partial<AttributeCertificateInfo>);
}
+23
View File
@@ -0,0 +1,23 @@
import { BitString } from "@peculiar/asn1-schema";
export declare enum ClassListFlags {
unmarked = 1,
unclassified = 2,
restricted = 4,
confidential = 8,
secret = 16,
topSecret = 32
}
/**
* ```asn1
* ClassList ::= BIT STRING {
* unmarked (0),
* unclassified (1),
* restricted (2),
* confidential (3),
* secret (4),
* topSecret (5)
* }
* ```
*/
export declare class ClassList extends BitString<ClassListFlags> {
}
+17
View File
@@ -0,0 +1,17 @@
import { ClassList } from "./class_list";
import { SecurityCategory } from "./security_category";
/**
* ```asn1
* Clearance ::= SEQUENCE {
* policyId OBJECT IDENTIFIER,
* classList ClassList DEFAULT {unclassified},
* securityCategories SET OF SecurityCategory OPTIONAL
* }
* ```
*/
export declare class Clearance {
policyId: string;
classList: ClassList;
securityCategories?: SecurityCategory[];
constructor(params?: Partial<Clearance>);
}
+23
View File
@@ -0,0 +1,23 @@
import { IssuerSerial } from "./issuer_serial";
import { GeneralNames } from "@peculiar/asn1-x509";
import { ObjectDigestInfo } from "./object_digest_info";
/**
* ```asn1
* Holder ::= SEQUENCE {
* baseCertificateID [0] IssuerSerial OPTIONAL,
* -- the issuer and serial number of
* -- the holder's Public Key Certificate
* entityName [1] GeneralNames OPTIONAL,
* -- the name of the claimant or role
* objectDigestInfo [2] ObjectDigestInfo OPTIONAL
* -- used to directly authenticate the
* -- holder, for example, an executable
* }
* ```
*/
export declare class Holder {
baseCertificateID?: IssuerSerial;
entityName?: GeneralNames;
objectDigestInfo?: ObjectDigestInfo;
constructor(params?: Partial<Holder>);
}
@@ -0,0 +1,33 @@
import { OctetString } from "@peculiar/asn1-schema";
import { GeneralNames } from "@peculiar/asn1-x509";
/**
* ```asn1
* CHOICE {
* octets OCTET STRING,
* oid OBJECT IDENTIFIER,
* string UTF8String
* ```
*/
export declare class IetfAttrSyntaxValueChoices {
cotets?: OctetString;
oid?: string;
string?: string;
constructor(params?: Partial<IetfAttrSyntaxValueChoices>);
}
/**
* ```asn1
* IetfAttrSyntax ::= SEQUENCE {
* policyAuthority[0] GeneralNames OPTIONAL,
* values SEQUENCE OF CHOICE {
* octets OCTET STRING,
* oid OBJECT IDENTIFIER,
* string UTF8String
* }
* }
* ```
*/
export declare class IetfAttrSyntax {
policyAuthority?: GeneralNames;
values: IetfAttrSyntaxValueChoices[];
constructor(params?: Partial<IetfAttrSyntax>);
}
+20
View File
@@ -0,0 +1,20 @@
export * from "./aa_clear_attrs";
export * from "./aa_controls";
export * from "./attr_cert_issuer";
export * from "./attr_cert_validity_period";
export * from "./attr_spec";
export * from "./attribute_certificate";
export * from "./attribute_certificate_info";
export * from "./class_list";
export * from "./clearance";
export * from "./holder";
export * from "./ietf_attr_syntax";
export * from "./issuer_serial";
export * from "./object_digest_info";
export * from "./object_identifiers";
export * from "./proxy_info";
export * from "./role_syntax";
export * from "./security_category";
export * from "./svce_auth_info";
export * from "./target";
export * from "./v2_form";
+16
View File
@@ -0,0 +1,16 @@
import { GeneralNames, CertificateSerialNumber, UniqueIdentifier } from "@peculiar/asn1-x509";
/**
* ```asn1
* IssuerSerial ::= SEQUENCE {
* issuer GeneralNames,
* serial CertificateSerialNumber,
* issuerUID UniqueIdentifier OPTIONAL
* }
* ```
*/
export declare class IssuerSerial {
issuer: GeneralNames;
serial: CertificateSerialNumber;
issuerUID: UniqueIdentifier;
constructor(params?: Partial<IssuerSerial>);
}
@@ -0,0 +1,28 @@
import { AlgorithmIdentifier } from "@peculiar/asn1-x509";
export declare enum DigestedObjectType {
publicKey = 0,
publicKeyCert = 1,
otherObjectTypes = 2
}
/**
* ```asn1
* ObjectDigestInfo ::= SEQUENCE {
* digestedObjectType ENUMERATED {
* publicKey (0),
* publicKeyCert (1),
* otherObjectTypes (2) },
* -- otherObjectTypes MUST NOT
* -- MUST NOT be used in this profile
* otherObjectTypeID OBJECT IDENTIFIER OPTIONAL,
* digestAlgorithm AlgorithmIdentifier,
* objectDigest BIT STRING
* }
* ```
*/
export declare class ObjectDigestInfo {
digestedObjectType: DigestedObjectType;
otherObjectTypeID?: string;
digestAlgorithm: AlgorithmIdentifier;
objectDigest: ArrayBuffer;
constructor(params?: Partial<ObjectDigestInfo>);
}
@@ -0,0 +1,80 @@
/**
* ```asn1
* id-pe-ac-auditIdentity OBJECT IDENTIFIER ::= { id-pe 4 }
* ```
*/
export declare const id_pe_ac_auditIdentity = "1.3.6.1.5.5.7.1.4";
/**
* ```asn1
* id-pe-aaControls OBJECT IDENTIFIER ::= { id-pe 6 }
* ```
*/
export declare const id_pe_aaControls = "1.3.6.1.5.5.7.1.6";
/**
* ```asn1
* id-pe-ac-proxying OBJECT IDENTIFIER ::= { id-pe 10 }
* ```
*/
export declare const id_pe_ac_proxying = "1.3.6.1.5.5.7.1.10";
/**
* ```asn1
* id-ce-targetInformation OBJECT IDENTIFIER ::= { id-ce 55 }
* ```
*/
export declare const id_ce_targetInformation = "2.5.29.55";
/**
* ```asn1
* id-aca OBJECT IDENTIFIER ::= { id-pkix 10 }
* ```
*/
export declare const id_aca = "1.3.6.1.5.5.7.10";
/**
* ```asn1
* id-aca-authenticationInfo OBJECT IDENTIFIER ::= { id-aca 1 }
* ```
*/
export declare const id_aca_authenticationInfo = "1.3.6.1.5.5.7.10.1";
/**
* ```asn1
* id-aca-accessIdentity OBJECT IDENTIFIER ::= { id-aca 2 }
* ```
*/
export declare const id_aca_accessIdentity = "1.3.6.1.5.5.7.10.2";
/**
* ```asn1
* id-aca-chargingIdentity OBJECT IDENTIFIER ::= { id-aca 3 }
* ```
*/
export declare const id_aca_chargingIdentity = "1.3.6.1.5.5.7.10.3";
/**
* ```asn1
* id-aca-group OBJECT IDENTIFIER ::= { id-aca 4 }
* ```
*/
export declare const id_aca_group = "1.3.6.1.5.5.7.10.4";
/**
* ```asn1
* id-aca-encAttrs OBJECT IDENTIFIER ::= { id-aca 6 }
* ```
*/
export declare const id_aca_encAttrs = "1.3.6.1.5.5.7.10.6";
/**
* ```asn1
* id-at OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }
* ```
*/
export declare const id_at = "2.5.4";
/**
* ```asn1
* id-at-role OBJECT IDENTIFIER ::= { id-at 72}
* ```
*/
export declare const id_at_role = "2.5.4.72";
/**
* ```asn1
* id-at-clearance OBJECT IDENTIFIER ::=
* { joint-iso-ccitt(2) ds(5) module(1)
* selected-attribute-types(5) clearance (55) }
* ```
*/
export declare const id_at_clearance = "2.5.1.5.55";
+10
View File
@@ -0,0 +1,10 @@
import { AsnArray } from "@peculiar/asn1-schema";
import { Targets } from "./target";
/**
* ```asn1
* ProxyInfo ::= SEQUENCE OF Targets
* ```
*/
export declare class ProxyInfo extends AsnArray<Targets> {
constructor(items?: Targets[]);
}
+14
View File
@@ -0,0 +1,14 @@
import { GeneralNames, GeneralName } from "@peculiar/asn1-x509";
/**
* ```asn1
* RoleSyntax ::= SEQUENCE {
* roleAuthority [0] GeneralNames OPTIONAL,
* roleName [1] GeneralName
* }
* ```
*/
export declare class RoleSyntax {
roleAuthority?: GeneralNames;
roleName?: GeneralName;
constructor(params?: Partial<RoleSyntax>);
}
@@ -0,0 +1,13 @@
/**
* ```asn1
* SecurityCategory ::= SEQUENCE {
* type [0] IMPLICIT OBJECT IDENTIFIER,
* value [1] ANY DEFINED BY type
* }
* ```
*/
export declare class SecurityCategory {
type: string;
value: ArrayBuffer;
constructor(params?: Partial<SecurityCategory>);
}
+17
View File
@@ -0,0 +1,17 @@
import { OctetString } from "@peculiar/asn1-schema";
import { GeneralName } from "@peculiar/asn1-x509";
/**
* ```asn1
* SvceAuthInfo ::= SEQUENCE {
* service GeneralName,
* ident GeneralName,
* authInfo OCTET STRING OPTIONAL
* }
* ```
*/
export declare class SvceAuthInfo {
service: GeneralName;
ident: GeneralName;
authInfo?: OctetString;
constructor(params?: Partial<SvceAuthInfo>);
}
+42
View File
@@ -0,0 +1,42 @@
import { AsnArray } from "@peculiar/asn1-schema";
import { GeneralName } from "@peculiar/asn1-x509";
import { IssuerSerial } from "./issuer_serial";
import { ObjectDigestInfo } from "./object_digest_info";
/**
* ```asn1
* TargetCert ::= SEQUENCE {
* targetCertificate IssuerSerial,
* targetName GeneralName OPTIONAL,
* certDigestInfo ObjectDigestInfo OPTIONAL
* }
* ```
*/
export declare class TargetCert {
targetCertificate: IssuerSerial;
targetName?: GeneralName;
certDigestInfo?: ObjectDigestInfo;
constructor(params?: Partial<TargetCert>);
}
/**
* ```asn1
* Target ::= CHOICE {
* targetName [0] GeneralName,
* targetGroup [1] GeneralName,
* targetCert [2] TargetCert
* }
* ```
*/
export declare class Target {
targetName?: GeneralName;
targetGroup?: GeneralName;
targetCert?: TargetCert;
constructor(params?: Partial<Target>);
}
/**
* ```asn1
* Targets ::= SEQUENCE OF Target
* ```
*/
export declare class Targets extends AsnArray<Target> {
constructor(items?: Target[]);
}
+21
View File
@@ -0,0 +1,21 @@
import { GeneralNames } from "@peculiar/asn1-x509";
import { IssuerSerial } from "./issuer_serial";
import { ObjectDigestInfo } from "./object_digest_info";
/**
* ```asn1
* V2Form ::= SEQUENCE {
* issuerName GeneralNames OPTIONAL,
* baseCertificateID [0] IssuerSerial OPTIONAL,
* objectDigestInfo [1] ObjectDigestInfo OPTIONAL
* -- issuerName MUST be present in this profile
* -- baseCertificateID and objectDigestInfo MUST
* -- NOT be present in this profile
* }
* ```
*/
export declare class V2Form {
issuerName?: GeneralNames;
baseCertificateID?: IssuerSerial;
objectDigestInfo?: ObjectDigestInfo;
constructor(params?: Partial<V2Form>);
}
+43
View File
@@ -0,0 +1,43 @@
{
"name": "@peculiar/asn1-x509-attr",
"version": "2.6.1",
"description": "ASN.1 schema of `An Internet Attribute Certificate` (RFC3281)",
"files": [
"build/**/*.{js,d.ts}",
"LICENSE",
"README.md"
],
"bugs": {
"url": "https://github.com/PeculiarVentures/asn1-schema/issues"
},
"homepage": "https://github.com/PeculiarVentures/asn1-schema/tree/master/packages/x509-attr#readme",
"keywords": [
"asn"
],
"author": "PeculiarVentures, LLC",
"license": "MIT",
"main": "build/cjs/index.js",
"module": "build/es2015/index.js",
"types": "build/types/index.d.ts",
"publishConfig": {
"access": "public"
},
"scripts": {
"test": "mocha",
"clear": "rimraf build",
"build": "npm run build:module && npm run build:types",
"build:module": "npm run build:cjs && npm run build:es2015",
"build:cjs": "tsc -p tsconfig.compile.json --removeComments --module commonjs --outDir build/cjs",
"build:es2015": "tsc -p tsconfig.compile.json --removeComments --module ES2015 --outDir build/es2015",
"prebuild:types": "rimraf build/types",
"build:types": "tsc -p tsconfig.compile.json --outDir build/types --declaration --emitDeclarationOnly",
"rebuild": "npm run clear && npm run build"
},
"dependencies": {
"@peculiar/asn1-schema": "^2.6.0",
"@peculiar/asn1-x509": "^2.6.1",
"asn1js": "^3.0.6",
"tslib": "^2.8.1"
},
"gitHead": "e533eba96fe14ca21b9a1b3f47cb58aaaa78c0ad"
}