46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
|
|
/**
|
||
|
|
* Certificate Utilities for SMTP Server
|
||
|
|
* Provides utilities for managing TLS certificates
|
||
|
|
*/
|
||
|
|
import * as tls from 'tls';
|
||
|
|
/**
|
||
|
|
* Certificate data
|
||
|
|
*/
|
||
|
|
export interface ICertificateData {
|
||
|
|
key: Buffer;
|
||
|
|
cert: Buffer;
|
||
|
|
ca?: Buffer;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Load certificates from PEM format strings
|
||
|
|
* @param options - Certificate options
|
||
|
|
* @returns Certificate data with Buffer format
|
||
|
|
*/
|
||
|
|
export declare function loadCertificatesFromString(options: {
|
||
|
|
key: string | Buffer;
|
||
|
|
cert: string | Buffer;
|
||
|
|
ca?: string | Buffer;
|
||
|
|
}): ICertificateData;
|
||
|
|
/**
|
||
|
|
* Load certificates from files
|
||
|
|
* @param options - Certificate file paths
|
||
|
|
* @returns Certificate data with Buffer format
|
||
|
|
*/
|
||
|
|
export declare function loadCertificatesFromFiles(options: {
|
||
|
|
keyPath: string;
|
||
|
|
certPath: string;
|
||
|
|
caPath?: string;
|
||
|
|
}): ICertificateData;
|
||
|
|
/**
|
||
|
|
* Generate self-signed certificates for testing
|
||
|
|
* @returns Certificate data with Buffer format
|
||
|
|
*/
|
||
|
|
export declare function generateSelfSignedCertificates(): ICertificateData;
|
||
|
|
/**
|
||
|
|
* Create TLS options for secure server or STARTTLS
|
||
|
|
* @param certificates - Certificate data
|
||
|
|
* @param isServer - Whether this is for server (true) or client (false)
|
||
|
|
* @returns TLS options
|
||
|
|
*/
|
||
|
|
export declare function createTlsOptions(certificates: ICertificateData, isServer?: boolean): tls.TlsOptions;
|