2011-01-09 2 views
9

私はx509証明書の作成、署名などに関する記事の後に記事を流してきましたが、まだ私の問題の解決策を見つけました。誰かが正しい方向に向けることができるかどうか疑問に思っています。この点。クライアントアプリのx509 C#の例?

  1. は、公開鍵/秘密鍵ペア
  2. グラブにバイト[]のようにキーを生成し、ファイルシステムに保存するここでは、私が何をしようとしているのです。
  3. サーバーアプリの署名要求

生成x509証明書

  • を生成します:[]バイトとしてグラブに
  • 鍵を公開/非公開鍵ペアを生成し、それらを格納

    1. をファイルシステム上で。
    2. 上記第3位で自己署名証明書によって署名されているよう
    3. サインクライアント証明書に
    4. 検証クライアント証明書を自己署名X509証明書を作成します。

    私はmakecert.exeまたはopenssl.exeなどの.NETおよび外部の.exeファイルなしの中のすべてのプログラムでこれを実行する必要がある - 私は、インプロセスのライブラリを使用する必要がある、など

    私はビットを持っており、 Bouncy Castle、.Net Crypto、opensslなどのさまざまなライブラリを使って作業しましたが、私は常にドキュメンテーションの不足か、キーパッドをバイト[]にすることができないので、ロードブロッキングを起こしました。私はこれをもっと難しくしていますか、そこにはドキュメンテーションの重大な欠如があります。

    私は誰かがこれまでにこれをしていなければならないことを理解しています。私は本当に助けてくれてありがとうございます - 私はすべての提案に感謝します - ありがとう!

    ...とPKIBlackboxはオプションではありません - 。それはあまりにも多くのコスト:(

  • +0

    http://stackoverflow.com/questions/1228439/x509-guide-tutorial-in-c –

    +0

    PKIBlackboxは、私が知っている限り、.NETでPKCS#10(証明書要求)をサポートする唯一のものです。また、サポート、サンプル、ドキュメントも用意されています –

    答えて

    3

    Bouncycastle C# libraryを使用できます。ドキュメンテーションは良くありませんが、私はそれを扱うのが難しくないと思います。まず、ライブラリのjavaバージョンのJavadocsに行くことができます。 JavaとC#のバージョンは非常に似ています。第二に、比較的簡単に読むことができるので、ソースコードを見てください。

    希望するクラスはOrg.BouncyCastle.X509.X509V3CertificateGeneratorです。ネット上にいくつかのJavaのサンプルがあり、C#版を作成するためのガイドとして使用できます。 Hereは単純な単純なものの1つです。

    最後に、Bouncycastleは、Bouncycastleオブジェクトと.NETオブジェクトの間のマッピングに役立つ非常に便利なクラスOrg.BouncyCastle.Security.DotNetUtilitiesを持っています。そのような方法の対の1つはToX509Certificate()FromX509Certificate()です。また、.NET X509CertificateクラスにはImport()Export()のメソッドがあります。

    これらは一緒に問題を解決するのに十分なはずです。

    0

    私はX.509証明書の作成を行い、窓キーストアに格納しているmakecert以外にも利用できる非常に少ない良いドキュメントがあるとmakecertは、ほとんどの状況で実行可能なオプションではありません。私は、証明書の生成とWindowsキーストアへの証明書の格納をサポートするので、pluralsight APIが非常に役立つことを発見しました。

    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