openssl 生成带X509 V3 extension的证书

本文介绍了X509V3证书扩展配置格式,包括基本约束、密钥用途、主题备用名称等标准扩展。通过示例展示了如何使用OpenSSL命令行工具创建自签名CA证书、中间CA证书请求,并进行证书签发,同时添加如SAN、路径长度限制等扩展。
摘要由CSDN通过智能技术生成

x509v3_config

X509 V3 certificate extension configuration format

一些openssl的命令可以通过配置文件添加扩展到证书或者证书请求里面

配置文件的格式

【section】

extension_name=[critical,] extension_options

extension_options取决于extension_name

有四种类型的扩展

  1. string extensions, 就是一个字符串,这个串要么就是一个值,要么就是怎么获取这个值
  2. multi-valued extensions, 这种有长和短两种格式,短格式就是用逗号分割的名值列表,长格式是@section名表面值在另外一个section中
  3. raw 略
  4.  arbitrary extensions 略

短:basicConstraints=critical,CA:true,pathlen:1

长:basicConstraints=critical,@bs_section

        [bs_section]

        CA=true
        pathlen=1

标准扩展

  1. basicConstraints
  2. keyUsage
  3. extendedKeyUsage
  4. subjectKeyIdentifier
  5. authorityKeyIdentifier
  6. subjectAltName
  7. issuerAltName
  8. authorityInfoAccess
  9. crlDistributionPoints
  10. issuingDistributionPoint
  11. certificatePolicies
  12. policyConstraints
  13. inhibitAnyPolicy
  14. nameConstraints
  15. noCheck
  16. tlsfeature

生成带有SAN(subjectAltName)的证书

SAN简单来说就是一组名字集合,SAN里面的这些名字提供了验证证书的一个约束,验证证书的一方可以验证这组名字是否合法。里面可以包含email,URI,DNS,RID(a registered ID: OBJECT IDENTIFIER),IP,dirName(a distinguished name)

basicConstraints也是一个重要的扩展,basicConstraints=critical,CA:TRUE, pathlen:0,CA为TRUE表示这个证书是否是CA证书,是CA证书就可以作为CA给别人签发证书,pathlen的值表明CA下级的CA的级数,为0就不能有下级CA

自签名ca 证书和key
openssl req -newkey rsa:2048 -nodes -x509 -days 365 -subj "/CN=CN/ST=Hubei/L=Wuhan/O=Tencent/OU=QQ" -out ca.pem -keyout ca-key.pem


中间ca 证书请求和key
openssl req -newkey rsa:2048  -nodes -new -subj "/CN=CN/ST=Hubei/L=Wuhan/O=Tencent/OU=QQ.1" \
-addext "basicConstraints = critical, CA:true, pathlen:10" \
-addext "subjectAltName = IP:192.168.146.128,IP:127.0.0.1" \
-addext "extendedKeyUsage=serverAuth,clientAuth" \
-keyout mid-ca-key.pem -out mid-ca.csr

上面扩展也可以用下面两个代替
-config 配置文件路径
-reqexts section名字


用ca签发请求 生成证书
openssl x509 -req -days 365 -in mid-ca.csr -out mid-ca.pem \
  -CA ca.pem -CAkey ca-key.pem -CAcreateserial -extfile mb.conf -extensions mb

mb.conf文件内容
[mb]
basicConstraints = critical, CA:true
subjectAltName = IP:192.168.146.128,IP:127.0.0.1
extendedKeyUsage=serverAuth,clientAuth
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值