我正在尝试使用 QuickFIX/n 通过 SSL 连接到 Bloomberg FIX (EMSX)。
我从 Bloomberg 获得了 3 个 .pem 文件,我必须使用它们来配置 SSL 连接。我浏览了互联网上所有可用的参考资料,但徒劳无功。
有人可以帮忙做这个配置吗?
提前致谢。
我正在尝试使用 QuickFIX/n 通过 SSL 连接到 Bloomberg FIX (EMSX)。
我从 Bloomberg 获得了 3 个 .pem 文件,我必须使用它们来配置 SSL 连接。我浏览了互联网上所有可用的参考资料,但徒劳无功。
有人可以帮忙做这个配置吗?
提前致谢。
QuickFIX/n 需要 .pfx 扩展文件。见http://quickfixn.org/tutorial/configuration.html#ssl
此扩展通常用于包含证书和私钥的 PKCS #12 编码文件,并受密码保护。
您可能需要转换您的 .pem 文件,以便拥有一个包含您的私钥和证书的 .pfx 文件和另一个包含您的 CA 证书的文件。然后应该将 QuickFIX/n 会话的 SSLCertificate 和 SSLCACertificate 配置参数设置为这两个文件的路径。SSLCertificatePassword 应包含密码。
QuickFIX/n 是严格的,要求 FIX 接受器(在这种情况下为 Bloomberg EMSX)具有 x509v3 扩展密钥属性“TLS Web 服务器身份验证”(1.3.6.1.5.5.7.3.1)以明确存在于服务器证书中在 SSL 握手期间显示。
如果不存在,您将在 QuickFIX/n 会话事件日志中收到一条错误消息:
远程证书不适用于服务器身份验证:缺少增强的密钥用法 1.3.6.1.5.5.7.3.1
一些 FIX 接受者仍然没有在他们的服务器证书中定义这个,所以即使你努力将你的 PEM 文件转换为 PFX,它仍然无法工作。
您可以使用 Stunnel,它似乎并不介意所提供的服务器证书的用途。作为额外的奖励,Stunnel 可以理解 PEM 文件,因此无需转换。但是,您应该知道,如果您的最终目标是端到端加密,则 QuickFIX/n 应用程序和 Stunnel 之间的跳跃将采用明文形式。