@wildboar/pkcs
Version:
Public Key Cryptography Standard PDUs in TypeScript
31 lines (30 loc) • 1.33 kB
JavaScript
import * as $ from "@wildboar/asn1/functional";
import { _get_decoder_for_KeyInfo_paramsAndOps, _get_encoder_for_KeyInfo_paramsAndOps, } from "../PKCS-15/KeyInfo-paramsAndOps.ta.mjs";
import { _decode_Reference, _encode_Reference, } from "../PKCS-15/Reference.ta.mjs";
/**
* @summary Returns a function that will decode an ASN.1 element into a(n) KeyInfo
* @function
* @param {_Element} el The element being decoded.
* @returns A function that will decode an ASN.1 element.
*/
export function _get_decoder_for_KeyInfo(_decode_ParameterType, _decode_OperationsType) {
return $._decode_inextensible_choice({
"UNIVERSAL 2": ["reference", _decode_Reference],
"UNIVERSAL 16": [
"paramsAndOps",
_get_decoder_for_KeyInfo_paramsAndOps(_decode_ParameterType, _decode_OperationsType),
],
});
}
/**
* @summary Returns a function that will encode a(n) KeyInfo into an ASN.1 Element.
* @function
* @returns A function that will encode a(n) KeyInfo as an ASN.1 element.
*/
export function _get_encoder_for_KeyInfo(_encode_ParameterType, _encode_OperationsType) {
return $._encode_choice({
reference: _encode_Reference,
paramsAndOps: _get_encoder_for_KeyInfo_paramsAndOps(_encode_ParameterType, _encode_OperationsType),
}, $.BER);
}
/* eslint-enable */