OpenSSL生成CA证书

这篇具有很好参考价值的文章主要介绍了OpenSSL生成CA证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基本概念

证书类别

  • 根证书:生成服务端证书,客户端证书的基础。自签名。
  • 服务端证书:由根证书签发。配置在服务器上。
  • 客户端证书:由根证书签发。配置在浏览器、移动APP等客户端上。

认证方式

  • 单向认证(Client鉴权Server)
    1、Client发送连接请求
    2、Server端将Server证书发送给Client
    3、Client使用CA根证书对Server证书进行鉴权
    OpenSSL生成CA证书,ssl

  • 双向认证
    1、单向鉴权(Client鉴权Server)
    2、单向鉴权(Server鉴权Client)
    OpenSSL生成CA证书,ssl

证书文件

  • .key:私有的密钥
  • .csr:证书签名请求(证书请求文件),含有公钥信息,certificate signing request的缩写
  • .crt:证书文件,certificate的缩写
  • .crl:证书吊销列表,Certificate Revocation List的缩写
  • .pem:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式
  • .p12 或者 .pfx:用于实现存储许多加密对象在一个单独的文件中。通常用它来打包一个私钥及有关的 X.509 证书,或者打包信任链的全部项目

证书生成

Windows上可使用Git自带的OpenSSL生成,打开Git Bash
Linux本身自带OpenSSL

根证书

1、 生成CA私钥
openssl genrsa -out ca.key 2048
2、生成证书请求文件
openssl req -new -key ca.key -out ca.csr
需要输入证书信息,参考如下:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:GD
Locality Name (eg, city) []:GZ
Organization Name (eg, company) [Internet Widgits Pty Ltd]:HW
Organizational Unit Name (eg, section) []:DEV
Common Name (e.g. server FQDN or YOUR name) []:ROOT
Email Address []:xxx@sina.com
3、生成自签名CA根证书(有效期365天)
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

服务端证书

1、生成私钥,需要设定密码
openssl genrsa -des3 -out server.key ***
2、生成证书请求文件,需要输入上一步的密码
openssl req -new -key server.key -out server.csr
需要输入证书信息,最重要的一行是Common Name (e.g. server FQDN or YOUR name),您需要输入与服务器关联的域名,或者是您服务器的公共IP地址,参考如下:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:GD
Locality Name (eg, city) []:GZ
Organization Name (eg, company) [Internet Widgits Pty Ltd]:HW
Organizational Unit Name (eg, section) []:DEV
Common Name (e.g. server FQDN or YOUR name) []:10.10.8.8
Email Address []:xxx@sina.com
3、生成服务端证书
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
这一步可能会提示错误:
OpenSSL生成CA证书,ssl

解决办法,使用如下命令创建文件:
mkdir -p demoCA/newcerts
touch demoCA/index.txt
touch demoCA/serial
echo “01” > demoCA/serial

客户端证书

1、生成私钥,需要设定密码
openssl genrsa -des3 -out client.key 1024
2、生成证书请求文件,需要输入上一步的密码
openssl req -new -key client.key -out client.csr
注意输入的信息不要和服务端证书的一样,否则会报 ERROR:There is already a certificate for XXX 问题,比如我这里的Common Name不一样:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:GD
Locality Name (eg, city) []:GZ
Organization Name (eg, company) [Internet Widgits Pty Ltd]:HW
Organizational Unit Name (eg, section) []:DEV
Common Name (e.g. server FQDN or YOUR name) []:MY
Email Address []:xxx@sina.com
3、生成客户端证书
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key

证书导出

有时需要用到pem或pfx格式的证书,可以用以下方式生成

生成pem格式证书

cat client.crt client.key > client.pem
cat server.crt server.key > server.pem

生成pfx(p12)格式证书

openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12文章来源地址https://www.toymoban.com/news/detail-740994.html

