Hi,

Dne 23.8.2013 17:52, mathiaschoquetactia napsal(a):
> Hello,
>
> - We created a crypted server from the Firebird 2.5.0.26074.
> - To do this, we created a plugin named (fbcrypt.dll) containing our 
> encryption key.
>
> - This server is running (we use it).
>
> - We tried to validate this server with the following python test:
>    1) test suite : svn://svn.code.sf.net/p/firebird/code/qa/fbtest/trunk
>    2) python driver : https://pypi.python.org/pypi/fdb
>
> - We started this test with python 2.7 on a server and a non crypted DB 
> (succesful).
> - Then we managed to encrypt the DB test (fbtest.fdb) by extraction using 
> FlameRobin then recreating using our crypted server.
> - This DB is correct (tested).
> - Our problem is the following:
> When connecting our encrypted DB to our crypted server, the plugin is 
> identified fbcrypt (jrd.cpp line 4937: PluginManager :: enginePluginManager 
> () findPlugin (CRYPT_IMAGE).) But it is not used for the connection to the DB.
>
> We noticed that the "option.get" function (jrd.cpp line 800) returns a dpd 
> filled with the key (options.dpb_key.hasData () = true) with our tests 
> (developed in C) structure, but this structure is not filled with the key 
> with the python tests.
>
> How can I ensure the fbcrypt plugin is used to the connection?

I'm not sure how this is related to FDB Python driver? How we can know 
when crypto plugin is yours custom creation? You created it, you should 
know how to use it.

It should be either fully transparent for clients (which seems not), or 
it should require some configuration (or whatever), most likely as 
parameters passed in DPB to isc_attach_database api call. If this is the 
case, then you have to create custom fdb.connect function, as it's not 
designed to pass custom DPB parameters.

best regards
Pavel Cisar
IBPhoenix

Reply via email to