dotnet dev-certs
本文適用於: ✔️ .NET Core 3.1 SDK 與更新版本
名稱
dotnet dev-certs
- 產生自我簽署憑證,以在開發中使用 HTTPS。
概要
dotnet dev-certs https
[-c|--check] [--clean] [-ep|--export-path <PATH>]
[--format] [-i|--import] [-np|--no-password]
[-p|--password] [-q|--quiet] [-t|--trust]
[-v|--verbose] [--version]
dotnet dev-certs https -h|--help
描述
dotnet dev-certs
命令會管理自我簽署憑證,以在本機 Web 應用程式開發中使用 HTTPS。 其主要功能包括:
- 產生憑證,以在開發期間用於 HTTPS 端點。
- 在本機電腦信任產生的憑證。
- 從本機電腦移除產生的憑證。
- 以各種格式匯出憑證,以供其他工具使用。
- 將工具產生的現有憑證匯入本機電腦。
命令
https
dotnet dev-certs
只有一個命令:https
。 沒有選項的dotnet dev-certs https
命令會檢查電腦上目前使用者的憑證存放區中是否有開發憑證。 如果命令找到開發憑證,則會顯示類似下列範例的訊息:A valid HTTPS certificate is already present.
如果命令找不到開發憑證,則會在目前使用者的憑證存放區中建立一個。該存放區名為
My
,位於CurrentUser
。 憑證的實體位置是 .NET 執行階段的實作詳細資料,可以隨時變更。 在 macOS 上的 .NET 7.0 中,憑證會儲存在使用者金鑰鏈中,並以 PFX 檔案的形式儲存:~/.aspnet/https-aspnetcore-localhost-<Thumbprint[0..5]>.pfx。建立憑證之後,命令會顯示類似下列範例的訊息:
The HTTPS developer certificate was generated successfully.
根據預設,新建立的憑證不受信任。 若要信任憑證,請使用
--trust
選項。若要建立可用於其他工具的檔案,請使用
--export-path
選項。
選項。
-c|--check
檢查開發憑證是否存在,但不會執行任何動作。 使用此選項搭配
--trust
選項,以檢查憑證是否不只有效,還受信任。--clean
使用 .NET 憑證存放區 API,從憑證存放區移除所有 HTTPS 開發憑證。 不會移除使用
--export-path
選項建立的任何實體檔案。 在 macOS 上的 .NET 7.0 中,dotnet dev-certs
命令會在磁碟上的路徑建立憑證,而清除作業會移除該憑證檔案。如果憑證存放區中至少有一個憑證,命令會顯示類似下列範例的訊息:
Cleaning HTTPS development certificates from the machine. A prompt might get displayed to confirm the removal of some of the certificates. HTTPS development certificates successfully removed from the machine.
-ep|--export-path <PATH>
將憑證匯出至檔案,以供其他工具使用。 指定匯出之憑證檔案的完整路徑,包括檔案名稱。 包含的目錄必須已經存在,而且應該限制其存取權。 建立的憑證檔案類型,取決於用在
--export-path
的選項:選項。 匯出的內容 --export-path
以 PFX 檔案匯出憑證的公開部分。 --export-path --format PEM
以 PEM 格式匯出憑證的公開部分。 不會建立個別的 .key 檔案。 --export-path --password
以 PFX 檔案匯出憑證的公開和私密部分。 --export-path --password --format PEM
以 PEM 格式的一組檔案,匯出憑證的公開和私密部分。 金鑰檔案的副檔名會是 .key,並受到指定密碼的保護。 --export-path --no-password --format PEM
以 PEM 格式的一組檔案,匯出憑證的公開和私密部分。 金鑰檔案的副檔名會是 .key,並以純文字匯出。 --no-password
僅供內部測試使用。--format
搭配
--export-path
使用時,指定匯出的憑證檔案格式。 有效值為PFX
和PEM
,不區分大小寫。PFX
是預設值。檔案格式與副檔名無關。 例如,如果您指定
--format pfx
和--export-path ./cert.pem
,則會取得名為 cert.pem、格式為PFX
的檔案。如需相關資訊,以了解搭配
--password
、--no-password
使用此選項,或不使用其中一個選項時的效果,請參閱本文稍早的 --export-path。-i|--import <PATH>
將提供的 HTTPS 開發憑證匯入本機電腦。 您也必須指定
--clean
選項,以清除任何現有的 HTTPS 開發人員憑證。PATH
會指定 PFX 憑證檔案的路徑。 請使用--password
選項提供密碼。-np|--no-password
將憑證匯出為 PEM 格式檔案時,不會使用金鑰的密碼。 金鑰檔案會以純文字匯出。 此選項不適用於 PFX 檔案,僅供內部測試使用。
-p|--password
指定要使用的密碼:
- 將開發憑證匯出為 PFX 或 PEM 檔案時。
- 匯入 PFX 檔案時。
使用
--format PEM
匯出時,憑證的公開和私密部分會匯出為 PEM 格式的一組檔案。 金鑰檔案的副檔名會是 .key,並受到指定密碼的保護。 除了為--export-path
選項指定的檔案名稱之外,命令還會在相同目錄中建立另一個名稱相同、但副檔名為 .key 的檔案。 例如,下列命令會在 /home/user 目錄中,產生一個名為 localhost.pem 的檔案,和一個名為 localhost.key 的檔案:dotnet dev-certs https --format pem -ep /home/user/localhost.pem -p $CREDENTIAL_PLACEHOLDER$
在範例中,
$CREDENTIAL_PLACEHOLDER$
代表密碼。-q|--quiet
僅顯示警告和錯誤。
-t|--trust
在本機電腦上信任憑證。
如果未指定此選項,憑證雖然會新增至憑證存放區,但不會新增至信任的清單。
與
--check
選項結合時,會驗證憑證是否受信任。-v|--verbose
顯示偵錯資訊。
範例
檢查開發憑證是否存在;如果沒有,則在預設憑證存放區中建立一個。 但不會信任憑證。
dotnet dev-certs https
移除本機電腦上已經存在的任何開發憑證。
dotnet dev-certs https --clean
匯入 PFX 檔案。
dotnet dev-certs https --clean --import ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$
在上述範例中,
$CREDENTIAL_PLACEHOLDER$
代表密碼。檢查本機電腦上是否有信任的開發憑證。
dotnet dev-certs https --check --trust
建立並信任憑證,然後匯出至 PFX 檔案。
dotnet dev-certs https -ep ./certificate.pfx -p $CREDENTIAL_PLACEHOLDER$ --trust
建立並信任憑證,然後匯出至 PEM 檔案。
dotnet dev-certs https -ep ./certificate.crt --trust --format PEM
建立並信任憑證,然後匯出至 PEM 檔案,包括私密金鑰:
dotnet dev-certs https -ep ./certificate.crt -p $CREDENTIAL_PLACEHOLDER$ --trust --format PEM