网络
mayi_xiaochuan
这个作者很懒,什么都没留下…
展开
-
Openssl实现ssl通信实例
下面实例中使用的证书请参考openssl详解自行生成server.c#include "stdio.h"#include <net/if.h>#include <stdlib.h>#include <string.h>#include <netinet/in.h>#include <openssl/crypto.h>#include <openssl/ssl.h>#include <openssl/err.原创 2020-05-31 00:16:21 · 2569 阅读 · 1 评论 -
抓包分析SSL/TLS 握手过程详解
我们知道,HTTP 协议都是明文传输内容,在早期只展示静态内容时没有问题。伴随着互联网的快速发展,人们对于网络传输安全性的要求也越来越高,HTTPS 协议因此出现。如上图所示,在 HTTPS 加密中真正起作用的其实是 SSL/TLS 协议。SSL/TLS 协议作用在 HTTP 协议之下,对于上层应用来说,原来的发送接收数据流程不变,这就很好地兼容了老的 HTTP 协议,这也是软件开发中分层实现的体现。SSL/TLS 握手是为了安全地协商出一份对称加密的秘钥,这个过程很有意思,下面我们一起来了解一下。..转载 2020-05-30 17:45:26 · 3322 阅读 · 0 评论 -
(2)证书生成
上一节讲了各种证书的格式,在此基础上本次来探究一下证书的生成。本次使用openssl进行相应的证书管理,具体openssl的安装说明等基本知识就不在此赘述。此次主要流程就是先生成一个自签名根证书,然后利用自签名根证书去签发一个服务器证书,具体步骤如下:1.生成根证书之前,首先需要进行私钥生成(以RSA为例)openssl genrsa -out ca.key 1024该密钥默认使用PKCS#1格式,并使用PEM编码输出文件,具体秘钥内容可通过以下命令查看:openssl ...转载 2020-05-29 22:18:01 · 355 阅读 · 0 评论 -
(1)证书简介
证书可以理解为签发方信息、拥有者信息、公钥以及签名(由签发方私钥签名)的集合(当然还有额外信息)。校验证书是否可信,实际就是检验该证书是否是由合法的签发方签发,验证的方法就是首先通过签发方信息找到对应的签发方证书,利用签发方证书中的公钥去校验签名是否正确。从上述验证方法可以看出,实际上证书是否可信是由其签发方的证书来进行校验的,而签发方的证书的可信是由上一层签发方的证书来校验的,如此就形成一条证书链,而最顶层的就是常说的根证书。此外有也许会问如果浏览器中找不到签发方证书怎么办?而且签发方确...转载 2020-05-29 22:14:27 · 1914 阅读 · 0 评论 -
openssl用法详解
OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管理、对称加密和非对称加密。1、对称加密对称加密需要使用的标准命令为enc,用法如下:openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/...转载 2020-05-29 18:54:42 · 892 阅读 · 0 评论 -
HTTPS原理:也许,这样理解HTTPS更容易
摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个hello消息给B:如果我们要实现这个聊天软件,本文只考虑安全性问题,要实现A发给B的hello消息包,即使被中间人拦截到了,也无法得知消息的内容如何做到真正的安全?这个问题,很多人马上就想到了.转载 2020-05-28 16:48:25 · 104 阅读 · 0 评论