import { ASN1Any, ASN1BitString, ASN1Bool, ASN1Choice, ASN1ChoiceCtor, ASN1Integer, ASN1OctString, ASN1OID, ASN1Sequence, ASN1SequenceCtor, ASN1Set, ASN1SetCtor, } from './asn1'; export interface X509Certificate extends ASN1Sequence { tbsCertificate: X509TBSCertificate; signatureAlgorithm: X509AlgorithmIdentifier; signature: ASN1BitString; toPEM(): Buffer; } export interface X509CertificateCtor extends ASN1SequenceCtor { } export interface X509TBSCertificate extends ASN1Sequence { version: ASN1Integer; serialNumber: ASN1Integer; signature: X509AlgorithmIdentifier; issuer: X509RDNSequence; validity: X509Validity; subject: X509RDNSequence; subjectPublicKeyInfo: X509SubjectPublicKeyInfo; issuerUniqueID: ASN1BitString; subjectUniqueID: ASN1BitString; extensions: X509Extensions; toPEM(): Buffer; } export interface X509TBSCertificateCtor extends ASN1SequenceCtor { } export interface X509AlgorithmIdentifier extends ASN1Sequence { algorithm: ASN1OID; parameters: ASN1Any; } export interface X509AlgorithmIdentifierCtor extends ASN1SequenceCtor { new(algorithm, parameters): X509AlgorithmIdentifierCtor; } export interface X509RDNSequence extends ASN1Sequence { } export interface X509RDNSequenceCtor extends ASN1SequenceCtor { } export interface X509RDN extends ASN1Set { attributes: [X509Attribute]; } export interface X509RDNCtor extends ASN1SetCtor { new(id, value): X509RDN; } export interface X509Attribute extends ASN1Sequence { id: ASN1OID; value: ASN1Any; } export interface X509AttributeCtor extends ASN1SequenceCtor { new(id, value): X509Attribute; } export interface X509Validity extends ASN1Sequence { notBefore: X509Time; notAfter: X509Time; } export interface X509ValidityCtor extends ASN1SequenceCtor { } export interface X509Time extends ASN1Choice { } export interface X509TimeCtor extends ASN1ChoiceCtor { new(options): X509Time; } export interface X509SubjectPublicKeyInfo extends ASN1Sequence { algorithm: X509AlgorithmIdentifier; publicKey: ASN1BitString; toPEM(): Buffer; } export interface X509SubjectPublicKeyInfoCtor extends ASN1SequenceCtor { new(algorithm, parameters, publicKey): X509SubjectPublicKeyInfo; } export interface X509Extensions extends ASN1Sequence { extensions: X509Extension[]; } export interface X509ExtensionsCtor extends ASN1SequenceCtor { } export interface X509Extension extends ASN1Sequence { extnID: ASN1OID; critical: ASN1Bool; extnValue: ASN1OctString; } export interface X509ExtensionCtor extends ASN1SequenceCtor { } export interface X509DigestInfo extends ASN1Sequence { algorithm: X509AlgorithmIdentifier; digest: ASN1OctString; } export interface X509DigestInfoCtor extends ASN1SequenceCtor { new(algorithm, digest): X509DigestInfo; }