convert.js 965 B

12345678910111213141516171819202122232425
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.AsnConvert = void 0;
  4. const tslib_1 = require("tslib");
  5. const asn1js = tslib_1.__importStar(require("asn1js"));
  6. const utils_1 = require("@peculiar/utils");
  7. const parser_1 = require("./parser");
  8. const serializer_1 = require("./serializer");
  9. class AsnConvert {
  10. static serialize(obj) {
  11. return serializer_1.AsnSerializer.serialize(obj);
  12. }
  13. static parse(data, target, options) {
  14. return parser_1.AsnParser.parse(data, target, options);
  15. }
  16. static toString(data, options) {
  17. const buf = (0, utils_1.isBufferSource)(data) ? (0, utils_1.toArrayBuffer)(data) : AsnConvert.serialize(data);
  18. const asn = asn1js.fromBER(buf, options?.berOptions);
  19. if (asn.offset === -1) {
  20. throw new Error(`Cannot decode ASN.1 data. ${asn.result.error}`);
  21. }
  22. return asn.result.toString();
  23. }
  24. }
  25. exports.AsnConvert = AsnConvert;