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.pemserver.csrserver_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.pemca.crtserver.crt

使用到HTTPS

部署到HTTPS服务器时,一般要用到证书签名文件server.crtcertificate)和私钥文件server_rsa_private.pemPrivateKey)。不过每次使用server_rsa_private.pem的时候都需要输入密码,可换为server_rsa_private.pem.unsecure跳过输入密码的步骤。

OpenSSL 生成证书相关推荐

  1. Openssl生成证书流程

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

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

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

  3. 如何利用OpenSSL生成证书

    此文已由作者赵斌授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功 ...

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

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

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

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

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

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

  7. Linux下使用OpenSSL生成证书

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

  8. Apache OpenSSL生成证书使用

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

  9. PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解...

    一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...

最新文章

  1. python画双折线图-Python Pandas 时间序列双轴折线图
  2. Linux 编译内核
  3. Android序列化:Serializable Parcelable
  4. linux系统python 2.6 安装pip_详解CentOS升级Python2.6到Python2.7并安装pip
  5. Scala _09样例类(case classes)隐式转换
  6. 微服务高可用之熔断器实现原理与 Golang 实践
  7. 基于用户长短期表示的新闻推荐
  8. WebMvcConfigurerAdapter
  9. java支付宝提现发请求没反应_支付宝调用页面无法显示
  10. Mac上使用docker环境进行C++开发的实践
  11. 《2018区块链技术应用白皮书》完整版查看
  12. linux下安装mariadb
  13. Python的优点与缺点
  14. Uber的优劣势分析
  15. js实现图片拖拽,定点缩放,旋转 (二)
  16. 【期末复习】电子商务(南邮考后总结版)
  17. js 原型相关知识点总结
  18. 微信小程序openid和unionid区别
  19. matlab openblas,ubuntu上Caffe使用OpenBLAS多线程加速
  20. 怎么打开本地连接呢?

热门文章

  1. php将数字转换人民币显示,php如何实现人民币数字转大写
  2. Linux必备命令汇总
  3. PHOTOSHOP 500典例特制 EXE电子书[转载]
  4. 服务网格领域的百花齐放,是否存在一个更优解?
  5. 计算机专业校企合作协议,校企合作协议(计算机应用类、电子商务类、信息类等相关专业)...
  6. iis服务器设置为调试程序状态,Win10 VS 使用本地 IIS 服务器调试程序问题总结
  7. VS2010自定义背景设置
  8. 王春亮抓龙筋与抓凤筋操作流程
  9. HyperSnap老牌截图工具 简体中文绿色汉化
  10. android treble 三星,遗憾!Project Treble这么好,三星旗舰却不支持!