ホームページ > バックエンド開発 > C++ > .NET 4.7.2 以降を使用して C# で自己署名証明書を簡単に作成するにはどうすればよいですか?

.NET 4.7.2 以降を使用して C# で自己署名証明書を簡単に作成するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-13 09:10:44
オリジナル
245 人が閲覧しました

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

C# で自己署名証明書を作成する

C# での自己署名証明書の作成は、ローカル暗号化やその他の通信以外の目的に便利なソリューションです。通常は Crypt32.dll を使用する P/Invoke メソッドが使用されますが、この記事では System.Security.Cryptography.X509Certificates 名前空間 (.NET 4.7.2 以降で利用可能) を使用したより簡単な方法を検討します。

P/Invoke の使用を避ける

P/Invoke に依存する代わりに、CertificateRequest クラスを使用して証明書を作成できます。このアプローチによりプロセスが簡素化され、複雑なパラメーターの必要性が減り、より単純なソリューションが保証されます。

証明書を生成

自己署名証明書を作成するには、次の手順に従います:

  1. ECDsa.Create() を使用して非対称キー ペアを生成します。
  2. CertificateRequest オブジェクトを使用して、必要な共通名 (CN)、キー ペア、ハッシュ アルゴリズムを使用してリクエストを初期化します。
  3. CreateSelfSigned を呼び出して、指定された有効期間を持つ証明書を生成します。

証明書のエクスポート

証明書が生成されたら、さまざまな形式にエクスポートできます:

  • PFX (PKCS #12): 公開キーと秘密キーが含まれます。

    <code class="language-csharp">  File.WriteAllBytes("c:\temp\mycert.pfx", cert.Export(X509ContentType.Pfx, "P@55w0rd"));</code>
    ログイン後にコピー
  • CER (公開キーのみ): 秘密キーを含まない Base64 でエンコードされた証明書。

    <code class="language-csharp">  File.WriteAllText("c:\temp\mycert.cer", Convert.ToBase64String(cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks) + "\r\n-----END CERTIFICATE-----");</code>
    ログイン後にコピー

以上が.NET 4.7.2 以降を使用して C# で自己署名証明書を簡単に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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