OpenSSL 生成证书
OpenSSL 生成证书
作者:Bright Xu
在当前目录创建配置文件,用于定义后面创建证书的相关配置
创建server.conf
文件,并写入一下内容:
oid_section = new_oids[ new_oids ]
# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
# Add a simple OID like this:
# testoid1=1.2.3.4
# Or use config file substitution like this:
# testoid2=${testoid1}.5.6# Policies used by the TSA examples.
tsa_policy1 = 1.2.3.4.1
tsa_policy2 = 1.2.3.4.5.6
tsa_policy3 = 1.2.3.4.5.7[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = CN
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Beijing
localityName = Locality Name (eg, city)
localityName_default = Beijing
organizationName = Organization Name (eg, company)
organizationName_default = MyTest
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
commonName_default = MyOnlyTest[ req_ext ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = 1.3.6.1.5.5.7.3.1, 1.3.6.1.5.5.7.3.2
subjectAltName = @alt_names[alt_names]
DNS.1 = test.my
DNS.2 = *.test.my
DNS.3 = localhostIP.1 = 192.168.2.186
IP.2 = 192.168.2.196
IP.3 = 127.0.0.1
IP.4 = ::1
生成server证书
# 生成证书密钥文件
openssl genrsa -aes256 -passout pass:123456 -out server_rsa_private.pem 2048# 生成server证书
openssl req -new -key server_rsa_private.pem -out server.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=MyTest/OU=MyOnlyTest Server/CN=Only Test Server" -extensions req_ext -config server.conf -passin pass:123456# 将加密的RSA密钥转成未加密的RSA密钥
openssl rsa -in server_rsa_private.pem -out server_rsa_private.pem.unsecure -passin pass:123456
生成的文件:server_rsa_private.pem
、server.csr
、server_rsa_private.pem.unsecure
。
自签CA证书
非必要,通常不需要这样做,一般仅用于测试。通常情况下是在正规的CA证书颁发机构申请的,而不是自签的。
# 生成证书密钥文件
openssl genrsa -aes256 -passout pass:123ca456 -out ca_rsa_private.pem 2048# 生成CA证书
openssl req -new -x509 -days 36500 -key ca_rsa_private.pem -out ca.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=MyTest/OU=MyOnlyTest CA/CN=Only Test" -passin pass:123ca456# 使用CA证书及密钥,对server证书进行签名
openssl x509 -req -days 36500 -in server.csr -CA ca.crt -CAkey ca_rsa_private.pem -CAcreateserial -out server.crt -extensions req_ext -extfile server.conf -passin pass:123ca456
生成的文件:ca_rsa_private.pem
,ca.crt
,server.crt
。
使用到HTTPS
部署到HTTPS服务器时,一般要用到证书签名文件server.crt
(certificate
)和私钥文件server_rsa_private.pem
(PrivateKey
)。不过每次使用server_rsa_private.pem
的时候都需要输入密码,可换为server_rsa_private.pem.unsecure
跳过输入密码的步骤。
OpenSSL 生成证书相关推荐
- Openssl生成证书流程
Openssl生成证书流程 偶然想到在内网配置https,就梳理了下利用openssl与ca生成证书的过程. 生成过程分为服务端跟客户端,这里我在一台上测试. 一.介绍 CA是Certificate ...
- openssl生成证书linux,linux中openssl生成证书和自签证书linux操作系统 -电脑资料
下面来给大家介绍关于linux中openssl生成证书和自签证书的例子,整个过程都讲述的非常详细有兴趣的朋友可进入参考, 1.首先要生成服务器端的私钥(key文件):代码如下复制代码 openssl ...
- 如何利用OpenSSL生成证书
此文已由作者赵斌授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功 ...
- Nginx使用openssl生成证书文件
方式二:使用openssl生成证书 先要确认当前系统是否有安装openssl openssl version 安装下面的命令进行生成 mkdir /root/cert cd /root/cert op ...
- openssl生成证书linux,Linux下使用openssl生成证书
利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...
- SSL数字证书(三)使用 openssl 生成证书
数字证书原理(〇)认识SSL SSL数字证书(一)CA.根证书与数字证书 SSL数字证书(二)使用makecert.exe签发证书 SSL数字证书(三)使用 openssl 生成证书 转载自<使 ...
- Linux下使用OpenSSL生成证书
Linux下使用OpenSSL生成证书 安装OpenSSL 直接用apt或者yum安装即可 生成服务器端的私钥(key文件) $ openssl genrsa -des3 -out server.ke ...
- Apache OpenSSL生成证书使用
最近在学习SSL协议,这次是基于Apache服务器自带的openssl来实现的 TLS:传输层安全协议 SSL:安全套接字层 KEY:私钥 CSR:证书签名请求,即公钥,生成证书时需要将此提交给证书机 ...
- PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解...
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...
最新文章
- python画双折线图-Python Pandas 时间序列双轴折线图
- Linux 编译内核
- Android序列化:Serializable Parcelable
- linux系统python 2.6 安装pip_详解CentOS升级Python2.6到Python2.7并安装pip
- Scala _09样例类(case classes)隐式转换
- 微服务高可用之熔断器实现原理与 Golang 实践
- 基于用户长短期表示的新闻推荐
- WebMvcConfigurerAdapter
- java支付宝提现发请求没反应_支付宝调用页面无法显示
- Mac上使用docker环境进行C++开发的实践
- 《2018区块链技术应用白皮书》完整版查看
- linux下安装mariadb
- Python的优点与缺点
- Uber的优劣势分析
- js实现图片拖拽,定点缩放,旋转 (二)
- 【期末复习】电子商务(南邮考后总结版)
- js 原型相关知识点总结
- 微信小程序openid和unionid区别
- matlab openblas,ubuntu上Caffe使用OpenBLAS多线程加速
- 怎么打开本地连接呢?
热门文章
- php将数字转换人民币显示,php如何实现人民币数字转大写
- Linux必备命令汇总
- PHOTOSHOP 500典例特制 EXE电子书[转载]
- 服务网格领域的百花齐放,是否存在一个更优解?
- 计算机专业校企合作协议,校企合作协议(计算机应用类、电子商务类、信息类等相关专业)...
- iis服务器设置为调试程序状态,Win10 VS 使用本地 IIS 服务器调试程序问题总结
- VS2010自定义背景设置
- 王春亮抓龙筋与抓凤筋操作流程
- HyperSnap老牌截图工具 简体中文绿色汉化
- android treble 三星,遗憾!Project Treble这么好,三星旗舰却不支持!