convert.js 947 B

123456789101112131415161718192021222324252627
  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 bytes_1 = require("@peculiar/utils/bytes");
  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) {
  14. return parser_1.AsnParser.parse(data, target);
  15. }
  16. static toString(data) {
  17. const buf = (0, bytes_1.isBufferSource)(data)
  18. ? (0, bytes_1.toArrayBuffer)(data)
  19. : AsnConvert.serialize(data);
  20. const asn = asn1js.fromBER(buf);
  21. if (asn.offset === -1) {
  22. throw new Error(`Cannot decode ASN.1 data. ${asn.result.error}`);
  23. }
  24. return asn.result.toString();
  25. }
  26. }
  27. exports.AsnConvert = AsnConvert;