UNPKG

@wildboar/pkcs

Version:
85 lines (84 loc) 3.91 kB
/* eslint-disable */ import { ASN1TagClass as _TagClass } from "@wildboar/asn1"; import * as $ from "@wildboar/asn1/functional"; import { _decode_AuthObjects, _encode_AuthObjects, } from "../PKCS-15/AuthObjects.ta.mjs"; import { _decode_Certificates, _encode_Certificates, } from "../PKCS-15/Certificates.ta.mjs"; import { _decode_DataObjects, _encode_DataObjects, } from "../PKCS-15/DataObjects.ta.mjs"; import { _decode_PrivateKeys, _encode_PrivateKeys, } from "../PKCS-15/PrivateKeys.ta.mjs"; import { _decode_PublicKeys, _encode_PublicKeys, } from "../PKCS-15/PublicKeys.ta.mjs"; import { _decode_SecretKeys, _encode_SecretKeys, } from "../PKCS-15/SecretKeys.ta.mjs"; let _cached_decoder_for_PKCS15Objects = null; /** * @summary Decodes an ASN.1 element into a(n) PKCS15Objects * @function * @param {_Element} el The element being decoded. * @returns {PKCS15Objects} The decoded data structure. */ export function _decode_PKCS15Objects(el) { if (!_cached_decoder_for_PKCS15Objects) { _cached_decoder_for_PKCS15Objects = $._decode_extensible_choice({ "CONTEXT 0": [ "privateKeys", $._decode_explicit(() => _decode_PrivateKeys), ], "CONTEXT 1": [ "publicKeys", $._decode_explicit(() => _decode_PublicKeys), ], "CONTEXT 2": [ "trustedPublicKeys", $._decode_explicit(() => _decode_PublicKeys), ], "CONTEXT 3": [ "secretKeys", $._decode_explicit(() => _decode_SecretKeys), ], "CONTEXT 4": [ "certificates", $._decode_explicit(() => _decode_Certificates), ], "CONTEXT 5": [ "trustedCertificates", $._decode_explicit(() => _decode_Certificates), ], "CONTEXT 6": [ "usefulCertificates", $._decode_explicit(() => _decode_Certificates), ], "CONTEXT 7": [ "dataObjects", $._decode_explicit(() => _decode_DataObjects), ], "CONTEXT 8": [ "authObjects", $._decode_explicit(() => _decode_AuthObjects), ], }); } return _cached_decoder_for_PKCS15Objects(el); } let _cached_encoder_for_PKCS15Objects = null; /** * @summary Encodes a(n) PKCS15Objects into an ASN.1 Element. * @function * @param value The element being encoded. * @param elGetter A function that can be used to get new ASN.1 elements. * @returns {_Element} The PKCS15Objects, encoded as an ASN.1 Element. */ export function _encode_PKCS15Objects(value, elGetter) { if (!_cached_encoder_for_PKCS15Objects) { _cached_encoder_for_PKCS15Objects = $._encode_choice({ privateKeys: $._encode_explicit(_TagClass.context, 0, () => _encode_PrivateKeys, $.BER), publicKeys: $._encode_explicit(_TagClass.context, 1, () => _encode_PublicKeys, $.BER), trustedPublicKeys: $._encode_explicit(_TagClass.context, 2, () => _encode_PublicKeys, $.BER), secretKeys: $._encode_explicit(_TagClass.context, 3, () => _encode_SecretKeys, $.BER), certificates: $._encode_explicit(_TagClass.context, 4, () => _encode_Certificates, $.BER), trustedCertificates: $._encode_explicit(_TagClass.context, 5, () => _encode_Certificates, $.BER), usefulCertificates: $._encode_explicit(_TagClass.context, 6, () => _encode_Certificates, $.BER), dataObjects: $._encode_explicit(_TagClass.context, 7, () => _encode_DataObjects, $.BER), authObjects: $._encode_explicit(_TagClass.context, 8, () => _encode_AuthObjects, $.BER), }, $.BER); } return _cached_encoder_for_PKCS15Objects(value, elGetter); } /* eslint-enable */