tbs_certificate.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.TBSCertificate = void 0;
  4. const tslib_1 = require("tslib");
  5. const asn1_schema_1 = require("@peculiar/asn1-schema");
  6. const algorithm_identifier_1 = require("./algorithm_identifier");
  7. const name_1 = require("./name");
  8. const subject_public_key_info_1 = require("./subject_public_key_info");
  9. const validity_1 = require("./validity");
  10. const extension_1 = require("./extension");
  11. const types_1 = require("./types");
  12. class TBSCertificate {
  13. constructor(params = {}) {
  14. this.version = types_1.Version.v1;
  15. this.serialNumber = new ArrayBuffer(0);
  16. this.signature = new algorithm_identifier_1.AlgorithmIdentifier();
  17. this.issuer = new name_1.Name();
  18. this.validity = new validity_1.Validity();
  19. this.subject = new name_1.Name();
  20. this.subjectPublicKeyInfo = new subject_public_key_info_1.SubjectPublicKeyInfo();
  21. Object.assign(this, params);
  22. }
  23. }
  24. exports.TBSCertificate = TBSCertificate;
  25. tslib_1.__decorate([
  26. (0, asn1_schema_1.AsnProp)({
  27. type: asn1_schema_1.AsnPropTypes.Integer,
  28. context: 0,
  29. defaultValue: types_1.Version.v1,
  30. })
  31. ], TBSCertificate.prototype, "version", void 0);
  32. tslib_1.__decorate([
  33. (0, asn1_schema_1.AsnProp)({
  34. type: asn1_schema_1.AsnPropTypes.Integer,
  35. converter: asn1_schema_1.AsnIntegerArrayBufferConverter,
  36. })
  37. ], TBSCertificate.prototype, "serialNumber", void 0);
  38. tslib_1.__decorate([
  39. (0, asn1_schema_1.AsnProp)({ type: algorithm_identifier_1.AlgorithmIdentifier })
  40. ], TBSCertificate.prototype, "signature", void 0);
  41. tslib_1.__decorate([
  42. (0, asn1_schema_1.AsnProp)({ type: name_1.Name })
  43. ], TBSCertificate.prototype, "issuer", void 0);
  44. tslib_1.__decorate([
  45. (0, asn1_schema_1.AsnProp)({ type: validity_1.Validity })
  46. ], TBSCertificate.prototype, "validity", void 0);
  47. tslib_1.__decorate([
  48. (0, asn1_schema_1.AsnProp)({ type: name_1.Name })
  49. ], TBSCertificate.prototype, "subject", void 0);
  50. tslib_1.__decorate([
  51. (0, asn1_schema_1.AsnProp)({ type: subject_public_key_info_1.SubjectPublicKeyInfo })
  52. ], TBSCertificate.prototype, "subjectPublicKeyInfo", void 0);
  53. tslib_1.__decorate([
  54. (0, asn1_schema_1.AsnProp)({
  55. type: asn1_schema_1.AsnPropTypes.BitString,
  56. context: 1,
  57. implicit: true,
  58. optional: true,
  59. })
  60. ], TBSCertificate.prototype, "issuerUniqueID", void 0);
  61. tslib_1.__decorate([
  62. (0, asn1_schema_1.AsnProp)({ type: asn1_schema_1.AsnPropTypes.BitString, context: 2, implicit: true, optional: true })
  63. ], TBSCertificate.prototype, "subjectUniqueID", void 0);
  64. tslib_1.__decorate([
  65. (0, asn1_schema_1.AsnProp)({ type: extension_1.Extensions, context: 3, optional: true })
  66. ], TBSCertificate.prototype, "extensions", void 0);