3

Web アプリケーションにログインするユーザーを、LDAP を使用して Active Directory に対して検証する必要があるクライアントがいます。DirectoryEntry および DirectorySearcher .NET クラスを使用して接続しようとすると、彼の AD サーバーに接続できますが、アクセスできません。

クライアントの AD サーバーには、彼が私に公開鍵ファイルを提供した SSL 証明書がありますが、私の C# コードでこの公開鍵ファイルを使用する方法がわかりません。

コードを介して接続コマンドを発行すると、Wireshark を介して、アプリケーションが接続要求を送信していることがわかります。次に、サーバーが「Server Hello、Certificate、Certificate Request、Server Hello Done」で応答していることがわかります。その後、私のアプリケーションは応答しません。

コードを持っていない他の誰かによって書かれた別のアプリケーションを使用すると、サーバーから同じ要求が表示され、アプリケーションが「証明書、クライアントキー交換」で応答し、アプリケーションが接続して実行されます。

そうは言っても、私の質問は、クライアントから取得したキー ファイルを C# アプリケーションにロードして送信させるにはどうすればよいでしょうか?

4

2 に答える 2

1

キーファイルは、ユーザーのマシン/ユーザーアカウントにインストールする必要があります。

デジタル証明書のインストール方法を理解するには、以下を参照してください...

手順3を参照してください...

http://msdn.microsoft.com/en-us/library/ff649247.aspx

ステップ3.クライアント証明書を要求してインストールする

この手順では、クライアント側の証明書をインストールします。次のセクションで説明するように、任意の認証局からの証明書を使用することも、Microsoft証明書サービスを使用して独自の証明書を生成することもできます。

この手順は、管理者が証明書を明示的に発行する必要がある保留中の要求に対してMicrosoft証明書サービスが構成されていることを前提としています。また、証明書の要求に応じて証明書を自動的に発行するように構成することもできます。

証明書要求のステータス設定を確認するには

Microsoft証明書サービスコンピューターで、[管理ツール]プログラムグループから[証明機関]を選択します。[証明機関(ローカル)]を展開し、証明機関を右クリックして[プロパティ]をクリックします。[ポリシーモジュール]タブをクリックし、[構成]をクリックします。デフォルトのアクションを確認してください。次の手順は、証明書要求ステータスを保留に設定することを前提としています。管理者は、選択された証明書を明示的に発行する必要があります。

クライアント側の証明書を要求するには

Internet Explorerを起動し、http:// hostname / certsrvに移動します。ここで、hostnameは、Microsoft証明書サービスがインストールされているコンピューターの名前です。[証明書のリクエスト]をクリックし、[次へ]をクリックします。[リクエストタイプの選択]ページで、[ユーザー証明書]をクリックし、[次へ]をクリックします。[送信]をクリックしてリクエストを完了します。InternetExplorerを閉じます。クライアント側の証明書を発行するには

管理ツールプログラムグループから、証明機関ツールを起動します。認証局を展開し、[保留中の要求]フォルダーを選択します。送信した証明書要求を選択し、[アクション]メニューの[すべてのタスク]をポイントして、[発行]をクリックします。証明書がIssuedCertificatesフォルダーに表示されていることを確認し、それをダブルクリックして表示します。[詳細]タブで、[ファイルにコピー]をクリックして、証明書をBase-64でエンコードされたX.509証明書として保存します。証明書のプロパティウィンドウを閉じます。証明機関ツールを閉じます。クライアント側の証明書をインストールするには

証明書を表示するには、Windowsエクスプローラーを起動し、前の手順で保存した.cerファイルに移動して、それをダブルクリックします。[証明書のインストール]をクリックし、証明書のインポートウィザードの最初のページで[次へ]をクリックします。[証明書の種類に基づいて証明書ストアを自動的に選択する]を選択し、[次へ]をクリックします。[完了]をクリックしてウィザードを完了します。確認メッセージボックスを閉じ、[OK]をクリックして証明書を閉じます。手順4.クライアント証明書の動作を確認する

この手順では、クライアント証明書を使用してSecureAppアプリケーションにアクセスできることを確認します。

クライアント証明書の動作を確認するには

Internet Explorerを起動し、http s://localhost/secureapp/webform1.aspxに移動します。Webページが正常に表示されることを確認します。

于 2012-10-10T21:34:42.477 に答える
0

PKCS#12 証明書をエクスポートまたはインポートするにはどうすればよいですか?

PKCS#12 ファイルは、Microsoft IIS を含む多くのアプリケーションでインポートおよびエクスポートできます。多くの場合、ファイル拡張子 .pfx に関連付けられています。

PKCS#12 証明書を作成するには、秘密鍵と証明書が必要です。変換プロセス中に、証明書に「エクスポート パスワード」(必要に応じて空にすることもできます) を入力する機会が与えられます。

キーと自己署名証明書を含むファイルを作成する

openssl req \ -x509 -nodes -days 365 \ -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

mycert.pem を PKCS#12 ファイル、mycert.pfx としてエクスポートします。

openssl pkcs12 -export \ -out mycert.pfx -in mycert.pem \ -name "My Certificate" 誰かが PKCS#12 とそれに必要なパスワードを送ってきた場合、それを標準の PEM 形式にエクスポートできます。

証明書とパスフレーズのないキーをエクスポートする

openssl pkcs12 -in mycert.pfx -out mycert.pem -nodes

上記と同じですが、パスフレーズの入力を求められます

秘密鍵

openssl pkcs12 -in mycert.pfx -out mycert.pem

于 2012-10-11T11:55:28.687 に答える