共用方式為


MakeCert

注意

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

 

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

您可以從 Windows 開發人員中心 下載 Windows SDK

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

MakeCert [BasicOptions|ExtendedOptions] OutputFile

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

選項。

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

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

  • 僅限證書存儲技術的基本選項。
  • 僅限 SPC 檔案和私鑰技術專屬的擴充選項。
  • 適用於 SPC 檔案、私鑰和證書存儲技術的擴充選項。

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

基本選項 描述
-a演算法 哈希 演算法。 必須設定為 SHA-1MD5 (預設值)。 如需 MD5 的相關信息,請參閱 MD5
-bDateStart 憑證第一次生效的日期。 預設值為建立憑證時。 DateStart 的格式為mm/dd/yyyy。
-cyCertificateTypes 憑證類型。 CertificateTypes 可以是 end-entity 的結尾,或證書頒發機構單位的授權單位
-eDateEnd 有效期間結束的日期。 預設值為 2039 年。
-ekuOID1,OID2 ... 將一或多個逗號分隔的增強密鑰使用物件識別符清單插入憑證中。 例如, -eku 1.3.6.1.5.5.7.3.2 會插入客戶端驗證 OID。 如需允許 OID 的定義,請參閱 CryptoAPI 2.0 中的 Wincrypt.h 檔案。
-hNumChildren 此憑證下方樹狀結構的最大高度。
-lPolicyLink 連結至 SPC 代理程式原則資訊(例如 URL)。
-mnMonths 有效期間的持續時間。
-nName 發行者憑證的名稱。 此名稱必須符合 X.500 標準。 最簡單的方法是使用 「CN=MyName」 格式。 例如:-n “CN=Test”。
-nscp 應該包含 Netscape 用戶端驗證延伸模組。
-體育 將私鑰標示為可匯出。
-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密鑰,因此在大部分情況下不需要使用此選項。

 

下列選項僅適用於 軟體發行者憑證 (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密鑰,因此在大部分情況下不需要使用此選項。

 

下列選項 僅適用於證書存儲 技術。

證書存儲選項 描述
-ic IssuerCertFile 包含簽發者憑證的檔案。 MakeCert 會在證書存儲中搜尋完全相符的憑證。
-in IssuerNameString 簽發者憑證的一般名稱。 MakeCert 會在證書存儲中搜尋其一般名稱包含 IssuerNameString的憑證。
-ir IssuerCertStoreLocation 簽發者證書存儲的登錄位置。 IssuerCertStoreLocation 必須是 LocalMachine (登錄機碼HKEY_LOCAL_MACHINE)或 CurrentUser (登錄機碼HKEY_CURRENT_USER)。 CurrentUser 是預設值。
-is IssuerCertStoreName 簽發者的證書存儲,其中包含簽發者的憑證及其相關聯的私鑰資訊。 如果存放區中有多個憑證,用戶必須使用 -ic 或 -in 選項來唯一識別它。 如果證書存儲中的憑證未唯一識別,MakeCert 將會失敗。