在HTTPS中使用AES作为WCF服务

时间:2012-09-11 05:28:15

标签: wcf security https

我创建了一个WCF服务,该服务使用basicHttpBinding,安全模式设置为“Transport”,将证书绑定到端口。因此,客户可以通过https使用该服务。

现在,经理要我在https中使用AES128,我不知道怎么做。如何使用AES加密https频道?它有可能还是有意义?

约翰尼

1 个答案:

答案 0 :(得分:1)

HTTPS传输安全性实际上是在WCF本身之外处理的,在IIS中(如果在那里托管),或者将证书绑定到端口时。

HTTPS(SSL或TLS)支持多种密码算法(例如AES,3DES,RC4),客户端和服务器将协商用于HTTPS连接的算法,具体取决于每个支持的内容(完整的密码列表{{ 3}})。

IIS(我假设将证书绑定到端口时)使用Schannel安全提供程序来处理HTTPS。遗憾的是,IIS或web.config中没有任何内置设置可用于控制允许使用哪些密码。

因此,如果您只想强制使用AES128,则必须编辑Windows注册表并禁用Schannel使用其他密码(http://msdn.microsoft.com/en-us/library/windows/desktop/aa374757(v=vs.85).aspx)。

这意味着转到注册表位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Ciphers

并禁用其中的所有密码(将'Enabled'REG_DWORD设置为0x00000000),同时仅启用“AES 128/128”启用(如果缺少,请添加'AES 128/128'子项,并添加值为0xffffffff的启用DWORD)

相关问题