2013-06-20 4 views
0

Я новичок в WCF. Я изучаю правильный способ шифрования тела сообщения через HTTPS (смешение как безопасности транспорта, так и уровня сообщений на данный момент)Шифрование тела WCF с SSL

У меня есть HttpsGetEnabled.

Использование WsHttpBinding, я все еще вижу тело сообщения в незашифрованном виде

<wsHttpBinding> 
    <binding name="myCustomWsHttpBinding"> 
     <security mode="TransportWithMessageCredential"> 
     <transport clientCredentialType="None"/> 
     <message clientCredentialType="Certificate" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 

Я также попытался с помощью пользовательских связывания, но тот же результат

<binding name="myCustomBinding"> 
    <security authenticationMode="CertificateOverTransport" 
      messageProtectionOrder="EncryptBeforeSign" 
      includeTimestamp="true" 
      protectTokens="true" 
      > 
    </security> 
    <textMessageEncoding messageVersion="Soap11WSAddressing10" /> 
    <httpsTransport/> 
</binding> 

Как мы тело сообщения зашифрованное при использовании Https? Если я правильно понимаю безопасность на уровне сообщений, не зависит от транспорта, поэтому использование https возможно в этом случае?

ответ

1

В пользовательской привязке установите authenticationMode к «mutualCertificate»

+0

Спасибо, я попробую установить вверх взаимный сертификат – byte

+0

Просто быстрый вопрос - Есть ли TransportWithMessageCredential шифрования сообщения? Я не изменил уровень защиты по умолчанию, который, по моему мнению, является Encrypt и Sign – byte

+1

, он шифрует только на уровне транспорта, поэтому, если вы посмотрите на сообщение xml, он не будет зашифрован, как с обычной ws-защитой. это допустимый вариант, все зависит от того, что вы пытаетесь достичь. –