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-1 或 MD5 (預設值)。 如需 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 | 有效期間的持續時間。 |
-n“Name” | 發行者憑證的名稱。 此名稱必須符合 X.500 標準。 最簡單的方法是使用 「CN=MyName」 格式。 例如:-n “CN=Test”。 |
-nscp | 應該包含 Netscape 用戶端驗證延伸模組。 |
-體育 | 將私鑰標示為可匯出。 |
-r | 建立自我簽署憑證 |
-scSubjectCertFile | 憑證檔名,其中包含要使用的現有主體公鑰。 |
-skSubjectKey | 保留私鑰之主體金鑰容器的位置。 如果金鑰容器不存在,便會建立一個。 如果未使用 -sk 或 -sv 選項,預設會建立並使用預設密鑰容器。 |
-skySubjectKeySpec | 主體的金鑰規格。 SubjectKeySpec 必須是三個可能值的其中一個:
|
-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 | 簽發者的密鑰規格,必須是三個可能值的其中一個:
|
-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 將會失敗。 |