Pracuję nad projektem sterowania oświetleniem i ogrzewaniem w budynkach. Backend (napisany w Javie) będzie działał na Mac Mini i powinien być dostępny poprzez SOAP.Używanie javax.xml.ws.Endpoint z HTTPS
Chcę ograniczyć złożoność tego projektu do minimum, ponieważ nie chcę, aby każdy, kto go używa, musiał skonfigurować serwer aplikacji. Tak jak do tej pory pracowałem z javax.xml.ws.Endpoint:
Endpoint endpoint = Endpoint.create(frontendInterface);
String uri = "http://"+config.getHost()+":"+config.getPort()+config.getPath();
endpoint.publish(uri);
To działa zaskakująco dobrze (? Hej, kiedy po raz ostatni zobaczyć coś w Javie pracy z zaledwie 3 linii kodu), ale teraz Szukam sposobu na użycie HTTPS zamiast HTTP.
Czy można to zrobić bez korzystania z serwera aplikacji lub czy istnieje inny sposób zabezpieczenia tego połączenia?
Pozdrowienia, Marek
Wow - dziękuję, to naprawdę działa! Prawie zrezygnowałem z nadziei ... – marekventur
Brak weryfikacji nazwy hosta (z tym 'HostnameVerifier', który przepuszcza wszystko) eliminuje ważny krok do zabezpieczenia komunikacji. Nie rób tego! – Bruno
Należy zauważyć, że drugim argumentem w HttpsServer.create jest "maksymalna liczba oczekujących połączeń przychodzących, aby zezwolić na gniazdo nasłuchu" zgodnie z: http://docs.oracle.com/javase/6/docs/jre/api/ net/httpserver/spec/com/sun/net/httpserwer/HttpsServer.html – zpon