对称加密算法

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. 带有“非简单参数”的函数为什么不能包含 "use strict" 指令

    非简单参数就是 ES6 里新加的参数语法,包括:1.默认参数值.2.剩余参数.3.参数解构.本文接下来要讲的就是 ES7 为什么禁止在使用了非简单参数的函数里使用 "use strict&q ...

  2. 一些PHP性能优化汇总

    PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini (1) ...

  3. 禁用PHP函数,可以对php.ini进行配置

    php.ini 里有个 disable_functions 开关选项,此选项可关闭一些危险的函数,比如system,exec 等.比如: disable_functions = phpinfo , 如 ...

  4. PHP文件上传至另一台服务器

    PHP程序上传文件时,想指定上传到另一台服务器. move_uploaded_file这个方法第二个参数指定的存放路径需要和php程序文件一个服务器,没办法指定其他服务器的地址,本人才疏学浅,哪位大哥 ...

  5. PHP中spl_autoload_register()函数的用法

    spl_autoload_register (PHP 5 >= 5.1.2) spl_autoload_register — 注册__autoload()函数 说明 bool spl_autol ...

  6. 商品库存“存取设计”,MySQL事务、表锁、行锁

    MySQL  使用 SELECT ... FOR UPDATE 做事务写入前的确认 以MySQL 的InnoDB 为例,预设的 Tansaction isolation level 为 REPEATA ...

  7. 设计模式--5.5 代理模式-通用代码及aop

    1.通用代码 (1)Subjects package com.design.代理模式.通用代码; public interface Subject { void request(); } (2)Rea ...

  8. alert 替代效果smoke.js

    在一些表单等需要弹窗提醒的时候,每个浏览器都有一个alert(),comfirm()函数能弹出信息,但是浏览器的自带的这种效果样式不统一,而且都固定在页面顶部: smoke.js轻量级的JS插件,他标 ...

  9. 2016年11月27日--面向对象:多态、类库、委托、is和as运算符、泛型集合

    1.虚方法 virtual 重写 override 父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了virtual关键字的方法才可以被子类重写,子类重写父类的方法 ...

  10. espcms会员二次开发文件说明——会员,时间格式

    [espcms会员图片字段] 添加字段加入图片类型/webadm/include/inc_formtypelist.php 会员修改页面模型/webadm/templates/member/membe ...