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.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