Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

最后一步了,360访问居然提示“服务器证书验证出错 ”这个错误 #48

Closed
mrpre opened this issue Sep 6, 2016 · 8 comments

Comments

@mrpre
Copy link

mrpre commented Sep 6, 2016

错误描述:服务器证书验证出错

我已经发送了finished给360,360直接断开,也不回alert,真奇怪。
我以为finish中prf计算错误,于是我随便改了一下prf计算结果,再回给360,360则回复alert。这意味着
我原始的prf是正确的。
其次我验证360发给我的prf,验证通过了,这意味着我对prf的实现也是对的。
难道是证书的问题?谁有环境拿我证书试一下。
(我拿友商设备试了,也这个错误,之前试过是通的。。)

-----BEGIN CERTIFICATE-----
MIIB8jCCAZmgAwIBAgIJAL4qDJOkGjg/MAoGCCqBHM9VAYN1MFYxCzAJBgNVBAYT
AkNOMQswCQYDVQQIDAJCSjELMAkGA1UEBwwCQkoxCzAJBgNVBAoMAkRQMQswCQYD
VQQLDAJEUDETMBEGA1UEAwwKd3d3Lm9hLmNvbTAeFw0xNjA5MDYwOTUxMDJaFw0y
NjA5MDQwOTUxMDJaMFYxCzAJBgNVBAYTAkNOMQswCQYDVQQIDAJCSjELMAkGA1UE
BwwCQkoxCzAJBgNVBAoMAkRQMQswCQYDVQQLDAJEUDETMBEGA1UEAwwKd3d3Lm9h
LmNvbTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABEGbkjK6z9TPvJmONXkLIiBk
jcXjDyNxegbtucvtU9YEDAgGY1XiE8jAy9wRzIv4uMmTFzv84trzGEe1oPOysa6j
UDBOMB0GA1UdDgQWBBREoWiKLMEEM4ZaZf75B2ysGJLbRTAfBgNVHSMEGDAWgBRE
oWiKLMEEM4ZaZf75B2ysGJLbRTAMBgNVHRMEBTADAQH/MAoGCCqBHM9VAYN1A0cA
MEQCIEX46Gs4vCxECsWIFI5En4eaWFzrsuxPiqKZzXiVacH2AiAttn5ywpSC082e
jL3EAF1bzT5R0rlmZZ7Ng4Tk0wjM8w==
-----END CERTIFICATE-----

-----BEGIN EC PARAMETERS-----
BggqgRzPVQGCLQ==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIDRVT7GcxZC8JI0SuO65o1nsev2tQworOPSO+o90bsIaoAoGCCqBHM9V
AYItoUQDQgAEQZuSMrrP1M+8mY41eQsiIGSNxeMPI3F6Bu25y+1T1gQMCAZjVeIT
yMDL3BHMi/i4yZMXO/zi2vMYR7Wg87Kxrg==
-----END EC PRIVATE KEY-----

@mrpre
Copy link
Author

mrpre commented Sep 8, 2016

找到问题了,因为证书不可信。
我拿360自己的证书,当我服务器证书,就通了。
谁知道怎么在360中导入可信的 SM2 CA/ROOT 证书?总不能拿他们的证书或者买一个CFCA的国密证书吧。。

@mrpre
Copy link
Author

mrpre commented Sep 8, 2016

或者有没有其他测试工具?否则 测ECDHE_SM2 就没辙了。。

@guanzhi
Copy link
Owner

guanzhi commented Sep 8, 2016

360浏览器主页上有根证书的连接
gmssl源代码certs/sm2/下面有也包含了这些证书

@mrpre
Copy link
Author

mrpre commented Sep 8, 2016

这些 SM2 证书 导入不进去 IE 和 360 里面。我这还有国密办提供的证书,导入也无效。

@mrpre
Copy link
Author

mrpre commented Sep 9, 2016

貌似360浏览器不能导入SM证书,估计360本地可信的SM证书是硬编码(代码中写死)的。
目前已经调通了 国密SSL协议 和 ECC_SM4_SM3算法。由于本身SSL协议栈不是基于openssl的,只使用了 GMSSL 的 SM2_decrypt_with_recommended 函,数故在这里不方便直接贴出实现代码。后续会直接基于GMSSL改,方便大家参考学习。

@mrpre mrpre closed this as completed Sep 9, 2016
@fgcmaster
Copy link

@mrpre @zhaoxiaomeng @guanzhi 你好,我这边基于GMSSL代码做了修改,s3_client是可以访问ebssec.boc.cn了,SSL连接建立和通信都可以,但是我启动s3_server,通过360浏览器访问,当我发送server certificate后 TCP 就 RST了,也没有alert。我试了用ebssec.boc.cn的签名证书和加密证书作为server证书发送给360,也是直接断开,没有alert。我有如下疑问:
1) 直接启的ssl server,通过ebssec.boc.cn的签名证书和加密证书作为server证书的话,360为什么直接断开?
2) 发送server certificate后,不发送server key exchange消息,360会断开TCP嘛?
3) 是否有测试用的 签名和加密证书以及对应的私钥,来测试和360的SSL连接?
多谢了。

@iF2007
Copy link

iF2007 commented Jun 8, 2018

@fgcmaster 你好,想问下你是如何处理SM2的双证书的?也就是你在命令行里如何指定两个证书的?

@fgcmaster
Copy link

我没用命令行,都是代码写的client,直接注册两个证书。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants