2010-12-16 3 views
0

IIS7でWCFサービスをホストしようとしています。私は、web.configファイルに次のように指定したまですべてがうまく働いた:IIS7で自己ホスティングWCFが可能であっても、X.509証明書が見つかりません

<serviceCredentials> 
     <serviceCertificate findValue="MyCert" 
          storeLocation="CurrentUser" 
          storeName="My" 
          x509FindType="FindBySubjectName" /> 
    </serviceCredentials> 

その後、私は例外のSystem.InvalidOperationExceptionを取得し、次の検索基準を使用してX.509証明書を見つけることができません:StoreNameを「マイ」 、StoreLocation 'CurrentUser'、FindType 'FindBySubjectName'、FindValue 'MyCert'

私は、この同じ証明書(同じ場所に保管されています)を問題なくセルフホストWCFサービスで使用しています。

答えて

2

誤った店舗の場所を選択した可能性があります。 storeLocation = "LocalMachine"を試しましたか?

これが機能しない場合は、iisワーカープロセスにプロセスを与える必要があります。私は、iis6でWCFサービスをホストしていて、共有された証明書のセキュリティでUsernameを使用したときにこれを行う必要がありました。

+0

ローカルコンピュータのパーソナルストアに証明書を入れる必要がありました。皆さん、ありがとうございました – user437291

2

IIS7のようにサービスが実行されているIDには、ストアへのアクセス権がない可能性があります。一般に、このアイデンティティはApplicationPoolIdentityです。

+1

これは役立つ可能性がありますhttp://serverfault.com/questions/131046/how-to-grant-iis-7-5 -access-to-a-certificate-in-certificate-store –

1

アプリケーションプールが実行されているアカウントの証明書の秘密鍵への読み取りアクセスを許可してください。証明書MMCスナップインで、証明書を探し、右クリックして、秘密キーを管理します。

関連する問題