ホームページ > バックエンド開発 > C++ > C# で自己署名証明書を簡単に生成するにはどうすればよいですか?

C# で自己署名証明書を簡単に生成するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-13 07:13:42
オリジナル
573 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート