Skip to content

MS_PKCS

nishi_74322014 edited this page Aug 4, 2026 · 1 revision

PKCS

概要

  • PKCS : Public Key Cryptography Standards
  • 公開鍵暗号技術を標準化するための規格セット
    • RSA Security 社によって策定。
    • PKI で利用する証明書や秘密鍵などのフォーマットを定めた標準

詳細

証明書関係をピックアップ

PKCS #7

spc形式の電子証明書*.spc*.p7b ファイル)

  • 名称:Cryptographic Message Syntax(暗号メッセージ構文標準)/バージョン 1.5
  • RFC 2315
  • 暗号データやデジタル署名のフォーマット
  • 証明書CRLの配布、S/MIMEにも利用
  • X.509形式の証明書が複数パッケージされた形式
  • 中間証明書を含めて配布ができるのが大きな特徴

PKCS #10

csr形式の電子証明書*.csr ファイル)

  • 名称:Certification Request Syntax(証明書署名要求)/バージョン 1.7
  • RFC 2986
  • 公開鍵の認証を要求するために認証局へ送信されるメッセージのフォーマット。

移行メモ(誤記): 原文は PKCS #10 の名称を 「Personal Information Exchange Syntax」としていたが、 それは PKCS #12 の名称。 PKCS #10 は Certification Request Syntax(証明書要求構文)。

PKCS #12

pfx形式の電子証明書*.pfx*.p12 ファイル)

  • 名称:Personal Information Exchange Syntax(個人情報交換構文の標準)/バージョン 1.1
  • RFC 7292
  • 証明書ファイルのフォーマット定義。
    • 証明書ストアのパスワード保護された秘密鍵
    • 関連する公開鍵
  • Java の鍵ストアのフォーマットとして利用できる。
  • Tomcat では利用できるが Apache では利用できない。

秘密鍵を含む形式なので、受け渡しには特に注意する。
Windows で証明書をエクスポートするとき「秘密鍵を含める」を選ぶと PFX になる。

その他

規格 内容 RFC
PKCS #1 RSA暗号標準。RSA暗号鍵(公開鍵および秘密鍵)のフォーマットの規定 RFC 8017
PKCS #3 Diffie-Hellman鍵共有標準
PKCS #5 パスワードに基づく暗号化の標準(PBKDF2) RFC 8018
PKCS #8 秘密鍵情報構文の標準。Apache で証明書の秘密鍵をロードするために使用 RFC 5958
PKCS #9 選択された属性タイプ(#6、#7、#8、#10 で利用) RFC 2985
PKCS #11 暗号トークンインタフェース (Cryptoki)。HSM 等への汎用 API
PKCS #15 暗号トークン情報フォーマットの標準

廃案 / 破棄

  • PKCS #2、PKCS #4 … いずれも PKCS #1 に統合された。
  • PKCS #6 … 拡張された証明書構文の標準。X.509v3 証明書により破棄。

策定中

  • PKCS #13(楕円曲線暗号の標準)… 98年の提案から進展なし。
  • PKCS #14(擬似乱数)

補足: 実務でよく出るファイル拡張子との対応。

拡張子 中身 秘密鍵
.cer / .crt / .der X.509 証明書単体(DER または PEM) 含まない
.p7b / .spc PKCS #7。証明書チェーン 含まない
.csr PKCS #10。証明書署名要求 含まない
.pfx / .p12 PKCS #12。証明書+秘密鍵 含む
.key PKCS #8 等の秘密鍵 含む

参考


Tags: セキュリティ, 暗号化, 証明書

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally