如何利用OpenSSL生成证书
此文已由作者赵斌授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
一、前言
最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功能,支持HYTTPS安全加速功能,需要对证书的有效性进行验证,于是乎需要自己生成合法的、非法的、过期的证书。接下来介绍下如何通过OpenSSL生成证书。
二、使用OpenSSL生成证书
创建证书密钥文件
openssl genrsa -des3 -out ca.key 8192复制代码
运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施! 去除key文件口令的命令:
openssl genrsa -out ca.key 8192复制代码
2.创建证书请求并自签署证书 :
openssl req -new -x509 -sha256 -days 365 -key ca.key -out ca.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=Netease/OU=Netease Root CA"各选项(及参数)的意义如下:
req 使用openssl的req子命令
-new 生成新的证书请求
-x509 生成自签名证书
-days 365 自签名证书的有效期365天(1年)【仅当使用了 -x509 选项后有效】
-key ca.key 私钥文件名指定为ca.key【若为运行前就已有的私钥文件且原名不是ca.key,则改名为ca.key;否则新生成的私钥文件命名为ca.key】
-out ca.crt 指定输出所生成自签名证书的信息到文件,且文件名为ca.crt【建议不要省略】
-subj arg
其中,arg是选项 -subj 的参数,其格式类似于:/type0=value0/type1=value1/type2=... 形式。每一个 /type=value 形式的单元,都对应了一个完整的DN字段。复制代码
DN字段名 | 缩写 说明 | 填写要求 |
---|---|---|
Country Name | C 证书持有者所在国家 | 要求填写国家代码,用2个字母表示 |
State or Province Name | ST 证书持有者所在州或省份 | 填写全称,可省略不填 |
Locality Name | L 证书持有者所在城市 | 可省略不填 |
Organization Name | O 证书持有者所属组织或公司 | 可省略不填 |
Organizational Unit Name | OU 证书持有者所属部门 | 可省略不填 |
Common Name | CN 证书持有者的通用名 | 必填 |
Email Address | 证书持有者的通信邮箱 | 可省略不填 |
三、生成过期证书的简便方法
1.首先将系统的时间修改超前2年;
2.执行(二)中第2步时,设置-days为证书的有效期,例如设置为365;
3.再次将系统时间恢复即可,该证书则为已过期一年。
四、查看证书
按照(二)或(三)中的方法生成的证书,点击ca.crt,在常规中即可看到该证书都有效期是从XXX到XXX。按照(二)中的方法即生成的为合法证书;按照(三)中的方法即生成的为过期证书;非法证书的生成即随便输入,不是按照证书的格式,不是如下格式:-----BEGIN CERTIFICATE-----xxx-----END CERTIFICATE-----即可。
免费体验云安全(易盾)内容安全、验证码等服务
11.1—11.15云计算基础服务全场5折起
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 为何要在网站上设置的验证码
如何利用OpenSSL生成证书相关推荐
- openssl生成证书linux,Linux下使用openssl生成证书
利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...
- 利用openssl生成X509证书
利用openssl生成X509证书 1.生成密钥 openssl genrsa -out test.key 2048 2.生成cert证书(sha512/sha256/sha1要根据实际算法) ope ...
- Openssl生成证书流程
Openssl生成证书流程 偶然想到在内网配置https,就梳理了下利用openssl与ca生成证书的过程. 生成过程分为服务端跟客户端,这里我在一台上测试. 一.介绍 CA是Certificate ...
- SSL数字证书(三)使用 openssl 生成证书
数字证书原理(〇)认识SSL SSL数字证书(一)CA.根证书与数字证书 SSL数字证书(二)使用makecert.exe签发证书 SSL数字证书(三)使用 openssl 生成证书 转载自<使 ...
- Apache OpenSSL生成证书使用
最近在学习SSL协议,这次是基于Apache服务器自带的openssl来实现的 TLS:传输层安全协议 SSL:安全套接字层 KEY:私钥 CSR:证书签名请求,即公钥,生成证书时需要将此提交给证书机 ...
- linux生成cer证书_Linux下使用openssl生成证书
利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...
- openssl生成证书linux,linux中openssl生成证书和自签证书linux操作系统 -电脑资料
下面来给大家介绍关于linux中openssl生成证书和自签证书的例子,整个过程都讲述的非常详细有兴趣的朋友可进入参考, 1.首先要生成服务器端的私钥(key文件):代码如下复制代码 openssl ...
- Nginx使用openssl生成证书文件
方式二:使用openssl生成证书 先要确认当前系统是否有安装openssl openssl version 安装下面的命令进行生成 mkdir /root/cert cd /root/cert op ...
- Linux下使用OpenSSL生成证书
Linux下使用OpenSSL生成证书 安装OpenSSL 直接用apt或者yum安装即可 生成服务器端的私钥(key文件) $ openssl genrsa -des3 -out server.ke ...
最新文章
- SQL查询语句总是先执行SELECT?你们都错了。。。
- 如何用SPY++工具查看窗体的句柄
- Android Fragment嵌套导致的bug
- ios调用restful接口_Postman调用https异常解决
- python pygame模块按键延迟_pygame模块中键控命令不能实现方块移动,求解
- C++自定义对象如何支持Range-based循环语法
- 常见数据库url和driver
- 计算机科学导论第五版第二章答案,(计算机科学导论第2章答案.docx
- magicyang语录
- 软件项目管理三国启示录01 群雄争霸之项目经理的自我修养
- 20款免费项目管理系统推荐
- 软件定义网络基础(SDN①)
- 大佬终于把鸿蒙OS讲明白了,以后我也可以吹喽!
- 歌曲用计算机弹出来网红英语歌,最近抖音很火的英文歌
- 中国移动话费查询,短信查询,各种免费查询!以后别打10086了
- Android Q 适配指南 让你少走一堆弯路
- 初试禅道(开源版)-安装
- 网络安全工具源码分析工具Joern cpg 查询使用教程
- Datawhale 集成学习 Task06:掌握分类问题的评估及超参数调优
- WPF绘图(基础图形:直线、矩形和椭圆)