Поделиться через


dotnet dev-certs

Эта статья относится к: ✔️ пакету SDK для .NET Core 3.1 и более поздних версий

Имя.

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

Description

Команда dotnet dev-certs управляет самозаверяющий сертификатом, чтобы включить использование 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

    Удаляет все сертификаты разработки HTTPS из хранилища сертификатов с помощью API хранилища сертификатов .NET. Не удаляет физические файлы, созданные с помощью --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 . Например, следующая команда создаст файл с именем localhost.pem и файл с именем localhost.key в каталоге /home/user:

    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
    

См. также