2.1 電子証明書の入手(作成方法)
CryptoAPIを使用する際には、電子証明書が必要な場合があります。本来は、しかるべき認証機関にその発行を依頼するべきですが、ここでは、MicrosoftのMakeCertコマンドを利用して証明書を発行する方法を説明します。
2.1.1 MakeCert
MakeCertは、SPC(ソフトウェア配布用証明書)を生成するためのものですが、CryptoAPIでのテスト用には十分利用することができます。
Microsoft Visual Studio にバンドルされています。証明書の作成は、PATHを準備するか、MakeCert.exeが格納されているフォルダーで実行してください。
Microsoft Visual Studio にバンドルされています。証明書の作成は、PATHを準備するか、MakeCert.exeが格納されているフォルダーで実行してください。
2.1.2 CA証明書の作成
ユーザー用の証明書(エンド・エンティティ証明書)を作成する前に、その証明書を発行する認証機関の証明書を作成します。なお、以下のコマンドで生成されるのは、ルート証明書です。
このコマンドを実行したフォルダーには、最後の引数で指定したファイル名(上記の場合は、"roo.cer")を持ったルート証明書が生成されます。このファイルは、ユーザー用証明書を作成するときに必要になります。
なお、このコマンドを実行すると、生成されたルート証明書は「信頼されたルート証明機関」に自動的にインポートされます。このルート証明書の確認方法は、「2.2 電子証明書の確認方法」を参照してください。インポートの際に、以下のダイアログが表示されます。「はい」をクリックしてインポートを継続してください。
(クリックすると大きな画像で表示します。)
> MakeCert -n "CN=Test CA name,C=jp" -ss root -r root.cer"CN=Test CA name"で認証機関の名称を指定します。CN=以降に自身の設定した名称をしています。
このコマンドを実行したフォルダーには、最後の引数で指定したファイル名(上記の場合は、"roo.cer")を持ったルート証明書が生成されます。このファイルは、ユーザー用証明書を作成するときに必要になります。
なお、このコマンドを実行すると、生成されたルート証明書は「信頼されたルート証明機関」に自動的にインポートされます。このルート証明書の確認方法は、「2.2 電子証明書の確認方法」を参照してください。インポートの際に、以下のダイアログが表示されます。「はい」をクリックしてインポートを継続してください。
(クリックすると大きな画像で表示します。)
2.1.3 ユーザー証明書の作成
ユーザー用証明書の作成には、上記で作成したルート証明書必要になります。ユーザー用証明書は、指定されたルート証明書と対を成す私有鍵(秘密鍵)で署名されます。以下のコマンドを実行してください。その際、ルート証明書は上記のコマンドで作成された証明書を指定してください。
> MakeCert -n "CN=user name,C=jp" -ss my -ic root.cer -is root user.cer"-ic" の後には、必ず上記で作成したルート証明書を指定してください。"CN="以降は、証明書を所有するユーザーの名前を指定してください。CryptoAPIで証明書を検索する場合に、ここで指定した名前を使います。また、最後の引数には、ユーザー用の証明書ファイル名を指定します。 このコマンドを実行しますと、MY証明書ストア(個人用の証明書ストア)に作成された証明祖が自動的にインポートされます。
2.1.4 ご質問・ご要望
ご質問やご要望は、こちらからお送りください。(匿名でも可能です。)
(記載の会社名および製品名は、各社の登録商標および商標です。)