10

x509 証明書の作成、署名などに関する記事を次々と読み込んでいますが、問題の解決策をまだ見つけていません。 . これが私がやろうとしていることです:

クライアント アプリの場合:

  1. 公開鍵と秘密鍵のペアを生成する
  2. キーを byte[] として取得し、ファイル システムに保存します。
  3. x509 証明書を生成する
  4. 署名リクエストを生成する

サーバー アプリの場合:

  1. 公開鍵と秘密鍵のペアを生成する
  2. キーを byte[] として取得し、ファイル システムに保存します。
  3. 自己署名 X509 証明書を作成する
  4. クライアント証明書に署名する
  5. 上記の #3 で、クライアント証明書が自己署名証明書によって署名されていることを検証します。

これをすべて.Netでプログラムで実行する必要があり、makecert.exeやopenssl.exeなどの外部.exeを使用せずに、インプロセスライブラリなどを使用する必要があります.

私は、Bouncy Castle、.Net Crypto、openssl などのさまざまなライブラリを使用して少しずつ解決しました。それらを永続化するなど。私がこれを実際よりもはるかに難しくしているのか、そこにドキュメントが大幅に不足しているのか、あるいはその両方です。

私は誰かが以前にこれをしなければならなかったと思います.私は本当に助けていただければ幸いです.

..そしてPKIBlackboxはオプションではありません-コストがかかりすぎます:(

4

2 に答える 2

3

Bouncycastle C# ライブラリを使用できます。ドキュメンテーションはよくありませんが、作業するのはそれほど難しくないと思います。最初に、ライブラリの Java バージョンのJavadocsにアクセスできます。Java と C# のバージョンは非常に似ています。次に、比較的読みやすいソース コードを見てください。

ご希望のクラスはOrg.BouncyCastle.X509.X509V3CertificateGenerator. C# バージョンを作成するためのガイドとして使用できる Java の例がネット上にいくつかあります。これは単純でわかりやすいものです。

最後に、Bouncycastle には、Org.BouncyCastle.Security.DotNetUtilitiesBouncycastle オブジェクトと .NET オブジェクトの間のマッピングに役立つ非常に便利なクラスがあります。そのようなメソッドのペアの 1 つがToX509Certificate()FromX509Certificate()です。また、.NET X509Certificate クラスにはImport()およびExport()メソッドがあることに注意してください。

これらを合わせれば、問題を解決するのに十分なはずです。

于 2011-01-09T14:11:28.547 に答える
0

X.509証明書の作成とWindowsキーストアへの保存を行いました。makecertを除いて、利用できる優れたドキュメントはほとんどなく、makecertはほとんどの状況で実行可能なオプションではありません。複数サイトAPIは、証明書の生成とWindowsキーストアへの証明書の保存をサポートしているため、非常に便利であることがわかりました。(もちろん)実質的にドキュメントはありませんが、それを検索すると、その使用方法を示すブログがいくつか見つかります。ここにいくつかのリンクがあります。

http://www.pluralsight-training.net/community/blogs/keith/archive/2009/01/22/create-self-signed-x-509-certificates-in-a-flash-with-self-cert。 aspx

http://mikehadlow.blogspot.com/2010/02/creating-x509-certificates-with.html

于 2011-01-09T04:42:39.310 に答える