gmssl
YongApple
LINUX C++ golang thrift libevent
展开
-
GMssl -- 1
为什么我国要有自己的密码算法?这个问题不在此展开回答了,密码技术对国家的重要性可以参考二战时期英美和德国的密码对抗。目前我国公开发布的主要商用密码算法如下(SM也即拼音“商密”):- SM2:256位的椭圆曲线算法,包括密钥生成,签名,密钥交换和公钥加密四种算法- SM3:摘要算法,输出长度32字节(与SHA-256同样长度)- SM4:分组长度为16字节的对称加密算法原创 2017-01-14 11:04:29 · 2675 阅读 · 1 评论 -
Linux CentOS 7 下 Nginx 安装使用 Let’ s Encrypt 证书的完整过程
网站转成https是大势所趋。但是在国内,推进的过程显然要比国外慢很多。现阶段如果将自己的网站改成https以后,会碰到这样的尴尬现象:如果在页面上引用了http://的链接或者图片,用户在浏览器上会看到类似该网站是非安全网站的警告,对于网站运营者来说可以说非常冤。由于很多链接是第三方的,没有办法去控制。对于api接口类的网站,就不存在混合的问题,所以首先应该从api后台接口部分开始用ht转载 2017-01-18 20:40:29 · 15002 阅读 · 8 评论 -
CentOS6.5下openssl加密解密及CA自签颁发证书详解
前言 openSSL是一款功能强大的加密工具、我们当中许多人已经在使用openSSL、用于创建RSA私钥或证书签名请求、不过、你可知道可以使用openSSL来测试计算机速度?或者还可以用它来对文件或消息进行加密。正文 openssl是一个开源程序的套件、这个套件有三个部分组成、一是libcryto、这是一个具有通用功能的加密库、里面实现了众多的加密库、二是libssl、这个转载 2017-01-17 20:14:07 · 4240 阅读 · 0 评论 -
图文详解 -- HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇
在客户端(这里指浏览器,下同)与 facebook 网站服务器进行 SSL 握手的过程中(现在称为TLS 握手,进行TLS握手前的TCP 三次握手必不可少,这里描述的场景假设已经完成了 TCP 三次握手):首先两者协商使用什么协议连接:第一次“往”:由客户端在一个类型为 Client Hello 的 TLS 握手包中携带客户端运行的TLS 协转载 2017-02-21 18:58:36 · 3837 阅读 · 0 评论 -
TLS 握手优化详解
转自 屈大BLOG随着 HTTP/2 的逐渐普及,以及国内网络环境越来越糟糕(运营商劫持和篡改),HTTPS 已经开始成为主流。HTTPS 在 TCP 和 HTTP 之间增加了 TLS(Transport Layer Security,传输层安全),提供了内容加密、身份认证和数据完整性三大功能,同时也给 Web 性能优化带来新的挑战。上次写的「使用 BoringSSL 优化 HTTPS转载 2017-01-19 20:18:03 · 4127 阅读 · 0 评论 -
很棒的 openssl 证书解析例子
Parsing X.509 Certificates with OpenSSL and C转自:https://zakird.com/2013/10/13/certificate-parsing-with-opensslWhile OpenSSL has become one of the defacto libraries for performing SSL转载 2017-06-14 13:30:21 · 10862 阅读 · 0 评论 -
Superfish事件:自签名SSL证书惹的祸 分析
个人看法,联想 使用了Superfish 自签名的根证书,,更夸张的是,根证书私钥是个简单字符串,而且存在客户端也就是说,root.crt + root.key 在用户电脑上,实现https劫持,工作原理应该类似与 Fiddler 在本机把自己的跟证书嵌入系统可信区域。 可是根证书私钥使用了较简单内容,导致一旦被破解发现,黑客会使用联想发布的根证书+私钥,签发自己的黑客证书。原创 2017-07-25 13:53:02 · 573 阅读 · 0 评论 -
ECDSA签名+验签
ECDSA签名每次结果不同。 原因:ECDSA签名过程中混入随机值,生成签名结果不同。 公钥证书验签没问题。 1. 签名过程 假设要签名的消息是一个字符串:“Hello World!”。DSA签名的第一个步骤是对待签名的消息生成一个消息摘要。不同的签名算法使用不同的消息摘要算法。比如,DSS使用SHA1来生成160比特的摘要,而ECDSA256使用S...原创 2017-08-14 15:44:54 · 10060 阅读 · 0 评论 -
OpeSSL命令---oscp 构建ocsp服务命令行必备
用途:在线证书状态工具。它使应用程序能够决定一个被识别的证书的状态值(根据RFC2560)。Ocsp命令执行很多OCSP的任务。它可以被用于打印请求文件和响应文件,常见请求文件和发送一个OCSP响应文件,它就像一个消息OCSP服务器。用法:[cpp] view plain copyopenssl ocsp [-out file] [-issuer file] [-cert file] [-seri...转载 2018-03-29 17:03:49 · 3108 阅读 · 1 评论 -
国密SM1\ SM2\ SM3\ SM4\ SSF33算法和国际RSA算法的对应关系
转自:https://blog.csdn.net/hcnetbee/article/details/53692579安全是智能卡的核心,而算法是安全的基础。 国密算法由国家密码局发布,包含SM1\ SM2\ SM3\ SM4\ SSF33算法;国际算法由美国的安全局发布,是现今最通用的商用算法。今天小钞就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和...转载 2018-04-27 09:13:43 · 17325 阅读 · 1 评论 -
DH秘钥交换算法
图片说明,清晰明了上图很经典它的数学基础就是离散对数这个数学难题。用它进行密钥交换的过程简述如下:选取两个大数p和g并公开,其中p是一个素数,g是p的一个模p本原单位根(primitive root module p),所谓本原单位根就是指在模p乘法运算下,g的1次方,2次方……(p-1)次方这p-1个数互不相同,并且取遍1到p-1;对于Alice(其中的一个通信者),随机产生一个整...转载 2018-08-29 09:49:14 · 7828 阅读 · 0 评论 -
OpenSSL ECC 常用结构体+实例
以下内容是根据openssl1.1.0+版本实现OpenSSL实现的ECC 算法,包括三部分: ECC 算法(crypto/ec)、椭圆曲线数字签名算法 ECDSA (crypto/ecdsa)以及椭圆曲线密钥交换算法 ECDH(crypto/dh)。密钥数据结构密钥数据结构定义在openssl-1.1.0c\crypto\ec\ec_lcl.h文件中。struct ec_key_...转载 2018-10-12 12:30:25 · 3623 阅读 · 0 评论 -
关于国密算法 SM1,SM2,SM3,SM4 的笔记
国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度转载 2017-01-14 16:32:54 · 213398 阅读 · 29 评论 -
你所不知道的 HSTS
很多人听说过也看到过 301、302,但是几乎从来没有看到过 303 和 307 的状态码。今天在淘宝首页看到了 307 状态码,于是摸索了一把。中间人劫持起因是这样,https 使用的是 443 端口进行数据传输,而浏览器的默认端口是 80. 劫持者首先劫持用户的 80 端口,当用户向目标页发起请求时,劫持者模拟正常的 https 请求向源服务器获取数据,然后通过 80 端口转载 2017-01-18 16:08:04 · 730 阅读 · 0 评论 -
传输层安全协议抓包分析之SSL/TLS
1. 协议介绍SSL/TLS是保护计算机网络通讯安全的一类加密协议,它们在传输层上给原先非安全的应用层协议提供加密保护,如非安全的HTTP协议即可被SSL/TLS保护形成安全的HTTPS协议。SSL、TLS协议其实是有所差异的,TLS协议是继承了SSL协议并写入RFC,标准化后的产物。因此,通常使用SSL来指代SSL协议和TLS协议。SSL (Secure Socket转载 2017-01-18 12:27:56 · 2670 阅读 · 0 评论 -
gmssl SMS4 dgst
一、国密SM4进行加解密如上图所示,上述命令使用gmssl中的国密算法sm4的ecb模式对 encFile.txt进行解密生成decFile.txt, -K 后面是密钥二、国密SM3获得摘要信息如上图所示,输入文件为 src.txt,方式为SM3,输出文件是sm3rlt.txt, 以 binary的形式写入到sm3rlt.txt, 否转载 2017-01-14 10:50:36 · 2996 阅读 · 0 评论 -
SSL握手过程
一、SSL握手有三个目的:1. 客户端与服务器需要就一组用于保护数据的算法达成一致;2. 它们需要确立一组由那些算法所使用的加密密钥;3. 握手还可以选择对客户端进行认证。二、SSL握手过程:1. 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器;2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用转载 2017-01-16 23:58:10 · 528 阅读 · 0 评论 -
SSL/TLS 协议简介与实例分析
以前读RFC时总结的一篇文章,主要介绍了SSL/TLS协议的相关知识,包括协议本身以及简单的密码学概念,以及用实例解析了HTTP over SSL的协商过程,在最后简要列出了SSL的安全问题。1. RFC documents about SSL/TLSRFC-2246: The TLS Protocol Version 1.0详细讲述了TLS1.0的协议,TLS协议提供了一种I转载 2017-01-17 11:26:33 · 714 阅读 · 0 评论 -
TLS协议栈和握手细节-PPT
TLS Stack and something detail info about HandShake process转载 2017-01-17 11:45:16 · 927 阅读 · 0 评论 -
扫盲 HTTPS 和 SSL/TLS 协议[2]:可靠密钥交换的难点,以及身份认证的必要性
文章目录★先插播一个安全通告★方案1——单纯用“对称加密算法”的可行性★方案2——单纯用“非对称加密算法”的风险★方案2失败的根源——缺乏【可靠的】身份认证★身份认证的几种方式★如何解决 SSL 的身份认证问题——CA 的引入★方案3——基于 CA 证书进行密钥交换★关于“客户端证书”的补充说明★总结★先插播一个安全通告 就转载 2017-01-17 15:45:25 · 2711 阅读 · 0 评论 -
扫盲 HTTPS 和 SSL/TLS 协议[3]:密钥交换(密钥协商)算法及其原理
文章目录★密钥交换/协商机制要达到啥目的?★密钥交换/协商机制的几种类型★基于 RSA 的密钥协商★基于 DH 的密钥协商★DH 的变种★基于 PSK 的密钥协商★基于 SRP 的密钥协商★各种组合的一览表 先插播一个好消息: 本月初俺发了一篇《老流氓CNNIC 的接班人——聊聊“沃通/WoSign”的那些破事儿》。前2天看到新闻说,Mozi转载 2017-01-17 15:47:52 · 23581 阅读 · 9 评论 -
OpenSSL 与 SSL 数字证书概念贴
SSL/TLS 介绍见文章 SSL/TLS原理详解。如果你想快速自建CA然后签发数字证书,请移步 基于OpenSSL自建CA和颁发SSL证书 。首先简单区分一下HTTPS、SSL、OpenSSL三者的关系:SSL是在客户端和服务器之间建立一条SSL安全通道的安全协议,而OpenSSL是TLS/SSL协议的开源实现,提供开发库和命令行程序。常说的HTTPS是HTTP的加密版,底层使用的加转载 2017-01-17 16:41:59 · 1052 阅读 · 0 评论 -
公钥、私钥、数字证书的概念
公钥和私钥 公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。用电子邮件的方式说明一下原理。 使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的: 1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。 2转载 2017-01-16 23:45:41 · 1220 阅读 · 0 评论 -
sm2公私钥
1.SM2为国家密码管理局公布的公钥算法,其加密强度为256位2. SM2公钥64字节,私钥32字节3. 加解密、签名验签过程,掺杂随机数导致,结果长度在一定范围内变长。 签名长度70-72字节不等。SM2签名算法支持多大的数据量,签名结果为多少字节?签名原始数据量长度无限制,签名结果为64字节,但是由于签名后会做ASN.1编码,实际输出长度为7...原创 2019-03-29 11:05:26 · 35997 阅读 · 7 评论