這篇文章給大家分享的是jetty配置SSL證書實現(xiàn)http請求的方法。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
一 使用java 自帶工具 keytool 生成證書
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程序
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());//處理邏輯 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{ @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException { System.out.println(target); // 設置字符集,避免亂碼 response.setContentType("text/html;charset=utf-8"); // 輸出我們想要顯示的問候語 response.getWriter().println("hello jetty"); // 表示請求處理完成 baseRequest.setHandled(true); } }
運行成功后使用瀏覽器訪問 https://127.0.0.1:8443/ 測試
關于jetty配置SSL證書實現(xiàn)http請求的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:jetty配置SSL證書實現(xiàn)http請求-創(chuàng)新互聯(lián)
標題URL:http://chinadenli.net/article12/dedjdc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網站建設、網站設計、服務器托管、用戶體驗、外貿網站建設、建站公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容