如何利用OpenSSL生成证书

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

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

一、前言

最近为了测试内容分发网络(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折起

更多网易技术、产品、运营经验分享请点击

相关文章:
【推荐】 从加班论客户端开发中的建模
【推荐】 Message Loop 原理及应用
【推荐】 实现自己的前端模板轻量级框架

原文地址:https://www.cnblogs.com/zyfd/p/9924654.html

时间: 2024-11-07 20:02:55

如何利用OpenSSL生成证书的相关文章

OpenSSL - 利用OpenSSL生成证书

Step 1. Create key  这个命令会生成一个1024/2048位的密钥,包含私钥和公钥. openssl genrsa -out prvtkey.pem 1024/2038                     (with out password protected) openssl genrsa -des3 -out prvtkey.pem 1024/2048    (password protected) Step 2. Create certification reque

Widows下利用OpenSSL生成证书

1.下载OpenSSL的windows版本 32位:openssl-1.0.2a-i386-win32.zip 64位:openssl-1.0.2a-x64_86-win64.zip 下载之后解压即可使用,不过软件缺少配置文件 2.建立配置文件 在解压后的目录, 即openssl.exe所在目录新建配置文件,名为openssl-1.0.2a.cnf,内容如下 # For use with easy-rsa version 2.0 and OpenSSL 1.0.0* # This definit

【本地服务器】利用openssl生成证书

(一)下载openssl软件,解压,进入bin目录 下载地址 (二)1.在当前bin目录,按住shift键右击,选择"在此处打开命令窗口" 2.打开cmd命令窗口之后,在窗口中输入 openssl 命令,进入openssl 区 (三)生成RSA私钥(无加密) openssl下: genrsa -des3 -out server.key 1024 (五)创建证书请求 openssl下: req -new -key server.key -out server.csr ()生成CA证书 o

利用Openssl生成证书

一.整体步骤 openssl genrsa -des3 -outserver.key 1024//生成key openssl req -new -keyserver.key -out server.csr -config openssl.cnf//生成csr文件 openssl req -new -x509 -keyoutca.key -out ca.crt -config openssl.cnf//自生成CA openssl ca -in server.csr -outserver.crt -

Linux下使用openssl生成证书

利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: 一.服务器端1.生成服务器端的私钥(key文件); openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加密key文件(参数des3是加密算法,也可以选用其他安全的算法),以后每当需读取此文件(通过openssl提供的命令或API)都

使用 openssl 生成证书

转自:http://www.cnblogs.com/littleatp/p/5878763.html 使用 openssl 生成证书 一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备的工具套件,用以支持SSL/TLS 协议的实现.官网:https://www.openssl.org/source/ 构成部分 密码算法库 密钥和证书封装管理功能 SSL通信API接口 用途 建立 RSA.DH.DSA key 参数 建立 X.509 证书

Apache OpenSSL生成证书使用

最近在学习SSL协议,这次是基于Apache服务器自带的openssl来实现的 TLS:传输层安全协议 SSL:安全套接字层 KEY:私钥 CSR:证书签名请求,即公钥,生成证书时需要将此提交给证书机构,生成 X509 数字证书前,一般先由用户提交证书申请文件,然后由 CA 来签发证书 CRT:即证书,一般服务器证书server.crt和客户端证书client.crt都需要通过CA证书ca.crt进行签名 1.进行CA签名获取证书时,需要注意国家.省.单位需要与CA证书相同,否则会报:     

Openssl生成证书流程

Openssl生成证书流程偶然想到在内网配置https,就梳理了下利用openssl与ca生成证书的过程.生成过程分为服务端跟客户端,这里我在一台上测试.一.介绍CA是Certificate Authority的缩写,也就是认证中心.CA的功能有:颁发证书,更新证书,撤销证书和验证证书,相当于公安局的户籍部门.CA证书的作用是作身份认证.数字证书认证过程:×××办理过程: 带上户口本->当地派出所->签发证书->你去领证书 ×××办理过程: 带上户口本(证明你合法)->当地派出所(

Golang(十一)TLS 相关知识(二)OpenSSL 生成证书

0. 前言 接前一篇文章,上篇文章我们介绍了数字签名.数字证书等基本概念和原理 本篇我们尝试自己生成证书 参考文献:TLS完全指南(二):OpenSSL操作指南 1. OpenSSL 简介 OpenSSL 是一个开源项目,其组成主要包括三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls OpenSSL 主要用于秘钥证书管理.对称加密和非对称加密 1.1 指令 常用指令包括:genrsa.req.x509 1.1.1