signature=45daf61b5b0148091099c19a080e3802,CSR文件和P10文件

  • Post author:
  • Post category:其他


CSR文件和P10文件

1. CSR:证书签发请求(Certificate Signing

Request),或者叫做认证申请,是一个发送到CA的请求认证信息。有两种格式,应用最广泛的是由PKCS#10定义的,另一个用的少的是由SPKAC定义的,主要应用于网景浏览器。

2. 在PKCS#10定义中,CSR有两种编码格式:二进制(ASN.1或DERàDistinguished Encoding

Rules)和文本格式(the text or PEM (Privacy Enhanced Mail) formatted CSR

is the binary CSR after it has been Base-64 encoded to create a

text version of the CSR.)

Base64编码/解码

即:二进制(ASN.1或DER)

3. CSR文件包含的信息描述如下:

CertificationRequest ::= SEQUENCE {

certificationRequestInfoCertificationRequestInfo,

signatureAlgorithm AlgorithmIdentifier{

{ SignatureAlgorithms }},

signature BIT STRING

}

包含两个部分:证书请求信息部分、签名部分(算法和签名)。

证书请求信息:version、Distinguished Name、public

key、Attributes(属性集),另外还可能有可选的字段,如postal address和Email

address,这两个字段可以应用于证书的撤销。

签名:签名算法和数字签名(private key签名)

注意:私钥不包含在CSR文件中,但是应用于数字签名。

4. 请求信息定义如下:

CertificationRequestInfo::= SEQUENCE {

version INTEGER { v1(0) } (v1,…),

subject Name,

subjectPKInfo SubjectPublicKeyInfo{

{ PKInfoAlgorithms }},

attributes [0] Attributes{

{ CRIAttributes }}

}

5. CSR文件生成步骤如下:

1) 根据Version、Distinguished Name、Public Key、Attributes生成请求证书;

2) 用Private

Key加密证书请求信息;

3) 根据请求信息、签名算法和签名生成CSR文件;

6. CSR文件包括的属性有:

Status

Check

Information</