@wildboar/pkcs
Version:
Public Key Cryptography Standard PDUs in TypeScript
60 lines • 2.79 kB
text/typescript
import { ASN1Element as _Element } from "@wildboar/asn1";
import * as $ from "@wildboar/asn1/functional";
import { CertificateObject } from "../PKCS-15/CertificateObject.ta.mjs";
import { CVCertificateAttributes } from "../PKCS-15/CVCertificateAttributes.ta.mjs";
import { PGPCertificateAttributes } from "../PKCS-15/PGPCertificateAttributes.ta.mjs";
import { SPKICertificateAttributes } from "../PKCS-15/SPKICertificateAttributes.ta.mjs";
import { WTLSCertificateAttributes } from "../PKCS-15/WTLSCertificateAttributes.ta.mjs";
import { X509AttributeCertificateAttributes } from "../PKCS-15/X509AttributeCertificateAttributes.ta.mjs";
import { X509CertificateAttributes } from "../PKCS-15/X509CertificateAttributes.ta.mjs";
import { X9_68CertificateAttributes } from "../PKCS-15/X9-68CertificateAttributes.ta.mjs";
/**
* @summary CertificateType
* @description
*
* ### ASN.1 Definition:
*
* ```asn1
* CertificateType ::= CHOICE {
* x509Certificate CertificateObject { X509CertificateAttributes},
* x509AttributeCertificate [0] CertificateObject {X509AttributeCertificateAttributes},
* spkiCertificate [1] CertificateObject {SPKICertificateAttributes},
* pgpCertificate [2] CertificateObject {PGPCertificateAttributes},
* wtlsCertificate [3] CertificateObject {WTLSCertificateAttributes},
* x9-68Certificate [4] CertificateObject {X9-68CertificateAttributes},
* ...,
* cvCertificate [5] CertificateObject {CVCertificateAttributes}
* }
* ```
*/
export type CertificateType = {
x509Certificate: CertificateObject<X509CertificateAttributes>;
} | {
x509AttributeCertificate: CertificateObject<X509AttributeCertificateAttributes>;
} | {
spkiCertificate: CertificateObject<SPKICertificateAttributes>;
} | {
pgpCertificate: CertificateObject<PGPCertificateAttributes>;
} | {
wtlsCertificate: CertificateObject<WTLSCertificateAttributes>;
} | {
x9_68Certificate: CertificateObject<X9_68CertificateAttributes>;
} | {
cvCertificate: CertificateObject<CVCertificateAttributes>;
} | _Element;
/**
* @summary Decodes an ASN.1 element into a(n) CertificateType
* @function
* @param {_Element} el The element being decoded.
* @returns {CertificateType} The decoded data structure.
*/
export declare function _decode_CertificateType(el: _Element): CertificateType;
/**
* @summary Encodes a(n) CertificateType 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 CertificateType, encoded as an ASN.1 Element.
*/
export declare function _encode_CertificateType(value: CertificateType, elGetter: $.ASN1Encoder<CertificateType>): _Element;
//# sourceMappingURL=CertificateType.ta.d.mts.map