2012-04-02 5 views
0

Von einem WCF-Client aus kann ich Anfragen an einen Datapower-Dienst senden. Wenn die Datapower eine Antwort zu senden versucht, sie die folgende Fehlermeldung erhalten:Datapower-Clientfehler beim Senden von Antworten an den WCF-Dienst

11:41:55 ssl error 224703 0x806000ca valcred (xx.xxxxxx.xx.xx_xxx): SSL Proxy Profile 'xx.xxxxxx.xx.xx_sslpp': connection error: peer did not send a certificate

auf dem Client und Server haben wir passende Zertifikate und ich habe das Zertifikat als auch an den entsprechenden Anschluss gebunden als „SetCertificate“ call Anfügen des Zertifikats an den Client. Ich sehe auf der Serverseite überhaupt keinen Antwortverkehr über Ablaufverfolgungsprotokolle. Die Leute auf der Datapower/Client-Seite sagen, dass der Dienst das Zertifikat nach dem Handshake nicht vorlegt, aber ich muss das einsehen.

Alle Vorschläge würden sehr geschätzt werden.

Antwort

2

Ich habe dieses Problem immer konfrontiert und ich bin ein Datapower und Java-Web-Service-Entwickler.

Dieses Szenario geht davon aus, dass Datapower als Server fungiert.

  1. Wenn Datapower protokolliert, dass der Peer das Zertifikat nicht sendet, bedeutet dies, dass der WCF das öffentliche Zertifikat, das er gemeinsam mit datapower freigegeben hat, nicht über das Netzwerk sendet.
  2. Dies kann durch Senden der Paketerfassung in Datapower bestätigt werden.
  3. Eine Menge Zeit, die Leute anfangen, die öffentlichen Zertifikate zu ändern, würde ich vorschlagen, das nicht zu tun und sich darauf zu konzentrieren, WARUM der KUNDE kein Problem sieht.
  4. Keystore auf der Clientseite, auf der der Client Java ist, muss sowohl den öffentlichen Clientschlüssel als auch den öffentlichen Datapower-Schlüssel im Truststore enthalten.

Keytool-Befehl den Server cert in der cacerts.jks Schlüsselspeicher zu setzen:

keytool -import -v -trustcacerts -alias mykey -keypass changeit -file mykey.cer -keystore cacerts.jks -storepass changeit