对称、非对称加密算,openssl生成证书(笔记)
对称加密算法
1.密钥只有一个,加密和解密都需要同一个密钥
2.DES,IDEA,AES
3.明文+密钥=密文, 密文+密钥=明文
4.加密速度快,系统开销小,适用大量数据的加密
非对称加密算法
1.密钥由公钥和私钥组成,必须成对存在。公钥公布出去,私钥自己保留
2.RSA,DSA(数字签名)
3.明文+接收方公钥=密文,密文+配置的私钥=明文
4.加密速度比对称加密算法慢1000倍,系统开销大,适用小量数据的加密
HASH算法
1.单向算法
2.MD5,SHA
3.仅对内容做散列,不能由散列恢复原来内容
一.RSA
生成私钥
openssl genrsa -out private.key 1024
生成公钥
openssl rsa -in private.key -pubout -out pubkey.key
二.DSA(数字签名)
生成DSA参数
openssl dsaparam -out dsa_param.pem 1024
生成私钥
openssl gendsa -out dsa_private_key.pem dsa_param.pem
生成公钥
openssl dsa -in dsa_private_key.pem -pubout -out dsa_pub_key.pem
三.X509证书
key:私钥(通常是RSA算法)
csr: 证书请求文件 (制作crt时,必须使用自己的私钥签署,签署时还可以设置证书密码)
crt: CA认证后的证书
生成key
openssl genrsa -des3 -out server_withkey.key 2048
生成不带密码key
openssl rsa -in server_withkey.key -out server.key
生成csr
openssl req -new -key server.key -out server.csr
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:GuangDong
Locality Name (eg, city) [Default City]:GuangZhou
Organization Name (eg, company) [Default Company Ltd]:Guangzhou Joylife Co., Ltd.
Organizational Unit Name (eg, section) []:Joylife
Common Name (eg, your name or your server's hostname) []:api.shopun.com
Email Address []:webmaster@shopun.com
生成crt (CA证书)
openssl req -new -x509 -key server.key -out ca.crt -days 3650
生成crt
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
证书合并
cat server.key server.crt>server.pem
x509转pfx证书
openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx
pfx转x509证书
生成pem
openssl pkcs12 -in server.pfx -nodes -out server.pem
pem中获取key
openssl rsa -in server.pem -out server.key
pem中获取crt
openssl x509 -in server.pem -out server.crt
多域名证书的制作:
方法一:
openssl x509 -req -in dev.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out dev.crt -days 365 -extfile sign.cnf
其中*.cnf文件用于指定出csr里面指定的域名之外的扩展域名,内容如下:
subjectAltName=DNS:www.domain.tld,DNS:www2.domain.tld
对称、非对称加密算,openssl生成证书(笔记)的更多相关文章
- CentOS6系统openssl生成证书和自签证书
CentOS6系统openssl生成证书和自签证书的过程,记录一下,本文基于CentOS 6 64bit.$ yum install openssl openssl-devel 1,生成服务器端的私钥 ...
- 使用OpenSSL生成证书
使用OpenSSL生成证书 下载安装openssl,进入/bin/下面,执行命令(把ssl目录下的openssl.cnf 拷贝到bin目录下)1.首先要生成服务器端的私钥(key文件):openssl ...
- 如何利用OpenSSL生成证书
此文已由作者赵斌授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功 ...
- [转帖] ./demoCA/newcerts: No such file or directory openssl 生成证书时问题的解决.
接上面一篇blog 发现openssl 生成server.crt 时有问题. 找了一个网站处理了一下: http://blog.sina.com.cn/s/blog_49f8dc400100tznt. ...
- RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密
最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...
- [svc]openssl对称非对称加密实战
OpenSSL进行aes加密解密-对称加密(symmetry) 建立文件test.txt, 特意写入中英文 # cd /tmp # echo "test测试" > test. ...
- 十二张图:从0开始理解对称/非对称加密、CA认证、以及K8S各组件颁发证书原由
目录 一.对称加密 二.对称加密-不安全 三.非对称加密 四.非对称加密-不安全 五.对称加密和非对称加密结合 六.对称加密和非对称加密结合-不安全 七.Https的做法-引入CA机构 八.乘胜追击理 ...
- PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
一.公钥加密假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个文 ...
- 加密算法--->对称加密与非对称加密算举例说明
目前主流的加密方式有:(对称加密)AES.DES (非对称加密)RSA.DSA 对称加密例子:des对称加密 des对称加密,对称加密,是一种比较传统的加密方式,其加密运算.解密运算使用 ...
- openssl 生成证书基本原理
摘自:http://blog.csdn.net/oldmtn/article/details/52208747 1. 基本原理 公司一个项目要进行交易数据传输,因为这个项目银行那边也是刚刚开始启动,所 ...
随机推荐
- 什么时候用@Resource,什么时候用@service
Spring中什么时候用@Resource,什么时候用@service当你需要定义某个类为一个bean,则在这个类的类名前一行使用@Service("XXX"),就相当于讲这个类定 ...
- ACCESS应用笔记<五>——慢慢要学会做项目管理·
综上 第一次写access学习笔记是8月19号的事情,现在已经10月31号 以下是之前的笔记目录: <一> http://www.cnblogs.com/weibaar/p/3923466 ...
- js创建,获取,检测cookie
- 学习 opencv---(1) opencv3.1.0 组件结构浅析
本系列是根据 浅墨大神 的opencv系列而写的,,应该大部分内容会一样..如有侵权还请告知........... 开发环境:win7 + VS2013 + opencv3.1.0 至于OpenCV组 ...
- espcms列表页ajax无限加载
类似百度图片的效果,滚动到底部后,点击加载更多,加载出第二页,第三页... 替代了传统的上一页,下一页,第几页,以达到在某些情况下使得用户体验更好. 二次开发方法: 1.先在模板文件中增加ajax文件 ...
- objccn-图片格式
图像格式存储:位图和矢量图像.位图把值存在阵列中,矢量格式存储的是绘图图像的指令.还有混合格式PostScript能够排布字母甚至位图,使其成为了一个非常灵活的方式.衍生格式pdf. xcdoe6已经 ...
- 第一个JSP
还是大一暑假学的Java,知识掌握了第一阶段的Java基础知识, 后面想自己进阶第二阶段,学习JavaWeb,一直拖到现在直接从Java第二阶段写了~~~ 希望指正: 这次主要还是第一个Hello W ...
- 【目录】python
python 入门学习(一) 入门学习(二) 入门学习(三) 入门学习(四) 入门学习(五) 入门学习(六) 入门学习(七) 入门学习(八) 入门学习(九) 入门学习(十) Head First Py ...
- java面试题及答案(转载)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- python之OS模块详解
python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...