原文:开源项目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