Heim > Backend-Entwicklung > C++ > Wie kann ich einfach selbstsignierte Zertifikate in C# generieren?

Wie kann ich einfach selbstsignierte Zertifikate in C# generieren?

Patricia Arquette
Freigeben: 2025-01-13 07:13:42
Original
574 Leute haben es durchsucht

How Can I Easily Generate Self-Signed Certificates in C#?

Generieren Sie ganz einfach selbstsignierte Zertifikate in C#

Entwickler müssen häufig selbstsignierte Zertifikate für verschiedene Zwecke erstellen, beispielsweise für die lokale Verschlüsselung, ohne die Kommunikation zu sichern. In C# kann diese Aufgabe mit der in .NET 4.7.2 eingeführten direkten Methode ausgeführt werden.

Mit der Klasse System.Security.Cryptography.X509Certificates.CertificateRequest können Sie ganz einfach selbstsignierte Zertifikate erstellen. Der folgende Codeausschnitt zeigt, wie:

<code class="language-csharp">using System;
using System.IO;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

public class CertificateUtil
{
    static void MakeCert()
    {
        var ecdsa = ECDsa.Create(); // 生成非对称密钥对
        var req = new CertificateRequest("cn=foobar", ecdsa, HashAlgorithmName.SHA256);
        var cert = req.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(5));

        // 创建包含私钥的PFX (PKCS #12) 文件
        File.WriteAllBytes("c:\temp\mycert.pfx", cert.Export(X509ContentType.Pfx, "P@55w0rd"));

        // 创建Base64编码的CER (仅包含公钥) 文件
        File.WriteAllText("c:\temp\mycert.cer",
            "-----BEGIN CERTIFICATE-----\r\n"
            + Convert.ToBase64String(cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks)
            + "\r\n-----END CERTIFICATE-----");
    }
}</code>
Nach dem Login kopieren

Dieser Code verwendet ECDSa, um ein asymmetrisches Schlüsselpaar zu generieren und ein CertificateRequest-Objekt zu erstellen. Anschließend wird die Methode CreateSelfSigned aufgerufen, um ein selbstsigniertes Zertifikat zu generieren. Zertifikate können in eine PFX-Datei exportiert werden, die den privaten Schlüssel enthält, oder in eine Base64-codierte CER-Datei, die nur den öffentlichen Schlüssel enthält.

Mit diesem vereinfachten Ansatz können Entwickler die Komplexität von P/Invoke vermeiden und bequem selbstsignierte Zertifikate in C# erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich einfach selbstsignierte Zertifikate in C# generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage