如何强制https使用指定的算法

2024-12-20 10:01:58
推荐回答(2个)
回答1:

SCHANNEL\Protocols 子项
协议 的注册表项下 SCHANNEL 键用于的控件使用的协议支持由 Schannel.dll 文件,并限制该协议使用 TLS 服务器或 TLS 的客户端。

若要禁止使用的 SSL 3.0 或 TLS 1.0 之外的其他协议,请将 Enabled 值的 DWORD 鍊兼暟鎹改为 0x0 中下面的注册表项,在 协议 键下的每个:

SCHANNEL\Protocols\PCT 1.0\Client
SCHANNEL\Protocols\PCT 1.0\Server
SCHANNEL\Protocols\SSL 2.0\Client
SCHANNEL\Protocols\SSL 2.0\Server
目前的 Microsoft 消息队列使用的客户端和服务器之间只有 PCT 1.0

SCHANNEL\Ciphers 子项
密码 的注册表项下 SCHANNEL 键用于控制如 DES 或 RC4 对称算法的使用。 以下是在 密码 键下的有效注册表项。

SCHANNEL\Ciphers\RC4 128/128 子项:

rc4 128/128

此子项是指 128 位 RC4。

要允许此密码算法、 0xffffffff 到更改 启用 值的 DWORD 值数据,否则更改为 0x0 的 DWORD 值数据。 如果不配置 启用 值,启用了默认值。 此注册表项不能应用于不具备 SGC 证书

---------------------------------------------------------------------------------------

des:有好几种:0xffffffff 到更改 启用,否则更改为 0x0 ,不配置 启用 值,启用了默认值,但有很多不允许禁用的算法。。。

TLS 1.0 和SSL 3.0 :{}是要在regedit里建的值:

ssl_rsa_export_with_rc4_40_md5 {0x00,0x03}
ssl_rsa_with_rc4_128_md5 {0x00,0x04}
SSL_RSA_WITH_DES_CBC_SHA {0x00,0x09}
ssl_rsa_with_3des_ede_cbc_sha {0x00,0x0A}
ssl_rsa_export1024_with_des_cbc_sha {0x00,0x62}
ssl_rsa_export1024_with_rc4_56_sha {0x00,0x64}

TLS_RSA_WITH_DES_CBC_SHA {0x00,0x09}
tls_rsa_with_3des_ede_cbc_sha {0x00,0x0A}
tls_rsa_export1024_with_des_cbc_sha {0x00,0x62
tls_rsa_export_with_rc4_40_md5

{0x00,0x03}

tls_rsa_with_rc4_128_md5 {0x00,0x04}

1

。。。。SCHANNEL\Ciphers\Triple DES 128/128 子项:

三重 DES 168/168

2

。。。。SCHANNEL\Ciphers\RC2 56/56 子项:

DES 56/56

3

SCHANNEL\Hashes\MD5 子项:

md5

=====
例子:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA]
"Enabled"=dword:ffffffff

回答2:

一般ssl证书采用SHA256算法,如果https想指定算法像ECC,可以找数安时代申请ssl证书,他们可以指定算法,需要的话去问下。