网站首页 > 编程文章 正文
使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程,包括了RSA算法和DSA算法。
1. 首先建立CA密钥:
openssl genrsa -des3 -out ca.key 1024 (创建密钥)
chmod 400 ca.key (修改权限为仅root能访问)
openssl rsa -noout -text -in ca.key (查看创建的证书)
2. 利用CA密钥自签署CA证书:
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
chmod 400 ca.crt (修改权限为仅root能访问)
openssl x509 -noout -text -in ca.crt (查看创建的证书)
3. 创建服务器证书签署申请:
openssl genrsa -des3 -out client.key 1024
chmod 400 server.key (修改权限为仅root能访问)
openssl rsa -noout -text -in client.key (查看创建的证书)
4. 利用证书签署申请生成请求:
openssl req -new -key client.key -out client.csr
openssl req -noout -text -in client.csr (查看创建的请求)
5.进行证书签署:
这时候需要先设置一下openssl的配置文件。
modify /usr/share/ssl/openssl.cnf并根据这个配置文件创建相应的目录和文件。
在创建了serial文件之后,还需要添加当前的八进制的serial number,如:01
然后执行:
openssl ca -keyfile ca.key -cert ca.crt -in client.csr -out client.pem
6.证书撤销:
openssl ca -keyfile ca.key -cert ca.crt -revoke client.pem
这时数据库被更新证书被标记上撤销的标志,需要生成新的证书撤销列表:
openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl/test.crl
查看证书撤销列表:
openssl crl -noout -text -in crl/test.crl
证书撤销列表文件要在WEB站点上可以使用,必须将crldays或crlhours和crlexts加到证书中:
openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out crl/sopac-ca.crl
如果想使用DSA算法而不是RSA算法,那么:
1.先生成dsa参数
openssl dsaparam -rand -genkey -out dsa.pem 1024
查看生成的DSA参数
openssl dsaparam -noout -text -in dsa.pem
2.根据生成的DSA参数来生成DSA密钥
openssl gendsa -des3 -out ca.key dsa.pem
查看DSA密钥
openssl dsa -noout -text -in ca.key
下面的步骤同RSA部分
前面生成私钥时都使用了des3来加密,其实也可以指定-des用des加密,当然强度就没有des3高了。虽然man里面说还可以通过指定-idea用idea算法来加密,可是事实上由于米国专利的问题,默认是不支持的。
猜你喜欢
- 2024-10-19 基于openssl 实现https服务(基于openssl+实现https服务体系)
- 2024-10-19 Centos openssl 升级方法(centos6.9升级openssh)
- 2024-10-19 OpenSSL神器大揭秘:加密、签名、验证一步搞定!
- 2024-10-19 Openssh8.0升级(openssh8.6p1 升级)
- 2024-10-19 windows使用openssl生成公钥和私钥
- 2024-10-19 Linux服务器运维必备技能 软件包和启动项超详细整理
- 2024-10-19 「应用安全」支持github算法限制,升级git客户端为TSL1.2协议
- 2024-10-19 CentOS 7 升级 openssl(centos7.6升级openssh)
- 2024-10-19 CentOS7下rpm包方式升级openssl到安全版本1.1.1n
- 2024-10-19 源码升级openssl3.2和openssh9.5(openssh软件源)
你 发表评论:
欢迎- 05-142014年最流行前端开发框架对比评测
- 05-14七爪源码:如何使用 Next.js 构建 Shopify 店面
- 05-14Web 前端怎样入门?
- 05-14我为什么不建议你使用框架
- 05-14推荐几个好用的React UI 框架
- 05-14PDFsharp:强大的 .NET 跨平台 PDF 处理库
- 05-14一组开源免费的Web动画图标,荐给需要的设计师和程序员
- 05-14salesforce 零基础学习(二十九)Record Types简单介绍
- 最近发表
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)