3

[Sorry for my English] I have problems to connect my client quckfix developed in python. the config file does not respond as i would like.

If i change the path(a incorrect path, for forced the error) to the file *.pem and restart the application. th app does not anything, just it keeps running normally.

It is as if the config is not read

In this tutorial mentions: Python implementation of quickfix does not support SSL, that is true?

https://medium.com/@federico_dv/fix-protocol-en-python-primeros-pasos-e-implementaci%C3%B3n-29a130b71ffc

This is for a python iomplementation in windows with the library quickfix from http://www.quickfixengine.org/

[DEFAULT]
PersistMessages=Y
ConnectionType=initiator
UseDataDictionary=Y 
StartTime=00:00:00
EndTime=23:59:00
FileStorePath=incoming 
FileLogPath=outgoing   


[SESSION]
SSLEnable=Y
SSLProtocol=TLSv1
ClientCertificateFil=C:\python\pyarb\cert\cert.pem
ClientCertificateKeyFile=C:\python\pyarb\cert\key.pem
StartTime=14:00:00
SenderCompID=AGENT
TargetCompID=FIX
EndTime=00:00:00
ConnectionType=initiator 
ApplVerID=9
BeginString=FIXT.1.1
DefaultApplVerID=9
TransportDataDictionary=quickfix_dicts\FIX50SP1.xml
AppDataDictionary=quickfix_dicts\FIX50SP1.xml
DataDictionary=quickfix_dicts\FIX50SP1.xml
SocketConnectPort=xxxx
SocketConnectHost=xxx.xxx.xxx.xxx
HeartBtInt=30
ReconnectInterval=30
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=N
ResetSeqNumFlag=N

1 Answers1

7

Yes, quickfix as of the time of writing does not support SSL out of the box. You will need to create a SSL tunnel from your machine manually to the host which requires SSL connectivity. You can do this via 'stunnel'. Posting some configuration below which can hopefully explain how it can be setup.

STUNNEL CONFIG

log = append
output = <path where logs will be written>

[client]
client = yes
accept = <port of your choosing on the local machine for quickfix>
connect = <ssl host you want to connect to>:<port>
verifyPeer = yes
CAfile = <path of certification provided by SSL host>
checkHost = <ssl host you want to connect to>
debug = debug

An example below

log = append
output = /home/user/logs

[client]
client = yes
accept = 1589
connect = 5.854.17.45:446
verifyPeer = yes
CAfile = /etc/ssl/certs/ca-cert.pem
checkHost = 5.854.17.45
debug = debug

QUICKFIX CONFIG

[DEFAULT]
<Other relevant settings>
SocketConnectPort=1589
SocketConnectHost=localhost

[SESSION]
<Other relevant settings>
smart.aleck
  • 195
  • 1
  • 7