*/ class ParTCP_Key_Storage_Mem { static $pubKeys = []; static $keyPairs = []; public static function store_pubkey( $id, $pubKey ){ self::$pubKeys[ $id ] = $pubKey; } public static function get_pubkey( $id ){ return self::$pubKeys[ $id ] ?? NULL; } public static function delete_pubkey( $id ){ unset( self::$pubKeys[ $id ] ); return TRUE; } public static function store_keypair( $id, $pubKey, $privKey ){ self::$keyPairs[ $id ] = [ $pubKey, $privKey ]; } public static function exists_keypair( $id ){ return ! empty( self::$keyPairs[ $id ] ); } public static function get_keypair( $id ){ return self::$keyPairs[ $id ] ?? NULL; } public static function list_keypairs( $server = NULL ){ $keys = self::$keyPairs; if ( $server ){ echo $server . "\n"; $keys = array_filter( $keys, function( $k ) use ( $server ){ return strrchr( $k, '@' ) == "@{$server}"; }, ARRAY_FILTER_USE_KEY ); }; return array_keys( $keys ); } public static function delete_keypair( $id ){ unset( self::$keyPairs[ $id ] ); return TRUE; } } // end of file key_storage_mem.class.php