edockit
Version:
A JavaScript library for listing, parsing, and verifying the contents and signatures of electronic documents (eDoc) and Associated Signature Containers (ASiC-E), supporting EU eIDAS standards for digital signatures and electronic seals.
99 lines (98 loc) • 2.87 kB
TypeScript
import { X509Certificate } from "@peculiar/x509";
/**
* Certificate subject information
*/
export interface CertificateSubject {
country?: string;
commonName?: string;
surname?: string;
givenName?: string;
serialNumber?: string;
organization?: string;
}
/**
* Certificate issuer information
*/
export interface CertificateIssuer {
country?: string;
commonName?: string;
organization?: string;
}
/**
* Full certificate information
*/
export interface CertificateInfo {
subject: CertificateSubject;
validFrom: Date;
validTo: Date;
issuer: CertificateIssuer;
serialNumber?: string;
}
/**
* Certificate validity check result
*/
export interface CertificateValidityResult {
isValid: boolean;
reason?: string;
}
/**
* Format a certificate string as a proper PEM certificate
* @param certBase64 Base64-encoded certificate
* @returns Formatted PEM certificate
*/
export declare function formatPEM(certBase64?: string): string;
/**
* Extract subject information from an X.509 certificate
* @param certificate X509Certificate instance
* @returns Signer information object
*/
export declare function extractSignerInfo(certificate: X509Certificate): {
commonName?: string;
organization?: string;
country?: string;
surname?: string;
givenName?: string;
serialNumber?: string;
validFrom: Date;
validTo: Date;
issuer: {
commonName?: string;
organization?: string;
country?: string;
};
};
/**
* Parse a certificate from base64 data
* @param certData Base64-encoded certificate data
* @returns Parsed certificate information
*/
export declare function parseCertificate(certData: string): Promise<CertificateInfo>;
/**
* Check if a certificate was valid at a specific time
* @param cert Certificate object or info
* @param checkTime The time to check validity against (defaults to current time)
* @returns Validity check result
*/
export declare function checkCertificateValidity(cert: X509Certificate | CertificateInfo, checkTime?: Date): CertificateValidityResult;
/**
* Extract the public key information from a certificate
* @param cert The X.509 certificate
* @returns Public key information
*/
export declare function getPublicKeyInfo(cert: X509Certificate): {
algorithm: string;
namedCurve?: string;
rawData: ArrayBuffer;
};
/**
* Helper function to get signer display name from certificate
* @param certInfo Certificate information
* @returns Formatted display name
*/
export declare function getSignerDisplayName(certInfo: CertificateInfo): string;
/**
* Helper function to format certificate validity period in a human-readable format
* @param certInfo Certificate information
* @returns Formatted validity period
*/
export declare function formatValidityPeriod(certInfo: CertificateInfo): string;