An Experiment in Interoperable Cryptographic Protocol Implementation Using Automatic Code Generation