How to handle database encryption with IBDAC like described here :
https://www.ibphoenix.com/files/conf201 ... yption.pdf
https://ib-aid.com/crypt
Connection in a case of encrypted database
●It is necessary to pass the encryption name and key during the regular connection
●Yes, additional network roundtrip(s) is done
●To pass key, it is necessary to implement interface ICryptCallback
Connecting native apps through fbcrypt.dll (Delphi, C++, PHP)
1)fbcrypt_init(pszClientPathName:Pointer) : integer; 2)fbcrypt_key(pszKeyName:Pointer;pKeyValue:Pointer;iKeyLength:Cardinal) : integer; 3)fbcrypt_callback(provider:Pointer) : integer;
●And after that establish connection as usual
Delphi example (w/o error handling)
In BeforeConnect handler
fbcrypt_init(PAnsiChar(‘C:\Firebird30\fbclient.dll’));
fbcrypt_key(‘RED’, ‘0xec,0xa1,0x52,0xf6,...’));
fbcrypt_callback();
Then connect as usualDatabase1.Active:=True;