UNPKG

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
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;