UNPKG

@peculiar/asn1-ess

Version:

ASN.1 schema based on Enhanced Security Services (ESS) for S/MIME (RFC 2634)

71 lines (70 loc) 1.86 kB
import { AlgorithmIdentifier, CertificateSerialNumber, GeneralNames, PolicyInformation } from "@peculiar/asn1-x509"; import { Hash } from "./types"; /** * ```asn1 * IssuerSerial ::= SEQUENCE { * issuer GeneralNames, * serialNumber CertificateSerialNumber * } * ``` */ export declare class IssuerSerial { issuer: GeneralNames; serialNumber: CertificateSerialNumber; constructor(params?: Partial<IssuerSerial>); } /** * ```asn1 * ESSCertID ::= SEQUENCE { * certHash Hash, * issuerSerial IssuerSerial OPTIONAL * } * ``` */ export declare class ESSCertID { certHash: Hash; issuerSerial?: IssuerSerial; constructor(params?: Partial<ESSCertID>); } /** * ```asn1 * SigningCertificate ::= SEQUENCE { * certs SEQUENCE OF ESSCertID, * policies SEQUENCE OF PolicyInformation OPTIONAL * } * ``` */ export declare class SigningCertificate { certs: ESSCertID[]; policies?: PolicyInformation[]; constructor(params?: Partial<SigningCertificate>); } /** * ```asn1 * ESSCertIDv2 ::= SEQUENCE { * hashAlgorithm AlgorithmIdentifier * DEFAULT {algorithm id-sha256}, * certHash Hash, * issuerSerial IssuerSerial OPTIONAL * } * ``` */ export declare class ESSCertIDv2 { hashAlgorithm?: AlgorithmIdentifier; certHash: Hash; issuerSerial?: IssuerSerial; constructor(params?: Partial<ESSCertIDv2>); } /** * ```asn1 * SigningCertificateV2 ::= SEQUENCE { * certs SEQUENCE OF ESSCertIDv2, * policies SEQUENCE OF PolicyInformation OPTIONAL * } * ``` */ export declare class SigningCertificateV2 { certs: ESSCertIDv2[]; policies?: PolicyInformation[]; constructor(params?: Partial<SigningCertificateV2>); }