> > Why should the **connection** provide the key?
> 
>    Because looking for a key is not a work for a lock.
>    And keeping the key under a door mat is also generally a bad idea.

Perhaps you are referring to a different "connection" than I am.

Could you/someone please confirm the sequence of events in the accessing an 
encrypted database. Cus when I read/here "connection", I think of the link 
between the client session and the server process.

For me, the sequence of operations for accessing a database would be:

- Client initiates connection to remote server, requesting access to database 
XYZ.fdb  (there is nothing new in the connection string other than what is 
available now)
- engine tries to open database XYZ.fdb and read header page
- engine determines that header page reads "I am encrypted and need key with 
name = ABCD"
- engine determines (through server/database config settings) which plug-in to 
use
- engine loads/calls plug-in asking "I have database which needs key with name 
= ABCD, are you able/ready to work?"
- if plug-in says "Yes", then the engine proceeds with database open, and all 
non-header page operations are channeled through the plug-in
- if plug-in says "No", then engine stops the database open, and returns error 
to client.



------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to