zerossl
Version:
ZeroSSL REST API wrapper
115 lines (114 loc) • 3.05 kB
TypeScript
export type Certificate = {
'certificate.crt': string;
'ca_bundle.crt': string;
};
export type CertificateList = {
total_count: number;
result_count: number;
page: number;
limit: number;
results: CertificateRecord[];
};
export type CertificateRecord = {
id: string;
type: string;
common_name: string;
additional_domains: string;
created: string;
expires: string;
status: string;
validation_type: string;
validation_emails: string;
replacement_for: string;
validation: {
email_validation: {
[domain: string]: string[];
};
other_methods: {
[domain: string]: {
file_validation_url_http: string;
file_validation_url_https: string;
file_validation_content: string[];
cname_validation_p1: string;
cname_validation_p2: string;
};
};
};
};
export type CertificateSigningRequestOptions = {
country: string;
state: string;
locality: string;
organization: string;
organizationUnit: string;
email?: string;
commonName: string;
};
export type CertificateSigningRequestValidationResult = {
valid: boolean;
error?: ZeroSSLErrorData;
};
export type CreateCertificateOptions = {
csr: string;
domains: string[];
validityDays: 90 | 365;
strictDomains: boolean;
};
export type KeyPair = {
publicKey: string;
privateKey: string;
};
export type ListCertificateOptions = {
page?: number;
limit?: number;
search?: string;
certificate_status?: 'draft' | 'pending_validation' | 'issued' | 'cancelled' | 'expiring_soon' | 'expire';
};
export type VerificationStatus = {
validation_completed: number;
details: {
[domain: string]: {
method: string;
status: string;
};
};
};
export type VerifyDomainOptions = {
validation_method: 'EMAIL' | 'CNAME_CSR_HASH' | 'HTTP_CSR_HASH' | 'HTTPS_CSR_HASH';
validation_email?: string;
};
export type ZeroSSLOptions = {
accessKey: string;
apiUrl?: string;
};
export type ZeroSSLErrorData = {
code?: number;
type?: string;
message?: string;
details?: ZeroSSLErrorDetail;
};
export type ZeroSSLErrorDetail = ZeroSSLVerifyDomainsCNAMEErrorDetail | ZeroSSLVerifyDomainsHTTPFileUploadErrorDetail;
export type ZeroSSLVerifyDomainsCNAMEErrorDetail = {
[domain: string]: {
[domain: string]: {
cname_found: number;
record_correct: number;
target_host: string;
target_record: string;
actual_record: string;
};
};
};
export type ZeroSSLVerifyDomainsHTTPFileUploadErrorDetail = {
[domain: string]: {
[path: string]: {
validation_successful: false | undefined;
file_found: number;
error: boolean;
error_slug: string;
error_info: string;
} | {
validation_successful: true;
};
};
};