///
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: any, parameters: any): 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: any, value: any): X509RDN;
}
export interface X509Attribute extends ASN1Sequence {
id: ASN1OID;
value: ASN1Any;
}
export interface X509AttributeCtor extends ASN1SequenceCtor {
new (id: any, value: any): 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: any): X509Time;
}
export interface X509SubjectPublicKeyInfo extends ASN1Sequence {
algorithm: X509AlgorithmIdentifier;
publicKey: ASN1BitString;
toPEM(): Buffer;
}
export interface X509SubjectPublicKeyInfoCtor extends ASN1SequenceCtor {
new (algorithm: any, parameters: any, publicKey: any): 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: any, digest: any): X509DigestInfo;
}