>백엔드 개발 >C++ >C#에서 자체 서명된 인증서를 어떻게 쉽게 생성할 수 있나요?

C#에서 자체 서명된 인증서를 어떻게 쉽게 생성할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2025-01-13 07:13:42564검색

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

C#에서 자체 서명 인증서를 쉽게 생성

개발자는 통신을 보호하지 않고 로컬 암호화 등 다양한 목적을 위해 자체 서명된 인증서를 생성해야 하는 경우가 많습니다. C#에서는 .NET 4.7.2에 도입된 직접 메서드를 사용하여 이 작업을 수행할 수 있습니다.

System.Security.Cryptography.X509Certificates.CertificateRequest 클래스를 사용하면 자체 서명된 인증서를 쉽게 만들 수 있습니다. 다음 코드 조각은 방법을 보여줍니다.

<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>

이 코드는 ECDSa를 사용하여 비대칭 키 쌍을 생성하고 CertificateRequest 객체를 생성합니다. 그런 다음 CreateSelfSigned 메서드를 호출하여 자체 서명된 인증서를 생성합니다. 인증서는 개인 키가 포함된 PFX 파일 또는 공개 키만 포함된 Base64 인코딩 CER 파일로 내보낼 수 있습니다.

이 단순화된 접근 방식을 통해 개발자는 P/Invoke의 복잡성을 피하고 C#에서 자체 서명된 인증서를 편리하게 생성할 수 있습니다.

위 내용은 C#에서 자체 서명된 인증서를 어떻게 쉽게 생성할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.