証明書を作成するときのオプション (OID など)

以前に証明書を作成するというエントリーを書きましたが、
今回は Makecert.exe のオプションである -eku および -cy について書きます。
いずれも、証明書の用途を明示して制限するために使います。

 

-eku: オブジェクト識別子 (OID)

-eku でオブジェクト識別子 (OID) を指定します。カンマ区切りで複数指定できます。
OID は OID Repository というページで確認できます。
例えば、1.3.6.1.5.5.7.3.3 は、コード署名に利用することを表します。

-eku を指定しない場合:

makecert-eku-no

「-eku 1.3.6.1.5.5.7.3.3」を指定した場合:

makecert-eku

 

-cy: 証明機関かどうか

証明機関の場合は authority を、エンド エンティティ (ソフトウェア発行元など) の場合には end を指定します。
「-cy authority」が指定された証明書でコード署名をしてアプリケーションを発行しても、署名は無効になるようです。

「-cy end」を指定した場合 ([基本制限] という項目が追加されます):

makecert-cy-end

 

というわけで、以前作成した方法に -eku と -cy を追加して、次のようなコマンドで証明書を作成できます。

■ 単一の証明書 (階層を作らない) の場合

makecert -n "CN=Abc Apps,O=Abc Company,C=JP" -a sha256 -b 01/01/2000 -e 01/01/2100 -eku 1.3.6.1.5.5.7.3.3 -cy end -r -sv abc-apps.pvk abc-apps.cer
pvk2pfx -pvk abc-apps.pvk -spc abc-apps.cer -pfx abc-apps.pfx -f -pi P$ssword1

■ 証明機関の下に証明書を作成する (階層を作る) 場合

makecert -n "CN=Abc Root,O=Abc Company,C=JP" -a sha256 -b 01/01/2000 -e 01/01/2100 -eku 1.3.6.1.5.5.7.3.3 -cy authority -r -sv abc-root.pvk abc-root.cer

makecert -n "CN=Abc Test,O=Abc Company,C=JP" -a sha256 -b 01/01/2000 -e 01/01/2100 -eku 1.3.6.1.5.5.7.3.3 -cy end -iv abc-root.pvk -ic abc-root.cer -sv abc-test.pvk abc-test.cer
pvk2pfx -pvk abc-test.pvk -spc abc-test.cer -pfx abc-test.pfx -f -pi P$ssword2

 

参照
Makecert.exe (証明書作成ツール)
OID Repository
Microsoft Windows SDKによるテスト用の自己認証局

カテゴリー: ツール. タグ: , . 1 Comment »

コメント / トラックバック1件 to “証明書を作成するときのオプション (OID など)”

  1. 証明書を作成する | Do Design Space Says:

    […] 次回: アプリケーションを ClickOnce で発行する 次々回: 既存の証明書を使って ClickOnce で発行する 次々々回: 証明書を作成するときのオプション (OID など) […]


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。