
OpenSSL
huang714
不断的学习,充实自己。
展开
-
使用OpenSSL证书操作详解
一、OpenSSL简介 OpenSSL支持多种秘钥算法,包括RSA、DSA、ECDSA,RSA使用比较普遍。官网地址:https://www.openssl.org/,一般CeontOS系统都装有OpenSSL,可使用命令openssl verson查看openssl verson二、秘钥操作 A)生成RSA私钥。-out private.key 输出秘钥文件为private.key;128 为秘钥大小,目前认为2048大小是比较安全的,本文测试使用128大小。openssl..原创 2020-10-15 10:07:43 · 1358 阅读 · 1 评论 -
openssl 证书解析
简单实用例子 openssl 解析x509证书命令行打印证书细节: openssl x509 -noout -text -in cert.crtsudo apt-get install libssl-dev #debian basedyum install openssl-devel #redhat basedmain.cpp#include <openssl/pem.h>#include <openssl/x509.h>#includ.原创 2020-10-15 10:06:14 · 2864 阅读 · 0 评论 -
openssl基本原理 + 生成证书 + 使用实例
公司一个项目要进行交易数据传输,因为这个项目银行那边也是刚刚开始启动,所有的支持只有一个传输字段的说明文档,好吧,总的有人做事不是嘛,于是接口开发正式展开,第一步的难点就是加密解密,我选择使用OpenSSL.OpenSSL初接触的人恐怕最难的在于先理解各种概念 公钥/私钥/签名/验证签名/加密/解密/非对称加密 我们一般的加密是用一个密码加密文件,然后解密也用同样的密码.这很好理解,这个是对称加密.而有些加密时,加密用的一个密码,而解密用另外一组密码,这个叫非对称加密,意思就是加密解密的密码原创 2020-10-15 10:00:42 · 3465 阅读 · 1 评论 -
使用 openssl 生成证书
一、openssl 简介openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。官网:https://www.openssl.org/source/构成部分密码算法库 密钥和证书封装管理功能 SSL通信API接口用途建立 RSA、DH、DSA key 参数 建立 X.509 证书、证书签名请求(CSR)和CRLs(证书回收列表) 计算消息摘要 使用各种 Cipher加密/解密 SSL/TLS 客户端以原创 2020-10-15 09:59:08 · 1231 阅读 · 0 评论 -
openssl使用
1. websiteSSL(secure Socket Layer)TLS(transport Layer Security) - SSL3.0基础之上提出的安全通信标准,目前版本是1.0openssl 主页 ->http://www.openssl.org/openssl 中文文档 ->http://www.chinaunix.net/jh/13/478901.html...原创 2020-03-13 08:12:32 · 615 阅读 · 0 评论 -
使用openssl实现一个简单的服务器
#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <sys/wait.h>#include <unistd.h>#include &l原创 2020-09-18 10:40:56 · 563 阅读 · 0 评论 -
一个小游戏内置外挂
一个小游戏内置外挂/** * by:gonzhihui * 2017.11.30 * * 一个小游戏 10*10矩阵 相邻两个或多个消成0 * (内置外挂)一键秒杀 :input x: 100 * * 主要数据结构: * typedef std::vector<std::pair<int, int> > VectorPair; * ...原创 2020-03-12 14:37:15 · 469 阅读 · 0 评论 -
拷贝构造函数和移动构造函数解析
拷贝构造函数和移动构造函数解析/** * by: gongzhihui * 2017.12.5 * * 拷贝构造函数调用时机: * 1. 对象作为函数参数 * 2. 对象作为函数返回值 * 3. 用一个对象初始化另一个对象: * T t1; * T t2(ti); * ...原创 2020-03-12 14:37:24 · 185 阅读 · 0 评论 -
C++WEBSOCKET客户端和服务端例子(BOOST.BEAST)
C++WEBSOCKET客户端和服务端例子(BOOST.BEAST)官方的example中仅仅输出到控制台,而且不支持中文,这里我加入了ansi到utf8的转换,使用utf8就能正常解析中文。server://// Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)//// Distr...原创 2020-03-12 14:36:14 · 5557 阅读 · 2 评论 -
openssl实现双向认证教程(服务端代码+客户端代码+证书生成)
一、背景说明1.1 面临问题最近一份产品检测报告建议使用基于pki的认证方式,由于产品已实现https,商量之下认为其意思是使用双向认证以处理中间人形式攻击。《信息安全工程》中接触过双向认证,但有两个问题。第一个是当时最终的课程设计客户端是浏览器,服务端是tomcat双向认证只需要对两者进行配置并不需要自己真的实现代码。第二个是虽然课程也有接近双向认证的实现代码,但当时是Jav...原创 2020-03-10 08:54:47 · 6423 阅读 · 0 评论 -
使用openssl编写服务端和客户端程序
1.使用相同的ca生成两个证书,一个是server.cer,一个是client.cer,注意生成server.cer的时候必须指明证书可以用于服务端的。服务器代码:#include"openssl/bio.h" #include"openssl/ssl.h" #include"openssl/err.h" #include<cutil....原创 2020-03-10 08:55:00 · 1165 阅读 · 0 评论 -
VS中OpenSSL环境配置示例
最近在研究信息安全,需要用到OpenSSL库,我用到的开发IDE是VS2012,所以,在这里也记录一下我配置VS2012的OpenSSL库的过程。下载OpenSSL库OpenSSL库大家可以自行下载源码然后用ruby进行编译,另外我们也可以选择直接下载编译好的类库。这里我们利用的后者,在此提供一个下载链接。OpenSSL-Win32下载完成之后解压,比如我的放到了D盘。转存...原创 2020-03-10 08:53:36 · 2827 阅读 · 1 评论 -
基于C++和OpenSSL实现的SSL网络通信
一、实验内容 安装openSSL 编写一个服务器的程序,服务器端的功能是建立SSL网络服务,接受客户端的SSL连接,收发SSL消息 编写一个客户端的程序,客户端的功能是通过SSL协议连接服务器,收发SSL消息 生成SSL证书 撰写试验报告,包括了服务器端和客户端运行结果截图,以及生成的SSL证书 二、实验框架程序分为两部分,客户端和服务器端,我...原创 2020-03-10 08:52:31 · 7170 阅读 · 1 评论 -
C++使用openssl对数据进行加解密
1. openssl库文件及头文件的获取获取openssl库文件及头文件有两种方式:1)下载OpenSSL源代码并由自己编译后使用2)下载已编译好的安装包,安装后直接可以得到openssl的库文件及头文件使用第一种方法获取,过程十分繁琐,同时编译过程中可能产生各种各种的问题,因此这里使用第二种方法获取openssl库文件及头文件。下载安装包(https://slproweb.co...原创 2020-03-10 08:52:24 · 3964 阅读 · 1 评论 -
OpenSSL C++简单应用
1.加密后得内容中带有结束符,cout输出不能正常输出2.将加密后的内容存到文件,解密的时候再读出来,可能会碰到结束符而提前终止读取文件,导致解密失败3.将加密后的内容转为十六进制,解密再转回来是完全可以的,但是我将加密后的内容转为二进制会有问题,我看解密的时候具体数据都是一样的,却解密失败。这个我也未解决。// OpenSSLDemo.cpp : 定义控制台应用程序的入口点。//...原创 2020-03-09 11:09:58 · 408 阅读 · 0 评论 -
OpenSSL编程初探
1 --- 使用OpenSSL API建立SSL通信的一般流程简介OpenSSL是一套开放源代码的SSL套件,其函数库是以C语言所写成,实现了基本的传输层数据加密功能。此软件是以两个加拿大人Eric A. Young 和Tim J. Hudson所写的SSLeay为基础所发展的,SSLeay随着两人前往RSA公司任职而停止开发。1998年,OpenSSL项目组接管了OpenSSL的开发工作,并...原创 2020-03-09 11:08:14 · 1450 阅读 · 0 评论 -
两个基于openssl的https client例子
1、使用BIO接口 openssl源码里s_client也是采用BIO接口 代码来自http://www.ibm.com/developerworks/cn/linux/l-openssl.html源代码里缺少SSL_library_init()调用#include "openssl/ssl.h"#include "openssl/bio.h"#include "openssl/err...原创 2020-03-09 11:06:02 · 498 阅读 · 0 评论 -
非阻塞/异步(epoll) openssl
前段时间在自己的异步网络框架handy中添加openssl的支持,当时在网络上搜索了半天也没有找到很好的例子,后来自己慢慢的摸索,耗费不少时间,终于搞定。因此把相关的资料整理一下,并给出简单的例子,让后学者可以少费些力气。同步的openssl调用网上已经有许多的例子,这里就不再详细介绍,大家也可以直接读源代码:同步客户端:https://github.com/yedf/openssl-ex...原创 2020-03-09 11:04:49 · 695 阅读 · 0 评论 -
SSL连接建立过程分析
Https协议:SSL建立过程分析web访问的两种方式:http协议,我们一般情况下是通过它访问web,因为它不要求太多的安全机制,使用起来也简单,很多web站点也只支持这种方式下的访问.https协议(Hypertext Transfer Protocol over Secure Socket Layer),对于安全性要求比较高的情况,可以通过它访问web,比如工商银行https:/...原创 2020-03-09 11:04:20 · 1433 阅读 · 0 评论 -
openssl 编程入门-流程示意图
原创 2020-03-09 10:58:17 · 443 阅读 · 1 评论 -
HTTPS是大势所趋?看腾讯专家通过Epoll+OpenSSL在高并发压测机器人中支持https
WeTest 导读用epoll编写一个高并发网络程序是很常见的任务,但在epoll中加入ssl层的支持则是一个不常见的场景。腾讯WeTest服务器压力测产品,在用户反馈中收到了不少支持https协议的请求。基于此,本文介绍了在基于epoll的高并发机器人框架中加入openssl,实现对https支持时的基本实现思路。一、背景2014年,谷歌在其官方博客中发布公告称,为了打造更安全的互联网环...原创 2020-03-09 10:56:54 · 367 阅读 · 0 评论 -
Https协议详解
HTTP 的缺点到现在为止,我们已了解到 HTTP 具有相当优秀和方便的一面,然而 HTTP 并非只有好的一面,事物皆具两面性,它也是有不足之处的。HTTP 主要有这些不足,例举如下。1、通信使用明文( 不加密) , 内容可能会被窃听2、不验证通信方的身份, 因此有可能遭遇伪装3、无法证明报文的完整性, 所以有可能已遭篡改这些问题不仅在 HTTP 上出现,其他未加密的协议中也会存在这...原创 2020-03-09 10:55:32 · 1164 阅读 · 0 评论 -
基于OpenSSL实现的安全连接
Web服务器为了支持https访问,通常会使用第三方库openssl实现,而且为了高性能采用异步事件驱动模型,因此连接套接字被设为非阻塞类型,本文在nginx ssl模块的基础上,简化提取它的核心框架,使用面向对象的方式描述,从握手、读写和关闭3个方面进行了分析,由于这3个操作都是异步的,因此操作失败后要调用SSL_get_error来获取错误码,有如下4种情况。● SSL_ERRO...原创 2020-03-09 10:54:15 · 2933 阅读 · 0 评论 -
基于OpenSSL的HTTPS通信C++实现
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。Nebula是一个为开发者提供一个快速开发高并发网络服务程序或搭建高并发分布式服务集群的高性能事件驱动网络框架。Nebula作为通用网络框架提供HTTPS支持十分重要,Nebula既可用作https服务器,又可用作https客户端。本文将结合N...原创 2020-03-09 10:51:31 · 2495 阅读 · 0 评论