到了这里,关于OpenSSL生成CA证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源CA搭建-基于openssl实现数字证书的生成与分发

    目录 一、前言 二、openssl介绍 三、openssl的常用用法 (一)单向加密 (二)生成随机数 (三)生成公钥,私钥 1.生成私钥 2.提取公钥 四、搭建CA (一)创建根CA私钥: (二)生成自签名证书 (三)创建数据库以及新颁发证书数字 (四)设置证书的起始编号 (五)创建文件

    2024年02月06日
    浏览(43)
  • openssl自签名CA根证书、服务端和客户端证书生成并模拟单向/双向证书验证

    1.1 生成CA证书私钥 openssl genrsa -aes256 -out ca.key 2048 1.2 取消密钥的密码保护 openssl rsa -in ca.key -out ca.key 1.3 生成根证书签发申请文件(csr文件) openssl req -new -sha256 -key ca.key -out ca.csr -subj \\\"/C=CN/ST=FJ/L=XM/O=NONE/OU=NONE/CN=localhost/emailAddress=test@test.com\\\" 上述参数含义 req----执行证书签发命令

    2024年04月25日
    浏览(41)
  • 在Linux上使用openssl生成CA认证文件并为服务器和客户端颁发CA签名证书

    本文基于Linux上CentOS 7版本配合openssl与mod_ssl(需要使用yum下载)进行配置演示 目录 一.生成认证主要流程 1.虚拟出一个CA认证机构,为其生成公私钥以及自签证书 2.生成服务器方私钥,发送包含服务器方公私钥的申请文件给CA机构请求签发证书 3.生成客户端方私钥,发送包含服务

    2024年02月16日
    浏览(50)
  • 【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅰ—— 生成 CSR

    默认情况下,VMCA 与 Machine SSL的关系是 本系列博文要实现的拓扑是 因为使用企业 CA 直接签名 Machine SSL 证书替换 vSphere 证书步骤较多且繁琐,为了内容关联性和可读性,关于这个自签名证书系列的博文,博主分为4篇,这是第一篇,剩余4篇会陆续发布。 本篇博文主要描述了如

    2024年02月03日
    浏览(42)
  • openssl生成证书和nginx配置ssl证书

    一般情况下,使用ssl证书需要三个操作步骤:1.生成密钥对;2.生成证书请求文件;3.生成证书文件。从单纯的开发者角度来说,可以使用开源的openssl生成密钥和证书,且通过openssl的req命令,可以一个命令完成上述3个操作。 req命令主要的功能:生成证书请求文件、验证证书请

    2024年02月07日
    浏览(43)
  • Openssl生成证书-nginx使用ssl

    方式一: 1、生成服务器私钥。 2、根据服务器私钥文件生成证书请求文件,这个文件中会包含申请人的一些信息,所以执行下面这行命令过程中需要用户在命令行输入一些用户信息,随便填写,一路回车即可。 3、生成CA机构的私钥,命令和生成服务器私钥一样,只不过这是

    2024年02月05日
    浏览(52)
  • 通过openSSL生成自签名的SSL证书

    自签名证书:就是 指的根证书,就是颁发者:和颁发给: 是相同的。证书的签名是用证书里的公钥对应的私钥进行的签名。这样的证书除非是受信任的颁布机构颁发f,一般是不被第三方信任。一般用于内部使用及测试使用。 下面介绍生成证书的方法: 1. 生成私 钥 要创建

    2023年04月17日
    浏览(43)
  • openssl生成nginx ssl证书的简单方法

    [root@172-17-218-79 ~]# mkdir cert [root@172-17-218-79 ~]# cd cert/ [root@172-17-218-79 cert]# openssl genrsa -out server.key 1024 Generating RSA private key, 1024 bit long modulus (2 primes) ......+++++ .........................................+++++ e is 65537 (0x010001) [root@172-17-218-79 cert]# openssl req -new -key server.key -out server.csr You are abo

    2024年02月04日
    浏览(49)
  • Windows.OpenSSL生成ssl证书配置到nginx

    生成一个随机数 根证书是用于证书签发的,证书的签发机构都有自己的根证书。他们的根证书一般已经打包到浏览器的受信任的根证书目录里了,我们自己签发的需要手工安装到这个目录。 OpenSSL使用PEM(Privacy Enbanced Mail)格式来保存私钥,生成私钥的命令如下: 这一步会提

    2024年01月24日
    浏览(43)
  • SSL/TLS 介绍以及如何利用openssl生成证书

    SSL:Secure Socket Layer 安全套接字层。 TLS:Transport layer Security 传输层安全性,是一种加密协议。 到2020年,SSL以及TLS1.0,TLS1.1已被弃用 Authentication:通信双方可以确认双方的身份,不被黑客拦截信息伪造身份。 Confidentiality:通信的内容经过加密,更加安全,不被授权的用户无法识别

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包