@wildboar/pkcs
Version:
Public Key Cryptography Standard PDUs in TypeScript
57 lines • 2.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports._encode_RSAPublicKeyChoice = exports._decode_RSAPublicKeyChoice = void 0;
/* eslint-disable */
const asn1_ts_1 = require("asn1-ts");
const $ = require("asn1-ts/dist/node/functional");
const SubjectPublicKeyInfo_ta_1 = require("@wildboar/x500/src/lib/modules/AuthenticationFramework/SubjectPublicKeyInfo.ta");
const RSAPublicKey_ta_1 = require("../PKCS-1/RSAPublicKey.ta");
/* END_OF_SYMBOL_DEFINITION RSAPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _cached_decoder_for_RSAPublicKeyChoice */
let _cached_decoder_for_RSAPublicKeyChoice = null;
/* END_OF_SYMBOL_DEFINITION _cached_decoder_for_RSAPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _decode_RSAPublicKeyChoice */
/**
* @summary Decodes an ASN.1 element into a(n) RSAPublicKeyChoice
* @function
* @param {_Element} el The element being decoded.
* @returns {RSAPublicKeyChoice} The decoded data structure.
*/
function _decode_RSAPublicKeyChoice(el) {
if (!_cached_decoder_for_RSAPublicKeyChoice) {
_cached_decoder_for_RSAPublicKeyChoice = $._decode_extensible_choice({
"UNIVERSAL 16": ["raw", RSAPublicKey_ta_1._decode_RSAPublicKey],
"CONTEXT 1": [
"spki",
$._decode_implicit(() => SubjectPublicKeyInfo_ta_1._decode_SubjectPublicKeyInfo),
],
});
}
return _cached_decoder_for_RSAPublicKeyChoice(el);
}
exports._decode_RSAPublicKeyChoice = _decode_RSAPublicKeyChoice;
/* END_OF_SYMBOL_DEFINITION _decode_RSAPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _cached_encoder_for_RSAPublicKeyChoice */
let _cached_encoder_for_RSAPublicKeyChoice = null;
/* END_OF_SYMBOL_DEFINITION _cached_encoder_for_RSAPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _encode_RSAPublicKeyChoice */
/**
* @summary Encodes a(n) RSAPublicKeyChoice into an ASN.1 Element.
* @function
* @param {value} el The element being decoded.
* @param elGetter A function that can be used to get new ASN.1 elements.
* @returns {_Element} The RSAPublicKeyChoice, encoded as an ASN.1 Element.
*/
function _encode_RSAPublicKeyChoice(value, elGetter) {
if (!_cached_encoder_for_RSAPublicKeyChoice) {
_cached_encoder_for_RSAPublicKeyChoice = $._encode_choice({
raw: RSAPublicKey_ta_1._encode_RSAPublicKey,
spki: $._encode_implicit(asn1_ts_1.ASN1TagClass.context, 1, () => SubjectPublicKeyInfo_ta_1._encode_SubjectPublicKeyInfo, $.BER),
}, $.BER);
}
return _cached_encoder_for_RSAPublicKeyChoice(value, elGetter);
}
exports._encode_RSAPublicKeyChoice = _encode_RSAPublicKeyChoice;
/* END_OF_SYMBOL_DEFINITION _encode_RSAPublicKeyChoice */
/* eslint-enable */
//# sourceMappingURL=RSAPublicKeyChoice.ta.js.map