MakeCert

注意

MakeCert 已被取代。 若要建立自我簽署憑證,請使用 Powershell Cmdlet New-SelfSignedCertificate

 

MakeCert 工具會建立 X.509 憑證,此憑證是由測試根目錄金鑰或其他指定的金鑰簽署,將名稱系結至金鑰組的公用部分。 憑證會儲存至檔案、系統憑證存放區或兩者。 此工具會安裝在 Microsoft Windows 軟體發展工具組的 \Bin 資料夾中, (SDK) 安裝路徑。

MakeCert 工具使用下列命令語法:

MakeCert [BasicOptionsExtendedOptions| ] OutputFile

OutputFile 是將寫入憑證的檔案名。 如果憑證未寫入檔案,您可以省略 OutputFile

選項

MakeCert 包含基本和擴充選項。 基本選項是最常用來建立憑證的選項。 擴充選項則提供更多彈性。

MakeCert 的選項也會分成三個功能群組:

  • 僅限憑證存放區技術的基本選項。
  • 僅限 SPC 檔案和私密金鑰技術的特定擴充選項。
  • 適用于 SPC 檔案、私密金鑰和憑證存放區技術的擴充選項。

下表中提供的選項只能與 Internet Explorer 4.0 或更新版本搭配使用。

基本選項 描述
-a演算法 雜湊 演算法。 必須設定為 SHA-1MD5 (預設) 。 如需 MD5 的相關資訊,請參閱 MD5
-bDateStart 憑證第一次生效的日期。 預設值是建立憑證時。 DateStart的格式為 mm/dd/yyyy。
-cyCertificateTypes 憑證類型。 CertificateTypes可以是端實體的結尾,或憑證授權單位單位的授權單位
-eDateEnd 有效期間結束的日期。 預設值為 2039 年。
-ekuOID1OID2 ... 將一或多個逗號分隔的 增強金鑰使用方式物件識別碼 清單, (OID) 插入憑證中。 例如, -eku 1.3.6.1.5.5.7.3.2 會插入用戶端驗證 OID。 如需允許 OID 的定義,請參閱 CryptoAPI 2.0 中的 Wincrypt.h 檔案。
-hNumChildren 此憑證下方樹狀結構的高度上限。
-lPolicyLink 例如,URL) 連結至 SPC 機構原則資訊 (。
-mnMonths 有效期間的持續時間。
-nName 發行者憑證的名稱。 此名稱必須符合 X.500 標準。 最簡單的方法是使用 「CN=MyName」 格式。 例如:-n 「CN=Test」。
-nscp 應該包含 Netscape 用戶端驗證延伸模組。
-pe 將私密金鑰標示為可匯出。
-r 建立自我簽署憑證。
-scSubjectCertFile 憑證檔案名,其中包含要使用的現有主體公開金鑰。
-skSubjectKey 主旨金鑰容器的位置,該容器會保存 私密金鑰。 如果金鑰容器不存在,便會建立一個。 如果未使用 -sk-sv 選項,預設會建立並使用預設金鑰容器。
-skySubjectKeySpec 主體的主要規格。 SubjectKeySpec 必須是三個可能值的其中一個:
  • 簽章 (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 必須設定為商業 (,以供 商業 軟體發行者使用) 或 個別 (用於個別軟體發行者使用的憑證) 。
-? 顯示基本選項。
-! 顯示擴充選項。

 

注意

如果在 Internet Explorer 4.0 版或更新版本中使用-sky金鑰規格選項,則規格必須符合私密金鑰檔案或私密金鑰容器所指示的金鑰規格。 如果未使用金鑰規格選項,將會使用私密金鑰檔案或私密金鑰容器所指示的金鑰規格。 如果金鑰容器中有多個金鑰規格,MakeCert 會先嘗試使用AT_SIGNATURE金鑰規格。 如果失敗,MakeCert 會嘗試使用 AT_KEYEXCHANGE。 因為大部分的使用者都有AT_SIGNATURE金鑰或AT_KEYEXCHANGE機碼,所以在大部分情況下不需要使用此選項。

 

下列選項僅適用于軟體Publisher憑證 ( SPC) 檔案和私密金鑰技術。

SPC 和私密金鑰選項 描述
-icIssuerCertFile 簽發者憑證的位置。
-ikIssuerKey 簽發者金鑰容器的位置。 預設值為測試根目錄金鑰。
-ikyIssuerKeySpec 簽發者的金鑰規格,必須是三個可能值的其中一個:
  • 簽章 (AT_SIGNATURE金鑰規格)
  • Exchange (AT_KEYEXCHANGE金鑰規格)
  • 整數,例如 3
如需詳細資訊,請參閱下表後面的附注。
-ipIssuerProviderName 簽發者的 CryptoAPI 提供者。 預設值為使用者的提供者。 如需 CryptoAPI 提供者的相關資訊,請參閱 CryptoAPI 2.0 檔。
-ivIssuerKeyFile 簽發者的私密金鑰檔案。 預設值為測試根目錄。
-iynIssuerProviderType 簽發者的 CryptoAPI 提供者類型。 預設值 為 PROV_RSA_FULL。 如需 CryptoAPI 提供者類型的相關資訊,請參閱 CryptoAPI 2.0 檔。

 

注意

如果在 Internet Explorer 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 將會失敗。