ssl 国密算法

墙倒推荐:深入浅出 HTTPS从原理到实战 这本书。豁然开膛!!!

国密和算法详细开发指导 by水木云石

http://gmssl.org/docs/install.html gmssl编译和安装

http://gmssl.org/docs/docindex.html 项目文档

http://www.chromeliulanqi.com/help/

https://www.chromium.org/developers 开发者首页

https://chromium.googlesource.com/chromium/src.git/+/master/docs/ 各种文档

https://boringssl.googlesource.com/boringssl/ ssl port文档在里面

 

Chromium源码集成国标VPN协议,实现国密通信。实现方式可以通过白名单放行或者自适应TLS和国密VPN协议,对两种实现方式做简单描述:

白名单放行-通过配置国密 URL 地址来适配国密VPN协议,只有在配置在白名单的网址才能使用过VPN通道
自适应协议-根据请求的网址,内核内部自动处理,响应相关的TLS或国密VPN协议
上述两种方式需要对BoringSSL做修改,支持国密算法和国标VPN协议,相对来说比较容易,而且现有的国密算法库也有很多,开源的包括GmSSL、TaSSL和TaSSL-1.1.1。GmSSL的SM2DHE套件没有实现,部分接口需要参考国标文档调整。

另外还可以使用注入的方式实现,具体方法是在原有的HTTP流程注入TLS协议,可以使用OpenSSL或者其它第三方实现国密VPN套件,打断原有的HTTP流程,在通信建立后数据传输前添加国密TLS流程,达到实现HTTPS的方式(不推荐这种方式,会带来性能和安全问题)。

国密测试网站中国银行,ovssl,后者需要使用具备国密VPN通信的浏览器,否则为TLS协议。
————————————————
版权声明:本文为CSDN博主「277608109 Q」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/w277608109/java/article/details/98116110

 

chromium 内核访问ssl的接口。
boringssl对接口的实现。
openssl1.1.1 与 boringssl的差异。


目录:
chromium\src\third_party\boringssl
chromium\src\net\socket ssl_server_socket_impl.h
chromium\src\net\ssl


ssl_lib.cc chromium\src\third_party\boringssl\src\ssl 81647 2018/5/8

test_ssl_private_key.cc chromium\src\net\ssl 3016 2018/5/3

ssl_status


ssl示例:
ssl_versions.cc chromium\src\third_party\boringssl\src\ssl 14886 2018/5/8
ssl_lib.cc chromium\src\third_party\boringssl\src\ssl 81647 2018/5/8


tls_openssl.c chromium\src\third_party\ffmpeg\libavformat 10988 2018/5/8

tls_openssl.c chromium\src\third_party\ffmpeg\libavformat 10988 2018/5/8

 

参考:

https://www.chromium.org/Home/chromium-security/education

 https://www.chromium.org/Home/chromium-security/education/tls

 


 

 

openssl 自制国密证书
原创zhbpd 最后发布于2018-12-13 14:52:33 阅读数 2572 收藏
展开
下载解压 openssl-OpenSSL_1_1_1a.tar.gz

cd openssl-OpenSSL_1_1_1a
./config -fPIC no-gost no-shared no-zlib --prefix=./out
make && make install
cd out/bin
./openssl ecparam -out sm2.key -name SM2 -genkey
./openssl req -config ../ssl/openssl.cnf -key sm2.key -new -out sm2.req
./openssl x509 -req -in sm2.req -signkey sm2.key -out sm2.pem



可以使用这个证书再签发 server 证书:

./openssl ecparam -out sm2_site.key -name SM2 -genkey
./openssl req -config ../ssl/openssl.cnf -key sm2_site.key -new -out sm2_site.req
./openssl x509 -req -in sm2_site.req -CA sm2.pem -CAkey sm2.key -out sm2_site.pem -CAcreateserial
 
————————————————
版权声明:本文为CSDN博主「zhbpd」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhbpd/article/details/84988494

 

使用 BoringSSL 优化 HTTPS 加密算法选择
BoringSSL
OpenCA Labs
OPENSSL:密钥交换算法的选择
OpenSSl 个人学习-总结的很好
《HTTPS权威指南》- SSL、TLS和密码学学习笔记-总结的更好
《HTTPS权威指南》-TLS协议学习笔记
《HTTPS权威指南》-公钥基础设施(PKI)学习笔记
————————————————
版权声明:本文为CSDN博主「陈振阳」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xichenguan/java/article/details/79316107

 

https://www.cnblogs.com/findumars/p/5929775.html

https://www.jianshu.com/p/042dc1ba6815

https://blog.csdn.net/xichenguan/article/details/79316107

认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。

参考

使用 BoringSSL 优化 HTTPS 加密算法选择
BoringSSL
OpenCA Labs
OPENSSL:密钥交换算法的选择
OpenSSl 个人学习-总结的很好
《HTTPS权威指南》- SSL、TLS和密码学学习笔记-总结的更好
《HTTPS权威指南》-TLS协议学习笔记
《HTTPS权威指南》-公钥基础设施(PKI)学习笔记

点赞
————————————————
版权声明:本文为CSDN博主「陈振阳」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xichenguan/java/article/details/79316107

posted @ 2020-04-02 16:14  Bigben  阅读(2618)  评论(0编辑  收藏  举报