私はSSLの概念にまったく慣れていません。私はゼロからピースを考え出すところまで進んでいますが、ピースをまとめるプロジェクトの研究のための時間が不足しています.
2 つの場所で別の Web サービス (2 w ssl に切り替える予定) を呼び出すカスタム アプリケーションがあります。A) .net に基づくカスタムのホストされた Web サービスから B) スタンドアロン DLL からの別のもの
上記は以前は何の意味もありませんでしたが、私が理解していることからです。
私たちはクライアントであり、サーバーに証明書を送信する必要があります。サーバーは証明書の要求を開始し、証明書の識別情報に基づいて検証されます。これには次のことが含まれます。
- ターゲット サーバーが信頼するサード パーティによって署名された署名付き証明書を取得します。
これまでのところ問題はありません。以下のすべてのケースで、64 ビットでエンコードされた .cer ファイルを使用していますか? der formatなどについても読みましたか?それは問題ですか?
ファイルからのアクセスとストアからのアクセス
X509Certificate Cert = X509Certificate.CreateFromCertFile(@"C:\Test.cer");
ファイル( )とストア(以下(2)のように)の両方から証明書にアクセスしようとしましたが、どちらが優れているかわかりません。サーバーは安全なものになります (そのため、証明書を盗むランダムな盗人の問題はありません) が、コードを展開するときはファイルからのように見えます (おそらくストアの概念が混乱している可能性があります)。
安全なサーバーを使用しているが、アプリケーションの種類が異なる場合、どの方法が望ましいでしょうか?
このメソッドは、別の Web サービスから Web サービスを呼び出すときに機能しますか (A を参照)? 非スタンドアロン/非コンソール アプリケーションがこのように動作しないという問題があるかもしれないことを読んでください。動作する場合でも、ストアのファイルからの証明書を使用しても問題ありませんか? それは将来的に何か問題を引き起こしますか、それともストアを使用することはいくつかの点でより効率的ですか?
- 証明書のインストール。
この証明書はどこにインストールすればよいですか?
これをサードパーティのルート証明機関ストアにインストールしました。この証明書は、スタンドアロン dll から抽出できました。しかし、ストアから抽出するために使用したコードは
X509Certificate2Collection CertCollection = store2.Certificates.Find(X509FindType.FindByThumbprint, "blahblahIamThumprintofC:\Test.cer", false);
あまり助けがなく、短時間での作業であるため、ストアを使用する効果を測定できず、展開時に別のサーバーにストアが存在しない可能性がありますか? 保存するのに最適なストアはここですか? すべての Windows サーバーで共通に利用できるストアですか? このストアは、(A) カスタム Web サービスのケースに十分対応できますか? 証明書はユーザーとしてではなく、マシンに保存する必要があることを読みましたか? 保存するためのWebサービスアカウントへのアクセスを提供する必要がありますか?[certmgr.msc を使用して証明書を表示]
- IIS ロール - Web サービスのホスティング サーバー
Web サービス (IIS 6 でホストされている) も他の Web サービスを呼び出すため、
これを行うには IIS を構成する必要がありますか? または、これもコードで処理する必要がありますか? PKCS # 7 形式の証明書も持っていますか? これは、私たちが持っている.net Webサービスの場合に明らかになりますか? (A)
私は多くの方法を試すことができますが、多くの情報に少し圧倒され、Google と SE 以外のヘルプはほとんどありません(ストアとファイル、ユーザーストアとマシンストア、スタンドアロン dll と .net Web サービス、64 ビットと der と pkc #7、コード)変更対 IIS)
そして、私に尋ねたら、.net Web サービスのコードを試してみましたか? いいえ - それは次のことですが、その間により明確にしようとしています。