Maison > développement back-end > C++ > Comment puis-je générer un certificat auto-signé à l'aide de C# ?

Comment puis-je générer un certificat auto-signé à l'aide de C# ?

DDD
Libérer: 2025-01-13 07:35:42
original
832 Les gens l'ont consulté

How Can I Generate a Self-Signed Certificate Using C#?

Guide de génération de certificats auto-signés C#

Il existe de nombreuses façons de générer un certificat auto-signé, mais une facile à implémenter en C# consiste à utiliser la classe System.Security.Cryptography.X509Certificates.CertificateRequest, disponible dans .NET Framework. 4.7.2 Disponible dans les versions ultérieures. Les certificats auto-signés peuvent être utilisés pour le chiffrement local sans qu'il soit nécessaire de sécuriser les communications.

Mise en œuvre du code :

L'exemple de code suivant montre comment générer un certificat auto-signé à l'aide de la classe ci-dessus :

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

public class CertificateUtil
{
    public static void GenerateCertificate()
    {
        // 生成非对称密钥对
        var ecdsa = ECDsa.Create();

        // 使用指定的主题和密钥创建证书请求
        var req = new CertificateRequest("cn=foobar", ecdsa, HashAlgorithmName.SHA256);

        // 生成自签名证书,设置有效期
        var cert = req.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(5));

        // 以PFX格式导出证书(包含私钥)
        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>
Copier après la connexion

Ce code génère un certificat auto-signé nommé « foobar » en utilisant l'algorithme de signature numérique à courbe elliptique (ECDSA) et l'algorithme de hachage SHA-256. Les certificats sont valables cinq ans et peuvent être exportés au format PFX (PKCS #12) (contient la clé privée) et CER (codé en Base64) (contient uniquement la clé publique).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal