UNPKG

@stacksjs/rpx

Version:

A modern and smart reverse proxy.

41 lines (40 loc) 1.94 kB
export declare function getMacosLoginKeychainPath(): string; export declare function getMacosTrustKeychains(): string[]; export declare function listCertSha256HashesByCommonName(keychain: string, commonName?: string): string[]; /** * Remove older rpx Root CA copies from keychains, keeping only the fingerprint * that matches the on-disk `caPath` file. */ export declare function pruneStaleRootCas(options: PruneStaleRootCasOptions): void; /** * True when the Root CA is trusted for SSL to `serverName` (macOS verify-cert). * On other platforms, falls back to fingerprint presence in trust stores. */ export declare function isRootCaTrustedForSsl(caPath: string, serverName: string, options?: { verbose?: boolean }): boolean; export declare function isRootCaFingerprintInKeychains(caPath: string, options?: { verbose?: boolean }): boolean; /** * Install the Root CA into login + system keychains with SSL/basic policies, * pruning stale copies first. Returns true when SSL verification succeeds or * the cert fingerprint is present in a keychain. */ export declare function trustRootCaForBrowsers(caPath: string, options: TrustRootCaForBrowsersOptions): boolean; /** Chrome/Edge need SSL + basic trust policies — plain trustRoot often leaves "trust settings: 0". */ export declare const MACOS_CA_TRUST_FLAGS: '-d -r trustRoot -p ssl -p basic'; export declare const MACOS_SYSTEM_KEYCHAIN: '/Library/Keychains/System.keychain'; /** Default CN label for the shared rpx Root CA in macOS keychain listings. */ export declare const RPX_ROOT_CA_COMMON_NAME: 'rpx.localhost'; export declare interface ListCertsByCommonNameOptions { keychain: string commonName?: string } export declare interface PruneStaleRootCasOptions { caPath: string commonName?: string keychains?: string[] verbose?: boolean } export declare interface TrustRootCaForBrowsersOptions { serverName: string commonName?: string verbose?: boolean }