原文:開源項目SMSS發開指南(四)——SSL/TLS加密通信詳解(上)

本文將詳細介紹如何在Java端 C 端和NodeJs端實現基於SSL TLS的加密通信,重點分析Java端利用SocketChannel和SSLEngine從握手到數據發送 接收的完整過程。本文也涵蓋了在Ubuntu系統上利用OpenSSL和Libevent如何創建一個支持SSL的服務端。文章中介紹的知識點並未全部在SMSS項目中實現,因此筆者會列出所有相關源碼以方便讀者查閱。提醒:由於知識點較多 ...

2020-02-02 12:34 0 1143 推薦指數:

查看詳情

開源項目SMSS指南(五)——SSL/TLS加密通信詳解(下)

繼上一篇介紹如何在多種語言之間使用SSL加密通信,今天我們關注Java端的證書創建以及支持SSL的NioSocket服務端開發。完整源碼 一、創建keystore文件 網上大多數是通過jdk命令創建秘鑰文件,但是有時候我們需要將配套的秘鑰以及證書讓多個模塊來使用,他們很可能是由不同語言開發 ...

Fri Feb 14 19:47:00 CST 2020 0 635
開源項目SMSS指南(三)——protobuf協議設計

本文的第一部分將介紹protobuf使用基礎以及如何利用protobuf設計通信協議。第二部分會給出smss項目的協議設計規范和源碼講解。 一.Protobuf使用基礎 什么是protobuf protobuf是谷歌研發的一種數據序列化和存儲技術。主要可以用來解決網絡通訊中異構系統的通訊和數 ...

Thu Jan 16 19:11:00 CST 2020 0 1156
開源項目SMSS開發指南

   項目介紹   SMSS是一個由我個人發起的開源項目,目的是建立一套輕量化,高可用,高安全和方便擴展的業務支撐框架。SMSS面向TCP/IP層開發,適合擴展上層業務接口。數據結構傳輸序列化通過Protobuf實現。傳輸過程中的數據經過OpenSSL加密再由接收端進行解密,文件傳輸也需要 ...

Sat Jan 04 22:56:00 CST 2020 2 858
開源項目SMSS開發指南(二)——基於libevent的線程池

libevent是一套輕量級的網絡庫,基於事件驅動開發。能夠實現多線程的多路復用和注冊事件響應。本文將介紹libevent的基本功能以及如何利用libevent開發一個線程池。 一. 使用指南 監聽服務和注冊連接事件 libevent是一個基於事件驅動的網絡庫,通過在一個事件循環上注冊 ...

Sat Jan 11 23:13:00 CST 2020 0 1412
SSL/TLS通信

本文同時發表在https://github.com/zhangyachen/zhangyachen.github.io/issues/31 復習基本概念 對稱密碼:加密和解密使用同一密匙。 公鑰密碼:加密和解密使用不同密鑰的方式。 單向散列函數:計算散列值,保證的不是機密性 ...

Thu Dec 14 08:25:00 CST 2017 1 2049
SSL/TLS 協議詳解

SSL(Secure Sockets Layer,安全套接層),及其繼任者 TLS(Transport Layer Security,傳輸層安全)是為網絡通信提供安全及數據完整性的一種安全協議。TLSSSL在傳輸層對網絡連接進行加密。 為Netscape所研發,用以保障在Internet ...

Tue Nov 27 23:59:00 CST 2012 5 32925
SSL/TLS原理詳解

SSL/TLS作為一種互聯網安全加密技術,原理較為復雜,枯燥而無味,我也是試圖理解之后重新整理,盡量做到層次清晰。正文開始。 1. SSL/TLS概覽 1.1 整體結構 SSL是一個介於HTTP協議與TCP之間的一個可選層,其位置大致如下: SSL:(Secure Socket ...

Thu May 02 03:55:00 CST 2019 0 2028
SSL/TLS原理詳解2

引用原文地址:https://segmentfault.com/a/1190000004985253#articleHeader6 在進行 HTTP 通信時,信息可能會監聽、服務器或客戶端身份偽裝等安全問題,HTTPS 則能有效解決這些問題。在使用原始的HTTP連接的時候,因為服務器與用戶之間 ...

Fri Jul 22 01:34:00 CST 2016 0 2962
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM