3

Ich habe eine sichere Socket-Verbindung mit dem Bouncy Castle Pre-Shared Key hergestellt. Ich würde gerne wissen, wie diese Socket-Verbindung verwenden, um meine http-Anfrage sicher zu senden. Ich verwende einen Apache HTTP-Client zum Senden meiner http-Anfrage.HTTPS mit PSK mit Bouncy Castle

Kurz gesagt, ich muss https verwenden, aber mit PSK Implementierung der Hüpfburg. Es ist einfach, eine Socket-Verbindung mit PSK BC zu erstellen, aber wie kann ich die HTTP-Anfrage dorthin umleiten?

+0

Konnte [dies] (https://hc.apache.org/httpcomponent-client-ga/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html#setSSLSocketFactory (org.apache.http. conn.socket.LayeredConnectionSocketFactory)) funktionieren? Die Schnittstelle 'LayeredConnectionSocketFactory' gibt nur einen Socket zurück, daher sollte es einfach zu implementieren sein. –

+0

@MaartenBodewes Mein Verständnis von LayeredConnectionSocketFactory ist nicht gut. Ich verstehe nicht, wie ich es mit meiner PSK Bouncy Castle Authentifizierung integrieren kann. Jede Hilfe wird sehr geschätzt. – kapil

+0

Mein Verständnis ist, dass wir nicht direkt Http Request zu Bouncy Castle PSK-basierten Socket senden können, da es HTTP nicht versteht. – kapil

Antwort

0

Verwendet die herkömmliche Methode des Routing http-Nachricht. Sobald die TLS PSK-Socket-Verbindung hergestellt ist, wird die HTTP-Anforderung durch Schreiben einer HTTP-Nachricht an die Socket-Verbindung im http-Standard gesendet. Dabei werden zuerst http-Anforderungszeile, gefolgt von Anforderungsheader und eine neue Zeile mit dem Inhalt if geschrieben irgendein. Lesen Sie dann auf der Serverseite die entschlüsselte HTTP-Anforderung in umgekehrter Richtung.

Im Grunde musste HTTPClient und httpServer mit Socket-Verbindung von Basic implementieren.