MakeCert

Note

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

 

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

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

MakeCert [BasicOptions|ExtendedOptions] OutputFile

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

オプション

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

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

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

次の表に示すオプションは、インターネット エクスプローラー 4.0 以降でのみ使用できます。

基本オプション 説明
-Aアルゴリズム ハッシュ アルゴリズム。 SHA-1 または MD5 (既定値) に設定する必要があります。 MD5 の詳細については、「 MD5」を参照してください。
-BDateStart 証明書が最初に有効になった日付。 既定値は、証明書の作成時です。 DateStart の形式は mm/dd/yyyy です。
-CyCertificateTypes 証明書の種類。 CertificateTypes は、エンド エンティティの場合は終了でき、証明機関の場合は機関にすることができます。
-EDateEnd 有効期間が終了する日付。 既定値は 2039 年です。
-EkuOID1,OID2 ... 1 つ以上のコンマ区切りの 拡張キー使用法オブジェクト識別子 (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 オプションのどちらも使用しない場合は、既定のキー コンテナーが作成され、既定で使用されます。
-空SubjectKeySpec サブジェクトのキー仕様。 SubjectKeySpec は、次の 3 つの可能な値のいずれかである必要があります。
  • 署名 (キーの指定AT_SIGNATURE)
  • Exchange (AT_KEYEXCHANGE キーの指定)
  • 3 などの整数
詳細については、次の表に従う注を参照してください。
-SpSubjectProviderName サブジェクトの CryptoAPI プロバイダー。 既定値はユーザーのプロバイダーです。 CryptoAPI プロバイダーの詳細については、CryptoAPI 2.0 のドキュメントを参照してください。
-シニアSubjectCertStoreLocation サブジェクトの証明書ストアのレジストリの場所。 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

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

 

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

SPC と秘密キーのオプション 説明
-IcIssuerCertFile 発行者の証明書の場所。
-IkIssuerKey 発行者のキー コンテナーの場所。 既定値はテスト ルート キーです。
-ikyIssuerKeySpec 発行者のキー仕様。これは、次の 3 つの可能な値のいずれかである必要があります。
  • 署名 (AT_SIGNATUREキーの指定)
  • Exchange (AT_KEYEXCHANGEキーの指定)
  • 3 などの整数
詳細については、この表に続く注を参照してください。
-IpIssuerProviderName 発行者の CryptoAPI プロバイダー。 既定値はユーザーのプロバイダーです。 CryptoAPI プロバイダーの詳細については、CryptoAPI 2.0 のドキュメントを参照してください。
-IvIssuerKeyFile 発行者の秘密キー ファイル。 既定値はテスト ルートです。
-IynIssuerProviderType 発行者の CryptoAPI プロバイダーの種類。 既定値は PROV_RSA_FULL です。 CryptoAPI プロバイダーの種類の詳細については、CryptoAPI 2.0 のドキュメントを参照してください。

 

Note

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

 

次のオプションは、 証明書ストア テクノロジ専用です。

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