TASSL-1.1.1b icon indicating copy to clipboard operation
TASSL-1.1.1b copied to clipboard

Linux nginx ECC_SM4_SM3 360国密浏览器失败。

Open ygm521 opened this issue 5 years ago • 14 comments

nginx-1.15.12 TASSL-1.1.1b-master server { listen 443 ssl; ssl on;

    ssl_certificate      mycert.pem;
    ssl_certificate_key  mykey.pem;
    ssl_certificate mycert_enc.pem;
    ssl_certificate_key  mykey_enc.pem;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_prefer_server_ciphers  on;   

    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         ECC-SM4-SM3;

    location / {
        root   html;
        proxy_pass   http://192.168.66.10;
    }
}

[root@localhost sbin]# ./nginx nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /home/gm/run//conf/nginx.conf:103 nginx: [emerg] SSL_CTX_use_PrivateKey("/home/gm/run//conf/mykey_enc.pem") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

ygm521 avatar May 17 '19 09:05 ygm521

使用下面配置依然不行,证书是通过Tassl_demo/cert/SM2certgen.sh生成的。 server { listen 443 ssl;

	ssl on;
    ssl_certificate      /root/tassl-1.1.1_lib/Tassl_demo/cert/certs/SS.cert.pem;
    ssl_certificate_key  /root/tassl-1.1.1_lib/Tassl_demo/cert/certs/SS.key.pem;
    ssl_certificate	/root/tassl-1.1.1_lib/Tassl_demo/cert/certs/SE.cert.pem;
    ssl_certificate_key  /root/tassl-1.1.1_lib/Tassl_demo/cert/certs/SE.key.pem;


    ssl_prefer_server_ciphers  on;   

	ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         ECC-SM4-SM3;

    location / {
        root   html;
        proxy_pass   http://192.168.66.10;
        #index  index.html index.htm;
    }
}

[root@localhost sbin]# ./nginx nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /home/gm/run//conf/nginx.conf:104 nginx: [emerg] SSL_CTX_use_PrivateKey("/root/tassl-1.1.1_lib/Tassl_demo/cert/certs/SE.key.pem") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

ygm521 avatar May 20 '19 08:05 ygm521

将sm2svr.c中证书替换为我自己的使用sm2cli可以正常访问。

ygm521 avatar May 20 '19 09:05 ygm521

把 SSL_CTX_use_PrivateKey --》 ssl_set_pkey --》 下面屏蔽了。nginx可以启动,但是访问失败,server hello时候就直接alert了。 //if (!X509_check_private_key(c->pkeys[i].x509, pkey)) { // X509_free(c->pkeys[i].x509); // c->pkeys[i].x509 = NULL; // return 0; //}

ygm521 avatar May 20 '19 10:05 ygm521

我们最早用过nginx的1.11.10版本,当时nginx好像还不支持配置多个证书,我们自己添加了配置项,配置国密的双证书,然后修改相关的调用tassl部分,当时是可以测试的。现在nginx已经支持配置多个证书,但是应该也还是需要修改部分代码才能实现国密握手。但是目前公司暂时没有这方面精力进行新版nginx的适配。

jntass avatar Jul 25 '19 02:07 jntass

tassl服务端可以正常与浏览器通信,客户端有个bug,不能与其他国密套件通信,nginx需要修改。如果需要帮助可以联系我

fidderdan avatar Jul 25 '19 02:07 fidderdan

@fidderdan 我客户端使用的360国密专版浏览器 证书使用的cfca颁发的双证书。[email protected] 加密套件使用 ECC_SM4_SM3

ygm521 avatar Jul 25 '19 02:07 ygm521

Qq加不上 留个邮箱吧

fidderdan avatar Jul 25 '19 02:07 fidderdan

Qq加不上 留个邮箱吧

您好,我在配置nginx双证书时也遇到了这个问题,能给我点帮助么,谢谢! 邮箱:[email protected]

HyoukaLL avatar Jul 29 '19 11:07 HyoukaLL

这个库不支持的。------------------ 原始邮件 ------------------ 发件人: "HyoukaLL"[email protected] 发送时间: 2019年7月29日(星期一) 晚上7:17 收件人: "jntass/TASSL-1.1.1b"[email protected]; 抄送: "ygm521"[email protected];"Author"[email protected]; 主题: Re: [jntass/TASSL-1.1.1b] Linux nginx ECC_SM4_SM3 360国密浏览器失败。 (#5)

Qq加不上 留个邮箱吧

您好,我在配置nginx双证书时也遇到了这个问题,能给我点帮助么,谢谢! 邮箱:[email protected]

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

ygm521 avatar Jul 29 '19 14:07 ygm521

我们最早用过nginx的1.11.10版本,当时nginx好像还不支持配置多个证书,我们自己添加了配置项,配置国密的双证书,然后修改相关的调用tassl部分,当时是可以测试的。现在nginx已经支持配置多个证书,但是应该也还是需要修改部分代码才能实现国密握手。但是目前公司暂时没有这方面精力进行新版nginx的适配。

能将修改过后的nginx源码放出来给我们测试么

berryhe avatar Sep 12 '19 03:09 berryhe

的nginx源码放出来给我们测试么

Tassl-1.1.1b_v0.8版本发布 2018年的元旦,我们开源了国密算法和国密协议的实现Tassl。推出之后迎来了大家的广泛使用和诸多反馈,获得了一致好评!当然我们也听到了诸多的问题反馈:比如如何用在nginx上,如何调用加密机加密卡,如何适配浏览器,如何让国密使用更简单更稳定?但是鉴于公司业务发展迅速,精力有限,无法做到及时的跟进反馈,在此也一并向关心和支持Tassl发展的各位表示歉意。既然是开源,那么就是要听取大家的诉求,实现大家期待的功能。所以对于各位的建议和反馈我们也是一直铭记在心,不忘初心,在精力允许的情况下,我们尽最大努力在默默修改测试,不断更新迭代版本,来实现我们心中最初的心愿。

时光如梭,在即将到来的2020年元旦,江南天安作为中国领先的密码技术与信息安全综合服务商,我们也给大家带来了基予Openssl-1.1.1b的Tassl-1.1.1b_v0.8版本。此版本有以下特点: 1.支持调用江南天安加密机或加密卡进行加速和物理安全防护。 2.适配了nginx-1.16.0支持国密,同时也将开源此nginx的修改。 3.适配了360浏览器和密信浏览器的访问。 4.修复了bug和一些其他问题。

开源地址:https://github.com/jntass/TASSL-1.1.1b 基过tassl支持国密SSL协议的nginx:https://github.com/jntass/Nginx_Tassl 基于tassl引擎调用我们的加密机和加密卡的简介:https://github.com/jntass/Tassl_Engine

希望你们喜欢!

在此元旦佳节来临之际,再次感谢所有支持和关心tassl发展的各位朋友!祝你们:新年快乐,万事如意!

jntass avatar Dec 23 '19 06:12 jntass

@jntass 您好,请问支持产生cfca要求的p10请求文件?

ygm521 avatar Dec 23 '19 09:12 ygm521

@jntass 您好,请问支持产生cfca要求的p10请求文件?

可以生成国密的证书请求文件。但是我们没有测试过cfca要求的p10请求文件,不太清楚是否符合cfca的要求。你们可以生成证书请求,查看结果,并请告知我们。

jntass avatar Dec 23 '19 09:12 jntass

@jntass 您方便加qq=464713256 ,我发您cfca格式要求文件。

ygm521 avatar Dec 23 '19 09:12 ygm521