java - 如何使用私钥通过quickfix连接服务器

标签 java quickfix fix-protocol

我使用 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/

相关文章:

java - 由: java. lang.NoSuchFieldError: NULL while deploying application to Tomcat引起

java - 填充包含 '-' 的 flatXmlDataSetBuilder SQL-SERVER 表名

quickfix - FIX QuoteRequest header 字段乱序(或不支持的消息)

python - FIXML python 解析器

c++ - FIXT.1.1 和 FIX.5.0 的 quickfix C+ 不正确的 BeginString - FIX.5.0SP2

java - Android 切换按钮自定义大小/填充/间距

java - 为什么我可以在没有 android.permission.READ_CONTACTS 的情况下检索我的联系人?

java - FIX 市场数据、QuickFIX 还是其他?

python - Quickfix 无法读取重复组

c++ - 使用 QuickFIX 指定 FIX 消息中的字段顺序