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 只有一個命令: httpsdotnet dev-certs https沒有選項的命令會檢查電腦上目前使用者的憑證存放區中是否有開發憑證。 如果命令找到開發憑證,則會顯示類似下列範例的訊息:

    A valid HTTPS certificate is already present.
    

    如果命令找不到開發憑證,它會在目前使用者的憑證存放區中建立一個,該存放區會在位置 CurrentUser 中命名。 My 憑證的實體位置是 .NET 執行時間的實作詳細資料,可以隨時變更。 在 .NET 7.0 中的 macOS 上,憑證會儲存在使用者金鑰鏈結中,並以 PFX 檔案的形式儲存: ~/.aspnetcore-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 選項建立的任何實體檔案。 在 .NET 7.0 中的 macOS 上, 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 時,指定匯出的憑證檔案格式。 有效值為 PFXPEM ,不區分大小寫。 PFX 是預設值。

    檔案格式與副檔名無關。 例如,如果您指定 --format pfx--export-path ./cert.pem ,則會以 PFX 格式取得名為cert.pem 的檔案。

    如需搭配 、 --no-password 或 不使用其中一個選項時 --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的 檔案。 例如,下列命令會產生名為localhost.pem的檔案,並在/home/user目錄中產生名為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
    

另請參閱