저는 전송 및 메시지 보안과 상호 인증서 인증을 사용하여 WCF 서비스 용 Metro 기반 클라이언트를 만들려고했습니다.WCF 메트로 interop 메시지가 암호화되지 않았습니다.
메시지 보안 만 작동하며 본문이 암호화되어 HTTP를 통해 전송되거나 SSL 만 작동하고 메시지는 암호화되지 않습니다. 둘 모두를 활성화하면 클라이언트가 SSL을 통해 암호화되지 않은 메시지를 보냅니다.
이 내 전류가 구속력 : httpTransport와
<customBinding>
<binding name="customBind">
<transactionFlow />
<security authenticationMode="MutualCertificate" allowSerializedSigningTokenOnReply="true" defaultAlgorithmSuite="Basic128" includeTimestamp="true" securityHeaderLayout="Lax">
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport requireClientCertificate="false"/>
<!--<httpTransport />-->
</binding>
</customBinding>
메시지는 httpsTransport으로, 암호화, 그들은하지 않습니다. 메시지가 암호화되지 않았으므로 서버는 "메시지 보안을 확인할 때 오류가 발생했습니다."라고 응답합니다. Metro 클라이언트가 "com.sun.xml.wss.XWSSecurityException : 보안 요구 사항이 충족되지 않음 - 메시지에 보안 헤더 없음"으로 실패합니다.
이전에이 문제가 발생 했습니까? 왜 이런 일이 일어날 지 또는 내가 탐색 할 수있는 것들에 대한 단서가 있습니까? 추가 정보 : Netbeans 7.1.1 및 Metro 2.2 사용.
SSL을 통해 전송되는 경우 암호화 된 메시지가 필요합니까? –
안타깝게도 보안 및 보안 요구 사항에 따라 전송 및 메시지 보안이 모두 필요합니다. – Sorcerer13
시도중인 바인딩 구성을 게시 할 수 있습니까? 보안 속성에 mode = "both"를 지정해야합니다. 또한 Metro는 ws- * 표준을 지원하므로 wsHttpBinding을 사용하지 않는 이유가 무엇입니까? – dez