openssl的证书申请

本文介绍了如何使用openssl生成证书请求文件,并详细解析了X509_REQ_INFO和X509_REQ的数据结构,包括版本、申请者信息、公钥等。还提供了代码示例来dump证书请求信息,并通过签名验证过程来确认结构正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用openssl查看证书请求文件相关的内容

 

1.生成密钥对

openssl genrsa -des3 -out keypair.pem 2048

 

2.生成证书请求文件

openssl req -new -days 365 -key keypair.pem -out careq.pem

 

3.dump出来证书申请的详细的字段

3.1相关的数据结构

根据 PKCS#10,openssl 的X509 数字证书申请结构定义在crypto/x509.h 中,如下

所示,主要由两部分组成:

1)X509_REQ_INFO

typedef struct X509_req_info_st

{

ASN1_ENCODING enc;

ASN1_INTEGER *version;

X509_NAME *subject;

X509_PUBKEY *pubkey;

STACK_OF(X509_ATTRIBUTE) *attributes;

} X509_REQ_INFO;

该结构为证书申请信息主体,其中version 表示版本,subject 为申请者信息,pubkey

为申请者公钥信息,attributes 为可选的属性信息。该结构的DER 编码接口在

crytpo/asn1/x_req.c 中由宏实现,实现了new、free、i2d 和d2i 函数。

 

2)X509_REQ

typedef struct X509_req_st

{

X509_REQ_INFO *req_info;

X509_ALGOR *sig_alg;

ASN1_BIT_STRING *signature;

int references;

} X509_REQ;

该结构为证书申请信息,req_info 为信息主体,sig_alg 为签名算法,signature 为签

名值(申请者对req_info 的DER 编码值用自己的私钥签名)。该结构的DER 编码接口在

crytpo/asn1/x_req.c 中由宏实现,实现了new、free、i2d 和d2i 函数。

 

3.2 dump出来的数据

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值