import { OBJECT_IDENTIFIER } from "@wildboar/asn1"; import * as $ from "@wildboar/asn1/functional"; import { ParamOptions } from "../AlgorithmInformation-2009/ParamOptions.ta.mjs"; import { KeyUsage } from "@wildboar/x500/CertificateExtensions"; /** * @summary PUBLIC_KEY * @description * * ### ASN.1 Definition: * * ```asn1 * PUBLIC-KEY ::= CLASS { * &id OBJECT IDENTIFIER UNIQUE, * &KeyValue OPTIONAL, * &Params OPTIONAL, * ¶mPresence ParamOptions DEFAULT absent, * &keyUsage KeyUsage OPTIONAL, * &PrivateKey OPTIONAL * } WITH SYNTAX { * IDENTIFIER &id * [KEY &KeyValue] * [PARAMS [TYPE &Params] ARE ¶mPresence] * [CERT-KEY-USAGE &keyUsage] * [PRIVATE-KEY &PrivateKey] * } * ``` * * @interface */ export interface PUBLIC_KEY { /** * @summary A fixed string that can be used for external programs to determine the object class of this object. */ readonly class: "PUBLIC-KEY"; /** * @summary A map of type fields to their corresponding decoders. */ readonly decoderFor: Partial<{ [_K in keyof PUBLIC_KEY]: $.ASN1Decoder[_K]>; }>; /** * @summary A map of type fields to their corresponding encoders. */ readonly encoderFor: Partial<{ [_K in keyof PUBLIC_KEY]: $.ASN1Encoder[_K]>; }>; /** * @summary &id */ readonly "&id"?: OBJECT_IDENTIFIER; /** * @summary &KeyValue */ readonly "&KeyValue": KeyValue; /** * @summary &Params */ readonly "&Params": Params; /** * @summary ¶mPresence */ readonly "¶mPresence"?: ParamOptions; /** * @summary &keyUsage */ readonly "&keyUsage"?: KeyUsage; /** * @summary &PrivateKey */ readonly "&PrivateKey": PrivateKey; } //# sourceMappingURL=PUBLIC-KEY.oca.d.mts.map