MakeCert、Cert2SPC、および Signcode は、コードに署名したり、コードのテストをするためのツールです。これらのツールは、\Program Files\IEAK\Reskit\Tools フォルダに入っています。 Microsoft Internet Client SDK には、そのほかの追加リソースがあります。
MakeCert テスト プログラムは、テスト X.509 証明を作成するために使います。MakeCert は、次のことを行います:
MakeCert の構文:
MakeCert [基本オプション| 拡張オプション] 出力ファイル
MakeCert は、基本オプションと拡張オプションを提供します。基本オプションは、証明を作成するために最もよく使われるオプションです。拡張オプションは、より柔軟性を与えます。MakeCert のオプションは、次の 3 つの機能的なグループに分けられます:
上記のグループ 2 と 3 でのオプションは、ic オプションを使うことによって両方指定できます。
次は、Internet Explorer 4.0 のオプションを使った MakeCert で書証明を作成する例です。
例 1
標準のテスト ツールによって、証明を作成します。証明をファイルに保存します。
MakeCert myNew.cer
例 2
証明を標準のテスト ルートによって公表できるようにします。証明の保存先に保存します。
MakeCert -ss myNewStore
例 3
証明を標準のテスト ルートによって公表できるようにします。.pvk ファイルを作成し、証明を保存先とファイルに出力します。
MakeCert -sv myNew.pvk -ss myNewStore myNew.cer
例 4
証明を標準のテスト ルートによって公表できるようにします。キー コンテナを作成し、証明を保存先とファイルに出力します。
MakeCert -sk myNewKey -ss myNewStore myNew.cer
例 5
証明を標準のテスト ルートによって公表できるようにします。証明を保存先に保存します。そして、新しく作成された証明を使って、別の証明を作成します。その証明を別の保存先に保存します。
MakeCert -sk myNewKey -ss myNewStore MakeCert -is myNewStore -ss anotherStore
例 6
証明を標準のテスト ルートによって公表できるようにします。証明を my という保存先に保存します。そして、新しく作成された証明を使って、別の証明を作成します。my には、2 つ以上の証明があるため、最初に作成した証明を共通の名前を使って識別します。
MakeCert -sk myNewKey -n "CN=XXZZYY" -ss my MakeCert -is my -in "XXZZYY" -ss anotherStore
例 7
証明を標準のテスト ルートによって公表できるようにします。証明を my という保存先とファイルに保存します。そして、新しく作成された myNew 証明を使って、別の証明を作成します。my には、2 つ以上の証明があるため、最初に作成した証明のファイル名を使って識別します。
MakeCert -sk myNewKey -n "CN=XXZZYY" -ss my myNew.cer MakeCert -is my -ic myNew.cer -ss anotherStore
例 8
標準のテスト ルートを使って myNewRoot という名前の自分で署名した証明を作成します。そして、ファイルに署名するために証明の SignCode を使います。
MakeCert -sk myNewRootKey -r -ss myNewRoot SignCode -s myNewRoot myControl.exe
例 9
標準のテスト ルートを使って myNewRoot という名前の自分で署名した証明を作成します。システムの証明の保存先 ca に myNewRoot を保存します。Then make a certificate from myNewRoot から証明を作成し、証明を使って、コードに署名します。
SignCode が署名するために、保存先の証明を使った場合、署名の証明からルートにまで証明を製造します。これらすべての証明は my、ca、spc、または root のいずれかである必要があります。この場合、ca 証明の保存先に、myNewRoot が保存されます。
MakeCert -sk myNewRootKey -r -ss ca myNewRoot.cer MakeCert -is ca -ic myNewRoot.cer -ss myNewSign SignCode -s myNewSign myControl.exe
証明を作成したら、Cert2SPC を使って SPC (ソフトウェア公開証明) を作成できます。このプログラムは、署名データ オブジェクト PKCS #7 に複数の X.509 を入れます。ただし、このプログラムの目的はテストのためだけにしか使用できません。有効な SPC が CA から得られます。
Cert2SPC の構文:
Cert2SPC cert1.cer cert2.cer. . .certN.cer output.spc
説明:
例:
Cert2SPC MyCert.cer MyCert.spc
これは、X.509 証明 を含めます。PKCS #7 SPC に含まれる MyCert.cer を MyCert.spc と呼びます。
最後の手順は、プログラムを使って実際にファイルに署名します。このプログラムでは、次のことをします:
SignCode の構文:
SignCode [オプション] [ファイル名]
説明:
SignCode の オプションは、次の 3 つのグループに分けられます:
同じ操作中に、上記のグループ 2 と 3 を使うことはできません。
ファイルが署名され、日付が追加された後、(有効な証明をもっていると想定しています) そのファイルをユーザーに配布することができます。MakeCert や Cert2SPC などのテスト プログラムで作成された証明は署名コードを配布できないので、注意してください。ソフトウェアのベンダーは、GTE、VeriSign、または CA などの認証機関から、配布するための署名コードを入手する必要があります。