UNPKG

@iota-big3/sdk-security

Version:

Advanced security features including zero trust, quantum-safe crypto, and ML threat detection

145 lines 4.25 kB
/** * HashiCorp Vault Provider * Enterprise-grade secrets management with dynamic secrets and encryption */ import { EventEmitter } from 'events'; import { Certificate, CertificateConfig, DynamicSecretConfig, EncryptionService, HealthStatus, PKIService, RotationPolicy, Secret, SecretFilter, SecretLease, SecretMetadata, SecretsManager, SecretsProvider, SecretsProviderConfig, SigningConfig } from '../types'; export declare class VaultProvider extends EventEmitter implements SecretsManager, EncryptionService, PKIService { readonly provider = SecretsProvider.HASHICORP_VAULT; private config; private token?; private tokenExpiry?; private cache; private leases; private isInitialized; constructor(config: SecretsProviderConfig); /** * Initialize Vault connection */ initialize(): Promise<void>; /** * Authenticate with Vault */ private authenticate; /** * Get secret from Vault */ getSecret(name: string, version?: string): Promise<Secret>; /** * Set secret in Vault */ setSecret(name: string, value: any, metadata?: Partial<SecretMetadata>): Promise<void>; /** * Delete secret from Vault */ deleteSecret(name: string, permanent?: boolean): Promise<void>; /** * List secrets with optional filter */ listSecrets(filter?: SecretFilter): Promise<SecretMetadata[]>; /** * Rotate a secret */ rotateSecret(name: string): Promise<void>; /** * Schedule secret rotation */ scheduleRotation(name: string, policy: RotationPolicy): Promise<void>; /** * Get secret versions */ getSecretVersions(name: string): Promise<string[]>; /** * Rollback to previous version */ rollbackSecret(name: string, version: string): Promise<void>; /** * Get multiple secrets */ getBulkSecrets(names: string[]): Promise<Secret[]>; /** * Import secrets */ importSecrets(secrets: Secret[]): Promise<void>; /** * Export secrets */ exportSecrets(filter?: SecretFilter): Promise<Secret[]>; /** * Health check */ healthCheck(): Promise<HealthStatus>; /** * Create dynamic database credentials */ createDynamicSecret(config: DynamicSecretConfig): Promise<SecretLease>; /** * Renew dynamic secret lease */ renewLease(leaseId: string): Promise<void>; /** * Revoke dynamic secret lease */ revokeLease(leaseId: string): Promise<void>; /** * Encryption service: Encrypt data */ encrypt(plaintext: string | Buffer, context?: Record<string, any>): Promise<string>; /** * Encryption service: Decrypt data */ decrypt(ciphertext: string, context?: Record<string, any>): Promise<string | Buffer>; /** * Generate data encryption key */ generateDataKey(bits?: number): Promise<{ plaintext: string; ciphertext: string; }>; /** * Rewrap ciphertext with new key version */ rewrapKey(ciphertext: string, newKeyVersion: string): Promise<string>; /** * PKI: Generate certificate */ generateCertificate(config: CertificateConfig): Promise<Certificate>; /** * PKI: Sign CSR */ signCSR(csr: string, config: SigningConfig): Promise<Certificate>; /** * PKI: Revoke certificate */ revokeCertificate(serial: string, reason?: string): Promise<void>; /** * PKI: Get CRL */ getCRL(): Promise<string>; /** * PKI: Get certificate */ getCertificate(serial: string): Promise<Certificate>; /** * Helper methods */ private validateConfig; private ensureInitialized; private buildPath; private getFromCache; private addToCache; private inferSecretType; private matchTags; private getSecretMetadata; private generateNewSecretValue; private generatePassword; private vaultRequest; private authenticateAppRole; private authenticateAWS; private authenticateKubernetes; private startTokenRenewal; private scheduleLeaseRenewal; private parseCertificateSubject; private auditLog; } //# sourceMappingURL=vault-provider.d.ts.map