UNPKG

harperdb

Version:

HarperDB is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.

80 lines (79 loc) 3.17 kB
/** * Shared utilities for certificate verification */ import type { PeerCertificate, CertificateChainEntry } from './types.ts'; /** * Convert a buffer to PEM format * @param buffer - Certificate data as buffer * @param type - Certificate type (e.g., 'CERTIFICATE') * @returns PEM formatted string */ export declare function bufferToPem(buffer: Buffer, type: string): string; /** * Extract certificate chain from peer certificate object * @param peerCertificate - Peer certificate object from TLS connection * @returns Certificate chain with issuer relationships */ export declare function extractCertificateChain(peerCertificate: PeerCertificate): CertificateChainEntry[]; /** * Extract CRL Distribution Points from a certificate using PKI.js * @param certPem - Certificate in PEM format * @returns Array of CRL distribution point URLs */ export declare function extractCRLDistributionPoints(certPem: string): string[]; /** * Extract both CRL and OCSP URLs from a certificate in a single parse operation * @param certPem - Certificate in PEM format * @returns Object containing arrays of CRL and OCSP URLs */ export declare function extractRevocationUrls(certPem: string): { crlUrls: string[]; ocspUrls: string[]; }; /** * Extract OCSP responder URLs from a certificate * @param certPem - Certificate in PEM format * @returns Array of OCSP responder URLs */ export declare function extractOCSPUrls(certPem: string): string[]; /** * Convert PEM string to buffer for PKI.js parsing * @param pem - PEM formatted certificate * @returns Buffer containing certificate data */ export declare function pemToBuffer(pem: string): ArrayBuffer; /** * Create a cache key for certificate verification * @param certPem - Certificate in PEM format * @param issuerPem - Issuer certificate in PEM format * @param method - Verification method (ocsp, crl) * @param additionalData - Additional data to include in hash * @returns Cache key string */ export declare function createCacheKey(certPem: string, issuerPem: string, method: 'ocsp' | 'crl', additionalData?: Record<string, any>): string; /** * Create a cache key for CRL storage * @param distributionPoint - CRL distribution point URL * @returns Cache key string */ export declare function createCRLCacheKey(distributionPoint: string): string; /** * Create a composite ID for revoked certificate lookup * @param issuerKeyId - Issuer key identifier or DN hash * @param serialNumber - Certificate serial number * @returns Composite ID string */ export declare function createRevokedCertificateId(issuerKeyId: string, serialNumber: string): string; /** * Extract serial number from a certificate * @param certPem - Certificate in PEM format * @returns Certificate serial number as string */ export declare function extractSerialNumber(certPem: string): string; /** * Extract issuer key identifier from a certificate * @param certPem - Certificate in PEM format * @returns Issuer key identifier as hex string, or hash of issuer DN if not available */ export declare function extractIssuerKeyId(certPem: string): string; export declare function getCertificateCacheTable(): unknown;