此文已由作者赵斌授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。

一、前言

最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功能,支持HYTTPS安全加速功能,需要对证书的有效性进行验证,于是乎需要自己生成合法的、非法的、过期的证书。接下来介绍下如何通过OpenSSL生成证书。

二、使用OpenSSL生成证书

  1. 创建证书密钥文件

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生成证书相关推荐

  1. openssl生成证书linux,Linux下使用openssl生成证书

    利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...

  2. 利用openssl生成X509证书

    利用openssl生成X509证书 1.生成密钥 openssl genrsa -out test.key 2048 2.生成cert证书(sha512/sha256/sha1要根据实际算法) ope ...

  3. Openssl生成证书流程

    Openssl生成证书流程 偶然想到在内网配置https,就梳理了下利用openssl与ca生成证书的过程. 生成过程分为服务端跟客户端,这里我在一台上测试. 一.介绍 CA是Certificate ...

  4. SSL数字证书(三)使用 openssl 生成证书

    数字证书原理(〇)认识SSL SSL数字证书(一)CA.根证书与数字证书 SSL数字证书(二)使用makecert.exe签发证书 SSL数字证书(三)使用 openssl 生成证书 转载自<使 ...

  5. Apache OpenSSL生成证书使用

    最近在学习SSL协议,这次是基于Apache服务器自带的openssl来实现的 TLS:传输层安全协议 SSL:安全套接字层 KEY:私钥 CSR:证书签名请求,即公钥,生成证书时需要将此提交给证书机 ...

  6. linux生成cer证书_Linux下使用openssl生成证书

    利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...

  7. openssl生成证书linux,linux中openssl生成证书和自签证书linux操作系统 -电脑资料

    下面来给大家介绍关于linux中openssl生成证书和自签证书的例子,整个过程都讲述的非常详细有兴趣的朋友可进入参考, 1.首先要生成服务器端的私钥(key文件):代码如下复制代码 openssl ...

  8. Nginx使用openssl生成证书文件

    方式二:使用openssl生成证书 先要确认当前系统是否有安装openssl openssl version 安装下面的命令进行生成 mkdir /root/cert cd /root/cert op ...

  9. Linux下使用OpenSSL生成证书

    Linux下使用OpenSSL生成证书 安装OpenSSL 直接用apt或者yum安装即可 生成服务器端的私钥(key文件) $ openssl genrsa -des3 -out server.ke ...

最新文章

  1. SQL查询语句总是先执行SELECT?你们都错了。。。
  2. 如何用SPY++工具查看窗体的句柄
  3. Android Fragment嵌套导致的bug
  4. ios调用restful接口_Postman调用https异常解决
  5. python pygame模块按键延迟_pygame模块中键控命令不能实现方块移动,求解
  6. C++自定义对象如何支持Range-based循环语法
  7. 常见数据库url和driver
  8. 计算机科学导论第五版第二章答案,(计算机科学导论第2章答案.docx
  9. magicyang语录
  10. 软件项目管理三国启示录01 群雄争霸之项目经理的自我修养
  11. 20款免费项目管理系统推荐
  12. 软件定义网络基础(SDN①)
  13. 大佬终于把鸿蒙OS讲明白了,以后我也可以吹喽!
  14. 歌曲用计算机弹出来网红英语歌,最近抖音很火的英文歌
  15. 中国移动话费查询,短信查询,各种免费查询!以后别打10086了
  16. Android Q 适配指南 让你少走一堆弯路
  17. 初试禅道(开源版)-安装
  18. 网络安全工具源码分析工具Joern cpg 查询使用教程
  19. Datawhale 集成学习 Task06:掌握分类问题的评估及超参数调优
  20. WPF绘图(基础图形:直线、矩形和椭圆)

热门文章

  1. Dubbo 源码分析 - 服务导出
  2. 每个前端开发者必会的二十个JavaScript面试题
  3. chrome 插件 vimium 介绍
  4. Octave中无法使用rgb2gray()函数
  5. matlab连接字符串
  6. 如何高效的阅读Hadoop源代码?Hadoop的源代码写的怎么样?
  7. 信息系统项目管理师-人力资源管理知识点
  8. mysql学习【第14篇】:pymysql
  9. SQL的事务回滚操作带案例分析
  10. JS获取用户控件中的子控件Id