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
Описание
Команда dotnet dev-certs
управляет самозаверяющий сертификатом, чтобы включить использование HTTPS при разработке локальных веб-приложений. Его main функции:
- Создание сертификата для использования с конечными точками 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.0dotnet 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
См. также раздел
- Создание самозаверяющих сертификатов с помощью интерфейса командной строки .NET
- Принудительное применение HTTPS в ASP.NET Core
- Устранение неполадок с сертификатами, таких как сертификат не является доверенным
- Размещение ASP.NET Core образов с помощью Docker по протоколу HTTPS
- Размещение ASP.NET Core образов с помощью Docker Compose по протоколу HTTPS