牆倒推薦:深入淺出 HTTPS從原理到實戰 這本書。豁然開膛!!!
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