Usare HTTPS in Vert.x con SelfSignedCertificate
L'API che sto sviluppando in Java con Vert.x girerà in modalità standalone, e sarà contattabile direttamente tramite indirizzo ip.
Ovviamente, il client che gira su HTTPS blocca la chiamata al server, in quanto di default gira su HTTP.
Vediamo come configurare Vert.x per HTTP con SelfSignedCertificate!
Prima di tutto dobbiamo aggiungere una dipendenza; se usate Maven:
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15to18</artifactId>
<version>1.72</version>
</dependency>
Poi:
SelfSignedCertificate certificate = SelfSignedCertificate.create();
HttpServerOptions serverOptions = new HttpServerOptions()
.setSsl(true)
.setKeyCertOptions(certificate.keyCertOptions())
.setTrustOptions(certificate.trustOptions());
String host = ".....";
vertx.createHttpServer(serverOptions)
.requestHandler(router)
.listen(config.getPort().intValue(), host, http -> {
if (http.succeeded()) {
startPromise.complete();
} else {
startPromise.fail(http.cause());
}
});
Enjoy!
java vertx maven https selfsignedcertificate bouncycastle
Commentami!