guanzhi / GmSSL

支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱
http://gmssl.org
Apache License 2.0
5.23k stars 1.67k forks source link

360安全浏览器的加密套件,GMSSL不支持 #1737

Open cyy-sange opened 2 months ago

cyy-sange commented 2 months ago

问题出现步骤: 1、GmSSL编译成功后,通过命令起了一个监听8185端口的服务端 ./gmssl tls12_server -port 8185 -cert signcert.pem -key signkey.pem -pass **

2、通过360安全浏览器访问8185端口,访问失败

3、截包发现,360安全浏览器client hello中的国密套件: TLS_cipher_ecc_sm4_cbc_sm3 = 0xe013, TLS_cipher_ecc_sm4_gcm_sm3 = 0xe053,

4、查看源码中,GmSSL支持的国密套件: TLS1.3 支持TLS_cipher_sm4_gcm_sm3 = 0x00c6 TLS1.2 支持TLS_cipher_ecdhe_sm4_cbc_sm3 = 0xe011,

5、套件不匹配,导致握手失败

请问该问题是否有解决方案

emmansun commented 2 months ago

你不应该尝试TLCP吗?

cyy-sange commented 2 months ago

你不应该尝试TLCP吗?

老师您好,感谢答复;

TLCP也有尝试过。 无标题

发现会在tlcp.c的676行报错退出:

浏览器版本是360安全浏览器v10,版本号v13.1.2002.391|86.0.4240.198

emmansun commented 2 months ago

编译的时候可以先打开trace (OFF->ON),有助于你查找问题:

option(ENABLE_TLS_DEBUG "Enable TLS and TLCP print debug message" OFF)
goudan8484 commented 3 days ago

问题出现步骤: 1、GmSSL编译成功后,通过命令起了一个监听8185端口的服务端 ./gmssl tls12_server -port 8185 -cert signcert.pem -key signkey.pem -pass **

2、通过360安全浏览器访问8185端口,访问失败

3、截包发现,360安全浏览器client hello中的国密套件: TLS_cipher_ecc_sm4_cbc_sm3 = 0xe013, TLS_cipher_ecc_sm4_gcm_sm3 = 0xe053,

4、查看源码中,GmSSL支持的国密套件: TLS1.3 支持TLS_cipher_sm4_gcm_sm3 = 0x00c6 TLS1.2 支持TLS_cipher_ecdhe_sm4_cbc_sm3 = 0xe011,

5、套件不匹配,导致握手失败

请问该问题是否有解决方案

360默认不支持国密ssl,即gmssl;企业版在设置里可以打开支持国密开关