1. A method for synchronous encryption between a client module and a licensing agent component comprising: initiating, by a client module, a connection directly with a licensing agent component; sending, by said client module, an unencrypted data structure in an initial communication to said licensing agent component, the licensing agent component sending by the licensing component a first key to said client module responsive to the initial communication; initializing, in both said client module and said licensing agent component, encryption engines using said first key; designating by said client module fields of said unencrypted data structure and encrypting said fields according to said first key, resulting in a partially-encrypted data structure; resending, by said client module, said partially-encrypted data structure to said licensing agent component; and sending, by said license agent component, a second key to said client module.