使用openssl演练数字签名】的更多相关文章

以下代码摘自网上,设置一个server和client,client代码如下: package main import (    "fmt"    "io/ioutil"    "net/http") func main() {    resp, err := http.Get("https://localhost:8081")    if err != nil {        fmt.Println("error:…
内核编译丶sed丶awk Linux:单内核    模块化:动态      /lib/modules      lsmod,modinfo,modprobe,insmod,,modprobe -r ,rmmod      dep文件:模块的依赖关系      sysbols:符号映射    depmod:用来生成模块依赖关系         kernel文件夹下            arch:架构            crypto:加密模块            drivers:驱动    …
Open SSL 开发环境配置 最后更新日期:2014-05-13 阅读前提:VisualStudio的基本使用.Cent OS的基本使用 环境: Windows 8.1 64bit英文版,Visual Studio 2013 Professional Update1英文版,ActivePerl 5.16.3,openssl-1.0.1g,Cent OS 6.5 (32位),openssl-1.0.1e 在Windows下配置Open SSL开发环境 编译32位Open SSL 依赖库 [1]从…
昨天写过了RSA非对称加密解密的交互方式, 其实数字签名也是RSA非对称加密,只不过用私钥加密的,再加上个hash摘要 CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互已经提到关于证书和私钥的数据以及对象获取,这里就不再重复讨论 1.openssl的签名及验证 void opensslSigner::sign(EVP_PKEY* evpKey,BYTE** signValue,unsigned int &signLen,BYTE* text,int te…
一.公钥加密假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密.这样我就可以保护数据了. 我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上.别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,只有我才能解密,解密后就得到a.这样,我们就可以传送加…
参考: OpenSSL命令行工具验证数字签名 客户端需要生成一对密钥,服务器需要生成一对密钥,分别记为client_private.pem/client_public.pem和server_private.pem和server_public.pem. 步骤 1. 客户端下载服务器的公钥,server_public.pem: 2. 客户端使用服务器的公钥对数据(data)进行加密: 3. 客户端对数据(data)进行签名计算,再将结果用私有密钥进行加密,得到加密后的摘要签名: 4. 客户端使用加密…
openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 该伪命令是单向加密工具,用于生成文件的摘要信息,也可以进行数字签名,验证数字签名. 首先要明白的是,数字签名的过程是计算出数字摘要,然后使用私钥对数字摘要进行签名,而摘要是使用md5.sha512等算法计算得出的,理解了这一点,openssl dgst命令的用法就完全掌握了. openssl dgst [-md5|-sha1|...] [-hex | -binary] [-…
该伪命令是单向加密工具,用于生成文件的摘要信息                  也可以进行数字签名,及验证数字签名. 首先要明白的是,数字签名的过程是计算出摘要信息,然后使用私钥对摘要信息进行加密得到数字签名,而摘要是使用md5.sha512等单向散列算法计算得出的(而通过私钥加密摘要信息得到数字签名),理解了这一点,openssl dgst命令的用法就完全掌握了. openssl dgst [-md5|-sha1|...] [-hex | -binary] [-out filename] […
openssl 算法基础 1.1 对称算法 : 密钥相同,加密解密使用同一密钥 1.2 摘要算法:无论用户输入的数据什么长度,输出的都是固定长度的密文:即信息摘要,可用于判断数据的完整性:目前常用的有 MD5(16字节), SHA1(20字节) 1.3 公钥算法:使用同一个公钥和算法加密(公开),使用各自的密钥解密; 主要有 RSA.DSA: 1.4 RSA算法:原理:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即是公钥(通常1024位):通…
这段时间要实现一个认证协议,分为客户端和服务器端,客户端使用windows操作系统,服务器端使用linux操作系统,在客户端下(windows),使用windows证书库中的签名证书对消息进行签名(使用windows的crypto库),然后在服务器端(linux)下,使用OpenSSL库对签名值进行验证~~ 客户端使用函数接口: CertOpenSystemStore  —  打开系统证书库 CryptUIDlgSelectCertificateFromStore  — 从证书库中选择证书,获取…
如何使用openssl生成RSA公钥和私钥对 http://blog.csdn.net/scape1989/article/details/18959657 https://www.openssl.org/docs/manmaster/apps/rsautl.html C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密 http://www.2cto.com/kf/201007/52626.html RSA Key…
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child { margin-top: 0; padding-top: 0; } a:first-child h1, a:first-child h2, a:first-child h3, a:fi…
对称加密算法 1.密钥只有一个,加密和解密都需要同一个密钥2.DES,IDEA,AES3.明文+密钥=密文, 密文+密钥=明文4.加密速度快,系统开销小,适用大量数据的加密 非对称加密算法1.密钥由公钥和私钥组成,必须成对存在.公钥公布出去,私钥自己保留2.RSA,DSA(数字签名)3.明文+接收方公钥=密文,密文+配置的私钥=明文4.加密速度比对称加密算法慢1000倍,系统开销大,适用小量数据的加密 HASH算法1.单向算法2.MD5,SHA3.仅对内容做散列,不能由散列恢复原来内容 一.RS…
------------------ rsa 加密与解密 ----------------------------- 数论知识的实际应用: rsa加密 把问题归结为对数字的加密. 被加密的数字为明文. RSA加密通过公钥对明文进行加密, 得到密文. 网络中传输的都是密文.接收方收到密文, 必须有私钥才能把密文解开.即RSA解密算法通过私钥对密文进行解密. 公钥都是公开的. 私钥只有指定接收方才有. 私钥是根据公钥取的一个数,要想猜出这个数的难度非常大. 看如何生成公钥: 取两个互质的大素数,分别…
一.openssl 简介 目前最流行的 SSL 密码库工具官网:https://www.openssl.org/source/ 构成部分 密码算法库 密钥和证书封装管理功能 SSL通信API接口 用途 建立 RSA.DH.DSA key 参数 建立 X.509 证书.证书签名请求(CSR)和CRLs(证书回收列表) 计算消息摘要 使用各种 Cipher加密/解密 SSL/TLS 客户端以及服务器的测试 处理S/MIME 或者加密邮件 二.生成RSA密钥 生成RSA私钥 openssl genrs…
rsautl是rsa的工具,相当于rsa.dgst的部分功能集合.可用于签名.验证.加密和解密文件.非对称密钥的密钥是随机生成的,因此不需要也无法指定salt参与加密. pkeyutl是非对称加密的通用工具,大体上和rsautl的用法差不多,这里只解释rsautl. [root@xuexi tmp]# man rsautl NAME rsautl - RSA utility SYNOPSIS openssl rsautl [-in file] [-out file] [-inkey file]…
该伪命令用于生成文件的信息摘要,也可以进行数字签名,验证数字签名. 首先要明白,要进行数字签名,需要计算出特征码即数字摘要,然后使用私钥对数字摘要进行签名.特征码使用md5,sha等计算出. 对象只能是文件,不能是一段数据. [root@xuexi tmp]# man dgst NAME dgst, md5, md4, md2, sha1, sha, mdc2, ripemd160 - message digests SYNOPSIS openssl dgst [-md5|-md4|-md2|-…
今天心血来潮突然想搞搞openssl了,趁着端午小假,刚好有空可以鼓捣孤岛自己喜欢的东西,出去东奔西跑的实在太造孽了,还是宅起来给自己充充电吧.下载openssl最新代码1.0.1g,修复了"心血漏洞"那个版本.编译安装那些小儿科的东西就不再浪费笔墨了,如果出现头文件或者库文件之类的错误,请在本人博客里寻找相关文章,应该主要集中在动态库那几篇博文.反正我在自己虚拟机里安装的时候是妥妥滴. 因为我主要对非对称加密的RSA算法比较感兴趣,网上最多的就是这么用的:    生成私钥文件(其中已…
一.详细介绍加密.解密技术 现在的加密/解密技术主要有三种:对称加密,非对称加密,和单向加密 这三种加密解密技术的组合就是现在电子商务的基础,它们三个有各自最适合的领域,而且所要完成的功能也是不同的,大家都知道,只要我们连上互联网,那么我们就相当于大门洞开,我们的一些隐私,跟其他人对话内容等都有可能会被人窃听,最常见的比如man in the middle(中间人),它主要是因为双方身份无法验证的时候回话被劫持造成的,就是说通信双方都以为是在跟对方交流,其实内容都可能已经被这个“中间人”修改过,…
非对称加密:即两端使用一对不同的密钥进行加密. 在非对称加密中,需要两对密钥,公钥和私钥. 公钥个私钥属于对立关系,一把加密后,只有另一把才可以进行解密. 公钥数据加密 数字证书内包含了公钥,在进行会话连接时,双方交换各自的公钥,保留自己的私钥.进行数据传输时,利用对方的公钥进行数据加密.加密后的数据只有对方的私钥才能进行解密. 私钥数字签名 私钥进行数据加密,所有人用公钥都能解密数据,但是加密后的数据却唯有私钥能生成.可以用于消息来源验证.将数据用私钥加密并明文告诉用户密文内容,用户进行公钥解…
功能应用: 消息摘要,给文件或数据生成消息摘要,消息摘要只能校验数据的完整性,如SHA.MD5 数据加密和解密:对数据进行加密解密,OpenSSL实现了所有加密算法 数字证书:可以通过命令行或代码生成证书,证书内包含了公钥 数字签名:利用加密算法对数据进行签名,验证数据来源可靠性,如RSA 随机数字:产生可靠的随机数 加密算法: HASH算法:SHA.MD5等,不可逆加密,用于校验数据的完整性. 对称加密算法:DES.3DES.DESX等,双方使用相同的密钥进行加密解密. 非对称算法:RSA.E…
用途: pkcs12文件工具,能生成和分析pkcs12文件.PKCS#12文件可以被用于多个项目,例如包含Netscape. MSIE 和 MS Outlook. 用法: openssl pkcs12 [-export] [-chain] [-inkey filename] [-certfile filename] [-CApath arg] [-CAfile arg] [-name name] [-caname name] [-in filename] [-out filename] [-no…
1.前言 最近工作涉及到https,需要修改nginx的openssl模块,引入keyless方案.关于keyless可以参考CloudFlare的官方博客: https://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/?utm_source=tuicool&utm_medium=referral. 在openssl的基础上修改私钥校验过程,因此需要对openssl的认证认证流程需要熟悉一下.SSL中涉及到…
Linux下OpenSSL的安装与使用 OpenSSL简介 OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux.Windows.Mac OS等多种平台. OpenSSL最早的版本在1995年发布,1998年后开始由OpenSSL项目组维护和开发.当前最新的版本是1.1.0 alpha版本,完全实现了对SSLv1.SSLv2.SSLv3和TLS的支持..目前,OpenSSL已经得到了广泛的应用,许多类型的软件中的安全部分都使用了OpenS…
openssl知识点总结 实践总结见之前博客:http://www.cnblogs.com/Jclemo/p/6091201.html 简介 openssl是一个功能丰富且自包含的开源安全工具箱.它提供的主要功能有:SSL协议实现(包括SSLv2.SSLv3和TLSv1).大量软算法(对称/非对称/摘要).大数运算.非对称算法密钥生成.ASN.1编解码库.证书请求(PKCS10)编解码.数字证书编解码.CRL编解码.OCSP协议.数字证书验证.PKCS7标准实现和PKCS12个人数字证书格式实现…
openssl实验总结 OPENSSL简介 OpenSSL项目是一个协作开发一个健壮的,商业级的,全功能的,并且开放源代码工具包,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1)协议以及全强大的通用加密库. OPENSSL由3部分组成: The SSL library(SSL.TLS开发代码库) the Crypto library(密码学相关开发代码库) command line tool(命令行工具,提供CA.证书等功能) 关于安装 一般的linux会自带openssl…
相关学习资料 http://bbs.pediy.com/showthread.php?t=92649 https://www.openssl.org https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDoQFjAD&url=http%3a%2f%2fidning-ebook%2egooglecode%2ecom%2fsvn%2ftrunk%2fopenss…
相关学习资料 http://baike.baidu.com/view/7615.htm?fr=aladdin http://www.ibm.com/developerworks/cn/security/se-pkiusing/index.html?ca=drs http://www.ibm.com/developerworks/cn/security/s-pki/ http://en.wikipedia.org/wiki/X.509 http://zh.wikipedia.org/wiki/PK…
一.生成数字签名 1. 生成JKS文件 keytool -genkey -keyalg RSA -alias jbosskey -keystore jbosskey.jks 在win7系统中,该文件的默认路径是 C:\Users\rigid 2. 导出证书 keytool -export -alias jbosskey -file jbosskey.cer -keystore jbosskey.jks 在win7系统中,该文件的默认路径是 C:\Users\rigid 3. 查看jks文件的详情…
Openssl目录名以及功能描述 目录名 功能描述 Crypto 存放OpenSSL 所有加密算法源码文件和相关标注如X.509 源码文件,是OpenSSL中最重要的目录,包含了OpenSSL 密码算法库的所有内容. SSL 存放OpenSSL 中SSL 协议各个版本和TLS 1.0 协议源码文件,包含了OpenSSL 协议库的所有内容. Apps 存放OpenSSL 中所有应用程序源码文件,如CA.X509 等应用程序的源文件就存放在这里. Doc 存放了OpenSSL 中所有的使用说明文档,…