对称加密算法

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生成证书(笔记)的更多相关文章

  1. CentOS6系统openssl生成证书和自签证书

    CentOS6系统openssl生成证书和自签证书的过程,记录一下,本文基于CentOS 6 64bit.$ yum install openssl openssl-devel 1,生成服务器端的私钥 ...

  2. 使用OpenSSL生成证书

    使用OpenSSL生成证书 下载安装openssl,进入/bin/下面,执行命令(把ssl目录下的openssl.cnf 拷贝到bin目录下)1.首先要生成服务器端的私钥(key文件):openssl ...

  3. 如何利用OpenSSL生成证书

    此文已由作者赵斌授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功 ...

  4. [转帖] ./demoCA/newcerts: No such file or directory openssl 生成证书时问题的解决.

    接上面一篇blog 发现openssl 生成server.crt 时有问题. 找了一个网站处理了一下: http://blog.sina.com.cn/s/blog_49f8dc400100tznt. ...

  5. RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密

    最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...

  6. [svc]openssl对称非对称加密实战

    OpenSSL进行aes加密解密-对称加密(symmetry) 建立文件test.txt, 特意写入中英文 # cd /tmp # echo "test测试" > test. ...

  7. 十二张图:从0开始理解对称/非对称加密、CA认证、以及K8S各组件颁发证书原由

    目录 一.对称加密 二.对称加密-不安全 三.非对称加密 四.非对称加密-不安全 五.对称加密和非对称加密结合 六.对称加密和非对称加密结合-不安全 七.Https的做法-引入CA机构 八.乘胜追击理 ...

  8. PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解

    一.公钥加密假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个文 ...

  9. 加密算法--->对称加密与非对称加密算举例说明

    目前主流的加密方式有:(对称加密)AES.DES        (非对称加密)RSA.DSA 对称加密例子:des对称加密 des对称加密,对称加密,是一种比较传统的加密方式,其加密运算.解密运算使用 ...

  10. openssl 生成证书基本原理

    摘自:http://blog.csdn.net/oldmtn/article/details/52208747 1. 基本原理 公司一个项目要进行交易数据传输,因为这个项目银行那边也是刚刚开始启动,所 ...

随机推荐

  1. 什么时候用@Resource,什么时候用@service

    Spring中什么时候用@Resource,什么时候用@service当你需要定义某个类为一个bean,则在这个类的类名前一行使用@Service("XXX"),就相当于讲这个类定 ...

  2. ACCESS应用笔记<五>——慢慢要学会做项目管理·

    综上 第一次写access学习笔记是8月19号的事情,现在已经10月31号 以下是之前的笔记目录: <一> http://www.cnblogs.com/weibaar/p/3923466 ...

  3. js创建,获取,检测cookie

  4. 学习 opencv---(1) opencv3.1.0 组件结构浅析

    本系列是根据 浅墨大神 的opencv系列而写的,,应该大部分内容会一样..如有侵权还请告知........... 开发环境:win7 + VS2013 + opencv3.1.0 至于OpenCV组 ...

  5. espcms列表页ajax无限加载

    类似百度图片的效果,滚动到底部后,点击加载更多,加载出第二页,第三页... 替代了传统的上一页,下一页,第几页,以达到在某些情况下使得用户体验更好. 二次开发方法: 1.先在模板文件中增加ajax文件 ...

  6. objccn-图片格式

    图像格式存储:位图和矢量图像.位图把值存在阵列中,矢量格式存储的是绘图图像的指令.还有混合格式PostScript能够排布字母甚至位图,使其成为了一个非常灵活的方式.衍生格式pdf. xcdoe6已经 ...

  7. 第一个JSP

    还是大一暑假学的Java,知识掌握了第一阶段的Java基础知识, 后面想自己进阶第二阶段,学习JavaWeb,一直拖到现在直接从Java第二阶段写了~~~ 希望指正: 这次主要还是第一个Hello W ...

  8. 【目录】python

    python 入门学习(一) 入门学习(二) 入门学习(三) 入门学习(四) 入门学习(五) 入门学习(六) 入门学习(七) 入门学习(八) 入门学习(九) 入门学习(十) Head First Py ...

  9. java面试题及答案(转载)

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  10. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...