Page tree
Skip to end of metadata
Go to start of metadata

CME secure logon provides an ability to logon using SHA256 digital signature technique. This logon feature has been introduced by CME and provides highest security.

It needs to obtain security keys file from CME in order to use it. Once it is available, FIX Antenna can be configured to use secure logon for connecting to CME.

The session that connects using CME secure feature may be created in the code:

SessionParameters details = new SessionParameters();
details.setFixVersion(FIXVersion.FIX42);
details.setHost("localhost");
details.setHeartbeatInterval(30);
details.setPort(3000);
details.setSenderCompId("senderId");
details.setTargetCompId("targetId");
details.setSenderSubId("senderSubId");
details.setTargetSubId("targetSubId");
details.setSenderLocationId("senderLocationId");
//the following three parameters are required for the feature.
details.getConfiguration().setProperty(Configuration.INCLUDE_LAST_PROCESSED, "YES");
details.getConfiguration().setProperty(Configuration.CME_SECURE_KEYS_FILE, "cmeKeys.txt"); //Defines name of keys file. It should be located in classpath, root directory of running java application or home directory.
details.getConfiguration().setProperty(Configuration.LOGON_CUSTOMIZATION_STRATEGY, Configuration.CME_SECURE_LOGON_STRATEGY);

final FIXSession session = details.createNewFIXSession();
...
session.connect();
It can also be created using properties:
sessionIDs=client1

sessions.default.host=69.50.112.139
sessions.default.port=24920
sessions.default.fixVersion=FIX.4.2
sessions.default.heartbeatInterval=30
sessions.default.validation=false
sessions.default.storageFactory=com.epam.fixengine.storage.InMemoryStorageFactory
sessions.default.cmeSecureKeysFile=cmeKeys.txt
sessions.default.logonCustomizationStrategy=com.epam.fixengine.session.impl.CmeSecureLogonStrategy
sessions.default.includeLastProcessed=true

sessions.client1.senderCompID=U89004N
sessions.client1.targetCompID=CME
sessions.client1.targetSubID=G
sessions.client1.senderSubID=0J4L
sessions.client1.senderLocationID=US

and applied using the following code:

SessionParameters details = SessionParametersBuilder.buildSessionParameters("initiators.properties", "client1");

// create session we intend to work with
final FIXSession session = details.createInitiatorSession();
...
session.connect();


Note: tags SenderSubID, TargetSubID, SenderLocationID are required for the feature.

Available from: 2.19.0

  • No labels