MakeCert

Note

MakeCert は非推奨となっています。 自己署名証明書を作成するには、PowerShell コマンドレット、New-SelfSignedCertificate を使用します。

 

MakeCert ツールは、テスト ルート キーまたはその他の指定されたキーによって署名された X.509 証明書を作成し、キー ペアの公開部分に名前をバインドします。 証明書は、ファイル、システム証明書ストア、またはその両方に保存されます。 このツールは、Microsoft Windows ソフトウェア開発キット (SDK) インストール パスの \Bin フォルダーにインストールされます。

Windows SDK は Windows デベロッパー センターからダウンロードできます。

MakeCert ツールでは、次のコマンド構文を使用します。

MakeCert [BasicOptions|ExtendedOptions] OutputFile

OutputFile は、証明書が書き込まれるファイルの名前です。 証明書をファイルに書き込まない場合は、OutputFile を省略できます。

[オプション]

MakeCert には、基本オプションと拡張オプションが含まれています。 基本オプションは、証明書の作成に最も一般的に使用されるオプションです。 拡張オプションでは、高い柔軟性を得ることができます。

MakeCert のオプションは、次の 3 つの機能グループにも分かれています。

  • 証明書ストア テクノロジのみに固有の基本オプション。
  • SPC ファイルと秘密キー テクノロジのみに固有の拡張オプション。
  • SPC ファイル、秘密キー、証明書ストア テクノロジに適用できる拡張オプション。

次の表に示すオプションは、Internet Explorer 4.0 以降でのみ使用できます。

Basic オプション 説明
-aアルゴリズム ハッシュ アルゴリズム。 SHA-1 または MD5 (既定値) に設定する必要があります。 MD5 の詳細については、「MD5」を参照してください。
-bDateStart 証明書が最初に有効になる日付。 既定では、証明書が作成された日です。 DateStart の形式は mm/dd/yyyy です。
-cyCertificateTypes 証明書の種類。 CertificateTypes は、エンド エンティティの場合は end証明書機関の場合は authority とすることができます。
-eDateEnd 有効期間が終了する日付。 既定値は 2039 年です。
-ekuOID1,OID2 ひとつ以上のコンマ区切りの拡張キー使用オブジェクト ID (OID) のリストを証明書に挿入します。 例えば、-eku 1.3.6.1.5.5.7.3.2 は、クライアント認証 OID を挿入します。 許可される OID の定義については、CryptoAPI 2.0 の Wincrypt.h ファイルを参照してください。
-hNumChildren この証明書の下のツリーの最大高さ。
-lPolicyLink SPC 機関ポリシーの情報 (URL など) へのリンク。
-mnMonths 有効期間の期間。
-n"Name" 発行元の証明書の名前。 この名前は X.500 標準に準拠している必要があります。 最も簡単な方法は、"CN=MyName" 形式を使用することです。 例: -n "CN=Test"
-nscp Netscape クライアント認証拡張機能を含める必要があります。
-pe 秘密キーをエクスポート可能としてマークします。
-r 自己署名証明書を作成する
-scSubjectCertFile 使用する既存のサブジェクト公開キーを含む証明書ファイル名。
-skSubjectKey 秘密キーを格納する、サブジェクトのキー コンテナーの位置。 キー コンテナーが存在しない場合は、作成されます。 -sk-sv のどちらのオプションも使用しない場合は、既定のキー コンテナーが作成され、既定で使用されます。
-skySubjectKeySpec サブジェクトのキーの指定。 SubjectKeySpec は、次の 3 つの値のいずれかである必要があります。
  • Signature (AT_SIGNATURE キーの指定)
  • Exchange (AT_KEYEXCHANGE キーの指定)
  • 3 などの整数
詳細については、この表の後に記載されている「注意」を参照してください。
-spSubjectProviderName サブジェクトの CryptoAPI プロバイダー。 デフォルトはユーザーのプロバイダーです。 CryptoAPI プロバイダーの詳細については、CryptoAPI 2.0 のドキュメントを参照してください。
-srSubjectCertStoreLocation サブジェクトの証明書ストアのレジストリの場所。 SubjectCertStoreLocation は、LocalMachine (レジストリ キー HKEY_LOCAL_MACHINE) または CurrentUser (レジストリ キー HKEY_CURRENT_USER) である必要があります。 既定値は CurrentUser です。
-ssSubjectCertStoreName 生成された証明書が格納されるサブジェクトの証明書ストアの名前。
-svSubjectKeyFile サブジェクトの .pvk ファイルの名前。 -sk-sv のどちらのオプションも使用しない場合は、既定のキー コンテナーが作成され、既定で使用されます。
-synSubjectProviderType サブジェクトの CryptoAPI プロバイダーの種類。 既定値は、PROV_RSA_FULL です。 CryptoAPI プロバイダーの種類の詳細については、CryptoAPI 2.0 のドキュメントを参照してください。
-#SerialNumber 証明書のシリアル番号。 最大値は 2^31 です。 既定値は、一意であることが保証されるツールによって生成される値です。
-$CertificateAuthority 証明書機関の種類。 CertificateAuthority は、商用 (商用ソフトウェア発行元が使用する証明書の場合) または 個人 (個人のソフトウェア発行元が使用する証明書の場合) のいずれかに設定する必要があります。
-? 基本オプションを表示します。
-! 拡張オプションを表示します。

 

