Thus by using the operations this way the interface is quite simple, and in most cases the most convenient way to use statements is to initially set up such a transaction object and use this in all subsequent transfers and exchanges of statements. A StatementTransaction object is generated by calling the methods openInitiatorStatementSession or openResponderStatementSession of StatementMan . These methods first negotiate cryptographic algorithms to be used and a method for key exchange. When both client and server have selected algorithms they use as result an arbitrary one which is in both lists. If key exchange is requested and the two parties agree on a method for this, a session key is generated afterwards.
Key exchange is provided by a module in the state ent block.
Currently, only one module exists. See StatementModule for more information on this method. Use of other Blocks As mentioned above the Statement Block relies on the Crypto Block for cryptographic services and handling of keys. It uses the Certificate Block for handling certificates. The Preferences Manager is used for letting the user select cryptographic algorithms.