Управление сертификатами разработки и доверие к ним в .NET

Команда «dotnettrust dev certs» написана на английском языке. Это команда, используемая в экосистеме.NET для управления сертификатами разработки и доверия к ним. Это позволяет разработчикам доверять самозаверяющим сертификатам, используемым в средах разработки.

Вот несколько методов, которые можно использовать с примерами кода для управления сертификатами разработки и доверия к ним в.NET:

  1. Использование.NET CLI:

    dotnet trust dev-certs --trust

    Эта команда доверяет сертификатам разработки в хранилище сертификатов текущего пользователя.

  2. Использование PowerShell:

    dotnet dev-certs https --trust

    Эта команда PowerShell доверяет сертификатам разработки для HTTPS в хранилище сертификатов текущего пользователя.

  3. Использование кода C#:

    using System;
    using System.Security.Cryptography.X509Certificates;
    using System.Diagnostics;
    class Program
    {
    static void Main()
    {
        using (var store = new X509Store(StoreName.Root, StoreLocation.CurrentUser))
        {
            store.Open(OpenFlags.ReadWrite);
            X509Certificate2 certificate = FindCertificateByThumbprint(store, "YOUR_CERT_THUMBPRINT");
            if (certificate != null)
            {
                Process.Start("dotnet", $"dev-certs https --trust --certificate \"{certificate.FriendlyName}\"");
            }
            else
            {
                Console.WriteLine("Certificate not found.");
            }
        }
    }
    static X509Certificate2 FindCertificateByThumbprint(X509Store store, string thumbprint)
    {
        foreach (var certificate in store.Certificates)
        {
            if (certificate.Thumbprint.Equals(thumbprint, StringComparison.OrdinalIgnoreCase))
            {
                return certificate;
            }
        }
        return null;
    }
    }

В этом примере кода C# мы открываем хранилище сертификатов, находим сертификат по его отпечатку, а затем запускаем новый процесс для выполнения команды «dotnet dev-certs https –trust», передавая понятное имя сертификата в качестве аргумента..