Note

Internet Explorer バージョン 4.0 以降で -sky キー指定オプションを使用する場合、指定は、 秘密キーファイルまたは秘密キー コンテナーによって示されるキー指定と一致する必要があります。 キー指定オプションを使用しない場合は、秘密キー ファイルまたは秘密キー コンテナーによって示されるキー指定が使用されます。 キー コンテナーに複数のキー指定がある場合、MakeCert は最初に AT_SIGNATURE キー指定の使用を試みます。 失敗した場合、MakeCert は AT_KEYEXCHANGE の使用を試みます。 ほとんどのユーザーには AT_SIGNATURE キーまたは AT_KEYEXCHANGE キーがあるため、大抵の場合、このオプションを使用する必要はありません。

 

次のオプションは、ソフトウェア発行元証明書 (SPC) ファイルと秘密キー テクノロジに対してのみ使用できます。

SPC と秘密キーのオプション 説明
-icIssuerCertFile 発行者の証明書の場所。
-ikIssuerKey 発行者のキー コンテナーの場所。 既定値はテスト ルート キーです。
-ikyIssuerKeySpec 発行者のキー指定。次の 3 つの可能な値のいずれかである必要があります。
  • Signature (AT_SIGNATURE キーの指定)
  • Exchange (AT_KEYEXCHANGE キーの指定)
  • 3 などの整数
詳細については、この表の後に記載されている「注意」を参照してください。
-ipIssuerProviderName 発行者の CryptoAPI プロバイダー。 デフォルトはユーザーのプロバイダーです。 CryptoAPI プロバイダーの詳細については、CryptoAPI 2.0 のドキュメントを参照してください。
-ivIssuerKeyFile 発行者の秘密キー ファイル。 既定値はテスト ルートです。
-iynIssuerProviderType 発行者の CryptoAPI プロバイダーの種類。 既定値は、PROV_RSA_FULL です。 CryptoAPI プロバイダーの種類の詳細については、CryptoAPI 2.0 のドキュメントを参照してください。

 

Note

Internet Explorer 4.0 以降で -iky キー指定オプションを使用する場合、指定は、 秘密キーファイルまたは秘密キー コンテナーによって示されるキー指定と一致する必要があります。 キー指定オプションを使用しない場合は、秘密キー ファイルまたは秘密キー コンテナーによって示されるキー指定が使用されます。 キー コンテナーに複数のキー指定がある場合、MakeCert は最初に AT_SIGNATURE キー指定の使用を試みます。 失敗した場合、MakeCert は AT_KEYEXCHANGE の使用を試みます。 ほとんどのユーザーには AT_SIGNATURE キーまたは AT_KEYEXCHANGE キーがあるため、大抵の場合、このオプションを使用する必要はありません。

 

次のオプションは、証明書ストア テクノロジのみを対象としています。

証明書ストア オプション 説明
-ic IssuerCertFile 発行者の証明書が格納されたファイル。 MakeCert は、証明書ストアで完全に一致する証明書を検索します。
-in IssuerNameString 発行者の証明書の共通名。 MakeCert は証明書ストアで、共通名に IssuerNameString が含まれる証明書を検索します。
-ir IssuerCertStoreLocation 発行者の証明書ストアのレジストリの場所。 IssuerCertStoreLocation は、LocalMachine (レジストリ キー HKEY_LOCAL_MACHINE) または CurrentUser (レジストリ キー HKEY_CURRENT_USER) である必要があります。 既定値は CurrentUser です。
-is IssuerCertStoreName 発行者の証明書とそれに関連付けられている秘密キー情報を含む発行者の証明書ストア。 ストアに複数の証明書がある場合、ユーザーは -ic または -in オプションを使用して、証明書を一意に識別する必要があります。 証明書ストア内の証明書が一意に識別されない場合、MakeCert は失敗します。