简体   繁体   English

在 Windows 2012 服务器上使用 QuickFix.Net 在贸易捕获的修复连接中添加强密码

[英]Adding Strong Ciperhs in the Fix Connection for Trade Capture using QuickFix.Net on Windows 2012 server

We have a C# Windows service running on a Windows 2012 box which uses the QuickFIx.NET DLL.我们有一个 C# Windows 服务在 Windows 2012 盒子上运行,该盒子使用 QuickFIx.NET Z5884E40F2711370BEAZ54。 The App transmits some trades over for Regulator reasons.该应用程序出于监管机构的原因传输了一些交易。 We are being enforced to add additional Ciphers by our receiver.我们的接收器正在强制我们添加额外的密码。 Following 2 are needed ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-GCM-SHA256 Our Fix connection to the Regulator is via https At network level, on our Box and Domain controller we confirmed that TLS 1.2 is enabled and the Ciphers are added to allowed Ciphers.需要以下 2 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-GCM-SHA256 我们与监管机构的修复连接是通过 https 在网络级别,在我们的 Box 和域 controller 上,我们确认启用了 TLS。密码被添加到允许的密码。

However our Destination Fix host is still not seeing the Ciphers show up in the Fix messages.但是,我们的目标修复主机仍然没有看到密码出现在修复消息中。

We upgraded to Ver 1.10 of Quickfix/N .NET and out .NET Windows service app is upgraded to.Net Framework 4.7.2我们升级到 Quickfix/N .NET 的 Ver 1.10 和 .NET Windows 服务应用程序升级到.Net Framework 4.7.2

On the Box where the service is present, we ensured Registry keys for HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\ both Server and Client have DisabledByDefault = 0 and Enabled = 1在服务所在的盒子上,我们确保 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\ 服务器和客户端的注册表项 DisabledByDefault = 0 和 Enabled = 1

Any advice on how to get the QUickFix.NET to pick up these new Ciphers?关于如何让 QUICKFix.NET 获取这些新密码的任何建议?

This might be a bit late but I had the same requirements quite recently (is your client MarketAxess / Trax out of curiosity?).这可能有点晚了,但我最近也有同样的要求(你的客户 MarketAxess / Trax 是出于好奇吗?)。

I assume the TLS setup is done at your FIX configuration level?我假设 TLS 设置是在您的 FIX 配置级别完成的? I tried many many things and couldn't understand how the .NET dll was selecting which ciphers to use.我尝试了很多东西,但无法理解 .NET dll 如何选择要使用的密码。 I fixed my issue by removing the TLS config settings at the session level and went trough Stunnel, then the ciphers list sent was the one I was able to see on the machine.我通过删除 session 级别的 TLS 配置设置并通过 Stunnel 解决了我的问题,然后发送的密码列表就是我能够在机器上看到的密码列表。

Hope this helps.希望这可以帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM