Heim > Backend-Entwicklung > C++ > Wie kann ich mit .NET 4.7.2 und höher einfach selbstsignierte Zertifikate in C# erstellen?

Wie kann ich mit .NET 4.7.2 und höher einfach selbstsignierte Zertifikate in C# erstellen?

Barbara Streisand
Freigeben: 2025-01-13 09:10:44
Original
245 Leute haben es durchsucht

How Can I Easily Create Self-Signed Certificates in C# Using .NET 4.7.2 and Above?

Erstellen Sie ein selbstsigniertes Zertifikat in C#

Das Erstellen eines selbstsignierten Zertifikats in C# ist eine praktische Lösung für die lokale Verschlüsselung und andere Nicht-Kommunikationszwecke. Während normalerweise die P/Invoke-Methode mit Crypt32.dll verwendet wird, untersucht dieser Beitrag eine einfachere Methode unter Verwendung des System.Security.Cryptography.X509Certificates-Namespace (verfügbar in .NET 4.7.2 und höher).

Vermeiden Sie die Verwendung von P/Invoke

Wir können die CertificateRequest-Klasse verwenden, um Zertifikate zu erstellen, anstatt uns auf P/Invoke zu verlassen. Dieser Ansatz vereinfacht den Prozess, reduziert den Bedarf an komplexen Parametern und sorgt für eine einfachere Lösung.

Zertifikat erstellen

Um ein selbstsigniertes Zertifikat zu erstellen, befolgen Sie diese Schritte:

  1. Verwenden Sie ECDsa.Create(), um ein asymmetrisches Schlüsselpaar zu generieren.
  2. Verwenden Sie das CertificateRequest-Objekt, um die Anforderung mit dem erforderlichen allgemeinen Namen (CN), Schlüsselpaar und Hash-Algorithmus zu initialisieren.
  3. Rufen Sie CreateSelfSigned auf, um ein Zertifikat mit einer angegebenen Gültigkeitsdauer zu generieren.

Exportzertifikat

Sobald das Zertifikat generiert ist, kann es in verschiedene Formate exportiert werden:

  • PFX (PKCS #12): Enthält öffentliche und private Schlüssel.

    <code class="language-csharp">  File.WriteAllBytes("c:\temp\mycert.pfx", cert.Export(X509ContentType.Pfx, "P@55w0rd"));</code>
    Nach dem Login kopieren
  • CER (nur öffentlicher Schlüssel): Base64-codiertes Zertifikat, das den privaten Schlüssel nicht enthält.

    <code class="language-csharp">  File.WriteAllText("c:\temp\mycert.cer", Convert.ToBase64String(cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks) + "\r\n-----END CERTIFICATE-----");</code>
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mit .NET 4.7.2 und höher einfach selbstsignierte Zertifikate in C# erstellen?. 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