application/x-pkcs10

CSR (PKI)

[4] CSR (証明書署名要求 (certificate signing request) ) は、証明書subject となる者が発行者に対して、 subjectDN公開鍵などの情報を提供し、証明書発行を依頼するものです。

[6] CSR証明書の発行時にのみ利用するものですから、実際の署名や通信などの際には用いません。 発行後は不要になりますし、そもそも CSR のような特定の書式を用いることも PKI としては必須ではありません。しかし多くの CA では証明書発行時に本項で説明する CSR の提出を求めているようです。

仕様書

構文

[5] RFC 2986ASN.1 構文が規定されています。

拡張

[19] 証明書拡張CSR でも使われることがあります。

[20] 属性として 1.2.840.113549.1.9.14 が指定され、 その値の SET の値として SEQUENCE OF SEQUENCE { OBJECT IDENTIFIER; OCTET STRING } が指定される形となります。

[21] critical/non-critical の別は記述できないのでしょうか。

MIME 型

[12] DER または BER符号化したものの MIME型application/pkcs10 です >>10拡張子.p10 です >>10

[15] 古い実装は application/x-pkcs10 を使っていました >>14

PEM ファイル

[7] CSR は通常は Base64 符号化する .pem 形式で保管・送受信されるようです。

[16] .pem ファイルでは、ラベルとして CERTIFICATE REQUEST を使わなければなりません >>17NEW CERTIFICATE REQUEST も広く使われているので、そちらにも対応して構いません >>17

[18] データは、 ASN.1 CertificateRequest です。 BER でなければなりませんDER非常に好ましいです (strongly preferred) >>17

[8] .pem ファイルでは

-----BEGIN CERTIFICATE REQUEST-----
...
-----END CERTIFICATE REQUEST-----
... と
-----BEGIN NEW CERTIFICATE REQUEST-----
...
-----END NEW CERTIFICATE REQUEST-----
... の2種類のヘッダー・フッターが使われているようです。

歴史

[9] RSA Laboratories - PKCS #10: Certification Request Syntax Standard ( 版) <http://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs10-certification-request-syntax-standard.htm>

This standard describes syntax for a request for certification of a public key, a name, and possibly a set of attributes.

[11] RFC 2314 - PKCS #10: Certification Request Syntax Version 1.5 ( 版) <https://tools.ietf.org/html/rfc2314>

メモ

[1] Certificate signing request - Wikipedia, the free encyclopedia ( 版) <http://en.wikipedia.org/wiki/Certificate_signing_request>

[2] CSRについて - UPKI電子証明書発行サービス (NetCommons 著, 版) <https://certs.nii.ac.jp/faq/Q4/>