証明書作成ツール (Makecert.exe)

証明書作成ツールは、テスト目的専用の X.509 証明書を生成します。このツールは、デジタル署名用の公開キーと秘密キーのペアを作成し、証明書ファイルの中に格納します。また、このキー ペアと指定された発行元の名前を関連付けて、ユーザー指定の名前とキー ペアの公開部分を結びつける X.509 証明書を作成します。

Makecert.exe には基本オプションと拡張オプションがあります。証明書の作成に最も一般的に使用されるのは基本オプションです。拡張オプションを使用すると、証明書をより柔軟に設定できます。

このツールで生成された証明書の秘密キーは、.snk ファイルに格納しないでください。秘密キーを格納する必要がある場合は、キー コンテナを使用することをお勧めします。秘密キーをキー コンテナに格納する方法の詳細については、「方法 : キー コンテナに非対称キーを格納する」を参照してください。

ヒント

証明書を安全に格納するには、証明書ストアを使用する必要があります。このツールで使用する .snk ファイルでは、秘密キーは保護されない状態で格納されます。このため .snk ファイルを作成またはインポートする場合、.snk ファイルの使用中はセキュリティに細心の注意を払い、作業が終了したらファイルを必ず削除してください。

makecert [options] outputCertificateFile
引数 説明

outputCertificateFile

テスト X.509 証明書を書き込む .cer ファイルの名前。

基本オプション

オプション 説明

-n x509name

サブジェクトの証明書名を指定します。この名前は X.500 標準に準拠する必要があります。最も簡単な方法は、名前の前に CN= を付けて二重引用符で囲んで指定する方法です。たとえば、"CN=myName" とします。

-pe

生成された秘密キーをエクスポート可能と見なします。これにより、秘密キーを証明書に組み込むことができるようになります。

-sk keyname

秘密キーを含む、サブジェクトのキー コンテナの位置を指定します。キー コンテナが存在しない場合は、このオプションで作成されます。

-sr location

サブジェクトの証明書ストアの位置を指定します。Location として currentuser (既定値) または localmachine を指定できます

-ss store

出力される証明書を格納する、サブジェクトの証明書ストア名を指定します。

-# number

1 から 2,147,483,647 までのシリアル番号を指定します。既定値は、Makecert.exe によって生成される一意の値です。

-$ authority

証明書の署名機関を指定します。commercial (商用ソフトウェアの発行元が使用する証明書の場合) または individual (個人ソフトウェアの発行元が使用する証明書の場合) を設定する必要があります。

-?

このツールのコマンド構文と基本オプションの一覧を表示します。

-!

このツールのコマンド構文と拡張オプションの一覧を表示します。

拡張オプション

オプション 説明

-a algorithm

署名アルゴリズムを指定します。md5 (既定値) または sha1 を指定する必要があります。

-b mm/dd/yyyy

有効期間の開始日を指定します。既定値は証明書の作成日です。

-cy certType

証明書の種類を指定します。有効な値は、エンド エンティティの場合には end、証明機関の場合には authority です。

-d name

サブジェクトの名前を表示します。

-e mm/dd/yyyy

有効期間の終了日を指定します。既定値は 12/31/2039 11:59:59 GMT です。

-eku oid[,oid]

コンマ区切りの、拡張キー用途オブジェクト識別子 (OID) の一覧を証明書に挿入します。

-h number

この証明書の下の、ツリーの高さの最大値を指定します。

-ic file

発行元の証明書ファイルを指定します。

-ik keyName

発行元のキー コンテナ名を指定します。

-iky keytype

発行元のキーの種類を指定します。signatureexchange、またはプロバイダ型を表す整数を指定する必要があります。既定では、exchange キーに 1、signature キーに 2 を渡すことができます。

-in name

発行元の証明書共通名を指定します。

-ip provider

発行元の CryptoAPI プロバイダ名を指定します。

-ir location

発行元の証明書ストアの位置を指定します。Location として currentuser (既定値) または localmachine を指定できます。

-is store

発行元の証明書ストア名を指定します。

-iv pvkFile

発行元の秘密キー ファイル .pvk を指定します。

-iy pvkFile

発行元の CryptoAPI プロバイダの種類を指定します。

-l link

ポリシー情報 (たとえば URL) とリンクします。

-m number

証明書の有効期間の長さを月単位で指定します。

-nscp

Netscape のクライアント承認拡張機能を組み込みます。

-r

自己署名証明書を作成します。

-sc file

サブジェクトの証明書ファイルを指定します。

-sky keytype

サブジェクトのキーの種類を指定します。signatureexchange、またはプロバイダ型を表す整数を指定する必要があります。既定では、exchange キーに 1、signature キーに 2 を渡すことができます。

-sp provider

サブジェクトの CryptoAPI プロバイダ名を指定します。

-sv pvkFile

サブジェクトの秘密キー ファイル .pvk を指定します。ファイルが存在しない場合は、このオプションで作成されます。

-sy type

サブジェクトの CryptoAPI プロバイダの種類を指定します。

既定のテスト ルートが発行するテスト証明書を作成し、testCert.cer に書き込むコマンドを次に示します。

makecert testCert.cer

既定のテスト ルートが発行する証明書を作成し、証明書ストアに保存するコマンドを次に示します。

makecert -ss testCertStore

既定のテスト ルートが発行する証明書を作成し、証明書ストアに保存するコマンドを次に示します。証明書は currentuser ストアに明示的に保存されます。

makecert -ss testCertStore -sr currentuser

サブジェクトのキー コンテナと証明書サブジェクトの X.500 名を使用して、テスト証明書を作成し、textXYZ.cer に書き込むコマンドを次に示します。

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

既定のテスト ルートが発行する証明書を作成し、.pvk ファイルを作成して、証明書をストアとファイルの両方に出力するコマンドを次に示します。

makecert -sv testCert.pvk -ss testCertStore testCert.cer

既定のテスト ルートが発行する証明書を作成し、キー コンテナを作成して、証明書をストアとファイルの両方に出力するコマンドを次に示します。

makecert -sk myTestKey -ss testCertStore testCert.cer

次のコマンドは、自己署名の証明書を作成し、"CN=XYZ Company" という件名を指定し、有効期間の開始日と終了日を指定し、my ストアにキーを配置し、exchange キーを指定し、秘密キーをエクスポート可能にします。

makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

証明書を作成し、ストアに保存するコマンドを次に示します。最初のコマンドは、既定のテスト ルートを使用して証明書を作成し、ストアに保存します。2 番目のコマンドは、新しく作成された証明書を使用して 2 つ目の証明書を作成し、別のストアに保存します。

makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

証明書を作成し、ストアに保存するコマンドを次に示します。最初のコマンドは、証明書を my ストアに保存します。2 番目のコマンドは、新しく作成された証明書を使用して別の証明書を作成します。my ストアには複数の証明書が格納されているため、2 番目のコマンドは最初のコマンドで作成された証明書の共通名を使用して、証明書を識別します。

makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

証明書を作成し、ファイルとストアに保存するコマンドを次に示します。最初のコマンドは、既定のテスト ルートを使用して証明書を作成し、my ストアとファイルに保存します。2 番目のコマンドは、新しく作成された testCert.cer 証明書を使用して別の証明書を作成します。my ストアには複数の証明書が格納されているため、2 番目のコマンドは証明書ファイル名を使用して、最初のコマンドで作成された証明書を一意に識別します。

makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore

参照

関連項目

.NET Framework ツール
ソフトウェア発行元証明書テスト ツール (Cert2spc.exe)
SDK のコマンド プロンプト