2013-11-04 73 views
1

我們有一個WCF服務託管在IIS中,具有以下customBinding。該服務接收來自IBM Datapower的經過加密和簽名的請求。該服務可以驗證簽名並正確解密請求。 但發出的響應沒有加密或簽名。(我可以驗證這一點使用WCF日誌)WCF服務不加密響應

<customBinding> 
    <binding name="myCustomBinding"> 
     <textMessageEncoding messageVersion="Soap11" /> 
     <httpsTransport requireClientCertificate="false" realm="" /> 
    </binding> 
</customBinding> 

<behaviors> 
    <serviceBehaviors> 
    <behavior name="myServiceBehavior"> 
     <serviceCredentials> 
     <serviceCertificate findValue="{serverCertificateName}" x509FindType="FindBySubjectName" 
          storeLocation ="LocalMachine" storeName ="My"/> 
     <clientCertificate> 
      <certificate findValue="{clientCertificateName}" x509FindType="FindBySubjectName" 
         storeLocation ="LocalMachine" storeName ="My" /> 
      <authentication certificateValidationMode="None" includeWindowsGroups="false"/> 
     </clientCertificate> 
     </serviceCredentials> 
    </behavior> 
</serviceBehaviors></behaviors> 

的MessageContracts都的ProtectionLevel設置爲ProtectionLevel.EncryptAndSign

我失去了一些東西在這裏?

+0

檢查IBM Datapower客戶端的配置是否可以接收加密和簽名的響應。 – Pavel

+0

@Pavel - 是Datapower已配置爲接收加密和簽名的消息。 – muruge

回答

0

我不是WCF的專家,所以請原諒我,如果我問下面的問題。

要在[PKI域]中對內容進行加密和簽名,您需要擁有一個私鑰[並且每個人都知道它不包含在證書中]。所以我只是好奇,至於在上面的配置中指定私鑰的位置。是這樣的,如果你在上面的配置中指定了證書,相應的私鑰會自動被拾取[我只是好奇,因爲我不確定發生了什麼。

相反,當你收到一個加密的內容時,你需要驗證和解密的唯一東西就是證書[實際上在大多數情況下,不必進行可能發生的關鍵談判]。

只是讓我知道這是否有幫助?可能是這個評論太微不足道了[請原諒,如果是這樣的話]。

+0

是證書具有解密內容的私鑰。 – muruge

+0

你解決了這個問題嗎? –