Jetty configures SSL certificate to implement http request
This article shares with you how jetty configures SSL Certificates to implement http requests. Xiao Bian thinks it is quite practical, so share it for everyone to make a reference. Let's follow the editor and have a look.
Use java's own tool keytool to generate certificates
keytool -genkey -alias server -keypass 123456 -storepass 123456 -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 -dname "C=CN,ST=BJ,L=BJ,O=ca.wbq.com,OU=ca.wbq.com,CN=ca.wbq.com"
2 Java programs
import org.eclipse.jetty.http.HttpVersion;import org.eclipse.jetty.server.HttpConfiguration;import org.eclipse.jetty.server.HttpConnectionFactory;import org.eclipse.jetty.server.Server;import org.eclipse.jetty.server.ServerConnector;import org.eclipse.jetty.server.SslConnectionFactory;import org.eclipse.jetty.util.ssl.SslContextFactory;public class JeetSslTest {public static void main(String[] args) {Server server = new Server();HttpConfiguration https_config = new HttpConfiguration();https_config.setSecureScheme("https");SslContextFactory.Server sslContextFactory = new SslContextFactory.Server();sslContextFactory.setKeyStoreType("PKCS12");sslContextFactory.setKeyStorePath("e:/temp/key/keystore.p12");sslContextFactory.setTrustStorePath("e:/temp/key/keystore.p12");sslContextFactory.setKeyStorePassword("123456");sslContextFactory.setKeyManagerPassword("123456");try{ServerConnector httpsConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory,HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(https_config)); httpsConnector.setPort(8443); server.addConnector(httpsConnector); server.setHandler(new HelloHandler());//processing logic server.start(); server.join();}catch(Exception e){e.printStackTrace();}}}
import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.eclipse.jetty.server.Request;import org.eclipse.jetty.server.handler.AbstractHandler;public class HelloHandler extends AbstractHandler{@Overridepublic void handle(String target, Request baseRequest,HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException { System.out.println(target);//Set character set to avoid garbled response.setContentType("text/html;charset= utf-8"); //Output the greeting we want to display response.getWriter().println("hello jetty"); //Indicates request processing is complete baseRequest.setHandled(true); }}
After running successfully, use your browser to visit https://127.0.0.1:8443/
About jetty configuration SSL Certificates http request method to share here, I hope the above content can be of some help to everyone, you can learn more knowledge. If you think the article is good, you can share it so that more people can see it.