/** * Pure JavaScript RSA-SHA2 Signature Wrapper using sshpk only * Eliminates all Node.js crypto dependencies for maximum VSCode/webpack compatibility */ export interface WrappedRSAKey { type: string; getPublicSSH(): Buffer; sign(data: Buffer): Buffer; verify(data: Buffer, signature: Buffer): boolean; } /** * Wraps an ssh2-streams RSA key to use RSA-SHA2 signatures via sshpk * @param originalKey - The original ssh2-streams key object * @param privateKeyPEM - The raw private key in PEM format * @param algorithm - RSA signature algorithm ('sha256' or 'sha512') * @returns Wrapped key object with RSA-SHA2 signatures */ export declare function wrapRSAKeyWithSHA2(originalKey: any, privateKeyPEM: string, algorithm?: 'sha256' | 'sha512'): WrappedRSAKey; /** * Creates an RSA-SHA2 signature callback for ssh2-streams authentication using sshpk only * @param originalKey - The original ssh2-streams key object * @param privateKeyPEM - The raw private key in PEM format * @param passphrase - Optional passphrase for encrypted keys * @param algorithm - RSA signature algorithm ('sha256' or 'sha512') * @returns Signature callback function for ssh2-streams authPK */ export declare function createRSASHA2SignatureCallback(originalKey: any, privateKeyPEM: string, passphrase?: string, algorithm?: 'sha256' | 'sha512'): (buf: Buffer, cb: (signature: Buffer) => void) => void; /** * Determines if a key should use the RSA-SHA2 wrapper * @param keyType - The SSH key type (e.g., 'ssh-rsa', 'ssh-ed25519') * @returns True if the key should be wrapped for RSA-SHA2 */ export declare function shouldUseRSASHA2Wrapper(keyType: string): boolean; /** * Gets the appropriate RSA-SHA2 algorithm based on key size * @param keySize - RSA key size in bits * @returns Recommended algorithm ('sha256' or 'sha512') */ export declare function getRecommendedRSASHA2Algorithm(keySize: number): 'sha256' | 'sha512'; //# sourceMappingURL=rsa-sha2-wrapper.d.ts.map