basicHttpBinding、メッセージセキュリティモード、および証明書クライアントの資格情報タイプを持つwcfサービスがあります。私はwcfクライアント経由でこのサービスを利用することができますが、このサービスはJavaクライアントを持つ別のシステムでも使用する必要があります。私はsoapuiでテストしていますが、空の応答またはセキュリティ・メッセージ・エラーが発生します。私はクライアント証明書を読み込むためにさまざまなsoapui設定を試みましたが、これらのどれもうまくいきませんでした。私はhttp(非https)経由でサービスを公開しました。これはサーバーwcf設定です。クライアント証明書認証を使用するWcfがsoapuiで動作しない
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicEndPoint" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
bypassProxyOnLocal="false" maxBufferSize="2147483647" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8"
transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647"/>
<security mode="Message">
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="customBehavior">
<clientCredentials>
<clientCertificate findValue="ClientSide" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="My"/>
<serviceCertificate>
<defaultCertificate findValue="ServerSide" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="My"/>
<authentication certificateValidationMode="PeerOrChainTrust"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint address="http://localhost:8080/WebServices/ExternalServices.svc"
behaviorConfiguration="customBehavior" binding="basicHttpBinding"
bindingConfiguration="basicEndPoint" contract="ServiceReference1.IExternalServices"
name="BasicHttpBinding_IExternalServices" >
<identity>
<certificateReference findValue="ServerSide" storeName="My" storeLocation="LocalMachine" x509FindType="FindBySubjectName" />
<dns value="ServerSide"/>
</identity>
</endpoint>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"/>
</client>
</system.serviceModel>
この設定で何が問題になっていますか?設定に基づいて:(Pさえないユーザー)が、:事前
ご返信ありがとうございます。私はすでにこれらの構成を試みました。 basichttpbindingを使用する前に、私はhttpsでwshttpbindingを設定し、成功しなくてもキーストアとパスワードを選択しました。 googling私は、wshttpbindingは非常に相互運用性ではないので、私はbasichttpbindingに変更し、httpsなしで試してみました。私は、wcfクライアントとの互換性だけでなく、soap wcf認証証明書を使ってサービスを開発する方法についていくつかの公式ガイドラインがあるかどうか知りたいのです。 – VariableName
@VariableName私はPKI、SSLなどについていくつかの知識を持っています。しかし、私が答えて言ったように、* WCF *との具体的な経験はありません* ...私は主題に確かにgudelinesがあると思いますが、それを見つける場所を知っている、残念。 – albciff