Maison >développement back-end >C++ >Comment puis-je générer facilement des certificats auto-signés en C# ?
Les développeurs doivent souvent créer des certificats auto-signés à diverses fins, telles que le cryptage local sans sécuriser les communications. En C#, cette tâche peut être accomplie à l’aide de la méthode directe introduite dans .NET 4.7.2.
En utilisant la classe System.Security.Cryptography.X509Certificates.CertificateRequest
, vous pouvez facilement créer des certificats auto-signés. L'extrait de code suivant montre comment :
<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>
Ce code utilise ECDSa pour générer une paire de clés asymétriques et crée un objet CertificateRequest
. Par la suite, il appelle la méthode CreateSelfSigned
pour générer un certificat auto-signé. Les certificats peuvent être exportés vers un fichier PFX contenant la clé privée ou vers un fichier CER codé en Base64 contenant uniquement la clé publique.
Grâce à cette approche simplifiée, les développeurs peuvent éviter la complexité de P/Invoke et créer facilement des certificats auto-signés en C#.
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!