...
- RequestTimestamp
- UUID
- SessionID
- FirmID
Step 2 - Create Signature Using the Secret Key and Canonical FIX Message
The signature is a hash (digest) of the canonical message created in Step 1 using the Secret Key provided by CME.
The Secret Key downloaded from Request Center is Base64 URL Encoded. Customers must decode the secret key first.
...
Example of Creating Signature Using HMAC SHA256 in Java 8+
The HMAC signature is populated in a fixed length string field (i.e. String32Req) since SHA-256 signature is always 32 bytes.
Info |
---|
While real logic provides two options to encode this field—as a string and as a byte array—the byte array option should be used. |
Encoding options for SHA-256 (256 bits long):
- Base64URL encoding FIX ASCII: 6 bits per char = CHAR(44)including padding character
- Hex: 4 bits per char = CHAR(64)
- HEX example → 617633EFEF2F98DCA32DD3BD8407122B9B375CF4BC076930F24C1F7A0F930094
- Binary: 8 bits per byte = BINARY(32)
- Binary example → byte array:[97, 118, 51, -17, -17, 47, -104, -36, -93, 45, -45, -67, -124, 7, 18, 43, -101, 55, 92, -12, -68, 7, 105, 48, -14, 76, 31, 122, 15, -109, 0, -108]
Info |
---|
The signature should be encoded as a byte array. |
Signature calculation in Java:
Panel |
---|
|
Step 3 - Populate Signature in the Credentials Field
...