我使用 FIX 协议(protocol) 4.4 连接到服务器。
以前我使用用户名和密码进行身份验证。
下面是我的配置文件
[DEFAULT]
ConnectionType=initiator
HeartBtInt=30
ReconnectInterval=30
ResetOnLogout=Y
ResetOnDisconnect=Y
FileStorePath=/tmp/msgs/
FileLogPath=/tmp/msgs/log/
StartTime=00:00:
EndTime=00:00:00
UseDataDictionary=N
SocketConnectHost=193.~.~.~
SocketNodelay=Y
PersistMessages=N[SESSION]
BeginString=FIX.4.4
SenderCompID=abcdefh
TargetCompID=abcdefh
SocketConnectPort=7000
SenderSubID=abcdefh
Password=abcdefh
现在必须在不使用 SenderSubID 和密码的情况下进行连接,而是使用私钥。
key 在 pem 文件中给出。
我给出了下面的代码示例
Bag Attributes localKeyID: 12 23 34 45 56 AX SC DV FV FB 12 23 34 45 56 AX SC DV FV FB subject=/CN=abcdefgh issuer=/C=GB/ST=London/L=London/O=DB/OU=GM/CN=demo fix dev -----BEGIN CERTIFICATE----- abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890 -----END CERTIFICATE----- Bag Attributes: subject=/C=GB/ST=London/L=London/O=DB/OU=GM/CN=demo fix dev issuer=/C=GB/ST=London/L=London/O=DB/OU=GM/CN=demo fix dev -----BEGIN CERTIFICATE----- abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890 -----END CERTIFICATE----- Bag Attributes localKeyID: 12 23 34 45 56 AX SC DV FV FB 12 23 34 45 56 AX SC DV FV FB Key Attributes: -----BEGIN RSA PRIVATE KEY----- abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890 -----END RSA PRIVATE KEY-----
我不知道如何继续或如何处理此 PEM 文件
我是 java 和 FIX 协议(protocol)的新手
如果有人可以用java代码解释解决方案,那将非常有帮助
谢谢
最佳答案
为了使用 PEM key 与交易对手建立联系,您必须安装和配置新软件。
在我们的生产环境中,我们使用 sTunnel (https://www.stunnel.org/index.html),这是一个免费的隧道软件,并通过 SSL 层加密消息。
请下载此软件并阅读配置设置手册。
关于java - 如何使用私钥通过quickfix连接服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430982/