証明書で認証されたWCFサービスを使用しています。私はVSデバッグモードで動作しますが、公開して実行すると動作しません。証明書認証付きWCFサービスクライアント。デバッグ時に動作しますが、ライブではありません。
cerificatesdはCurrentUser/TrustedPeopleに格納されます。 これは私のconfig行動-セクションです:
<behavior name="LoadClientCert">
<clientCredentials>
<clientCertificate findValue="CN=Certificate1"
storeLocation="CurrentUser" storeName="TrustedPeople"
x509FindType="FindBySubjectDistinguishedName" />
<serviceCertificate>
<defaultCertificate findValue="CN=Certificate2"
storeLocation="CurrentUser" storeName="TrustedPeople"
x509FindType="FindBySubjectDistinguishedName" />
<authentication certificateValidationMode="None"
revocationMode="NoCheck" />
</serviceCertificate>
</clientCredentials>
</behavior>
エラーメッセージ:リクエストエラー サーバがリクエストの処理中にエラーが発生しました。詳細はサーバーログを参照してください。
私の推測では、IISユーザーには証明書を使用する権限がありません。しかし、それは推測だけです。
そして、そのサーバーログはどこにありますか?イベントビューアを試しましたが、何も見つかりませんでした。私は運がなければ私の設定にこれを追加しました。(ソリューションを試した後に空です):
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="f:\logs\messages.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="2000"/>
</diagnostics>
何か提案がありますか?
あなたが自己署名証明書を使用していますか? – Rajesh
はい自己署名しています – espvar