1

認証に X.509 証明書を使用する Web アプリケーションから XMLRPC サイトに接続する必要があります。ここで私の開発マシン (Vista) では、ユーザーの下にキーがインストールされており、それは個人証明書ストレージにあります。コードを実行すると、うまく機能します(ファイルからキーをロードします):

 X509Certificate clientcert = new X509Certificate(this.certFile, this.password);
 request.ClientCertificates.Add(clientcert);

しかし、このアプリケーションを Windows 2008 Web サーバーにインストールする必要があり、この証明書ファイルを使用する方法を見つけることができませんでした。

対応するすべての「親」キーをインポートする必要があると思ったので、インポートしました。それらすべてを信頼されたルート証明書ストアにインポートしようとしましたが、うまくいきませんでした。

偽装されたアカウントを使用し、すべての証明書を取得する必要がありますか? IIS7 は、このユーザー/証明書ストアと連携するように構成する必要がありますか?

4

2 に答える 2

0

IIS がアクセスできる証明書ストアは、マシン ストアとそのサービス ストアの 2 つだと思います。mmc.exe で証明書スナップインを開き、ローカル コンピューターのストアに接続します。Personal\Certificates で、サーバー証明書を見つける必要があります。証明書と秘密鍵を横に置いてみてください。または、サービスのストア (World Wide Web Publishing Service) に接続し、そこにある証明書を [個人] に配置します。

于 2009-08-17T06:29:33.423 に答える
0

唯一の解決策は

1) ルート キーを LOCAL_MACHINE\Root Certificates ストアにインポートします。

2) ルート キーを (ユーザーの)\Root Certificates ストアにインポートします。

3) asp.net コードでは、次のような偽装を使用します。

<identity impersonate="true" userName="(your user)" password="(your password)" />

何らかの理由で、IIS7 のすべてのプロセスが NT_AUTHORITY\NETWORK ユーザーの下で実行されているため、証明書を NETWORK ユーザーのストアにインストールしても何の役にも立ちません。

于 2009-08-24T20:56:05.783 に答える