jetty 6.x https訪問雙向認證配置方法
打算給新開發的應用做https方式訪問,採用雙向認證的方式(即客戶端需要校驗伺服器端證書,伺服器端也需要校驗客戶端證書),在網上找了半天,都是東一句西一句的,沒有一個比較全的,經過一番周折,終於搭起來了。講講主要的思路:
- 先給伺服器端與客戶端發證書(我用的是openssl)
- 建立伺服器端的keystore,裡面包含伺服器端個人證書(帶私鑰)和可信任的CA根證書與客戶端證書。
- 配置jetty.xml,設定https引數,包括埠號,keystore庫位置,truststore庫位置,口令,和雙向認證方式。
1、用openssl發證
#在當前目錄下建立openssl.cnf配置檔案,可從openssl安裝目錄下拷貝一份,主要修改string_mask,從nombstr改為utf8only
string_mask = utf8only
#建立根證書私鑰
openssl genrsa -des3 -out cakey.pem -passout pass:12345678 1024
#建立自簽名的根證書
openssl req -utf8 -new -x509 -days 7300 -key cakey.pem -passin pass:12345678 -out cacert.crt -config openssl.cnf -set_serial 1 -subj "/CN=XX證書中心/OU=XX證書中心/O=XXXX公司"
#建立伺服器的私鑰
#openssl genrsa -des3 -out server.key 1024
#建立伺服器的待簽證書
openssl req -utf8 -new -key server.key -days 7300 -out server.csr -passin pass:12345678 -passout pass:12345678 -subj /CN=localhost/OU=XX證書中心/O=XXXX公司
#簽發伺服器證書(pem格式)
openssl ca -utf8 -config openssl.cnf -passin pass:12345678 -batch -in server.csr -out server.crt
#生成帶私鑰的pkcs12格式伺服器證書
openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx -passin pass:12345678 -passout pass:12345678
#轉換pem(base64)編碼格式的伺服器證書為der(二進位制)編碼格式
openssl x509 -in server.crt -inform pem -out server.der -outform der
#客戶端證書生成依照伺服器生成步驟再做一遍(注意,根證書不需要再次生成)。
2、匯入證書到keystore中
#匯入伺服器個人證書(帶私鑰)到keystore中
keytool -importkeystore -srckeystore server.pfx -srcstoretype PKCS12 -keystore server.jks -srcstorepass 12345678 -deststorepass 12345678
#匯入ca根證書和客戶端證書到可信任證書鏈中
keytool -import -keystore server.jks -keypass 12345678 -storepass 12345678 -alias ca -trustcacerts -file cacert.crt
keytool -import -keystore server.jks -keypass 12345678 -storepass 12345678 -alias client -trustcacerts -file client.der
3、jetty.xml的配置(精簡型,只執行一個應用,執行緒數也設定的很少)
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id="Server" class="org.mortbay.jetty.Server">
<Set name="ThreadPool">
<New class="org.mortbay.thread.BoundedThreadPool">
<Set name="minThreads">1</Set>
<Set name="maxThreads">5</Set>
</New>
</Set>
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.security.SslSelectChannelConnector">
<Set name="Port"><SystemProperty name="jetty.port" default="8443"/></Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">1</Set>
<Set name="AcceptQueueSize">100</Set>
<Set name="keystore"><SystemProperty name="jetty.home" default="." />/etc/server.jks</Set>
<Set name="password">12345678</Set>
<Set name="keyPassword">password</Set>
<Set name="truststore"><SystemProperty name="jetty.home" default="." />/etc/server.jks</Set>
<Set name="trustPassword">12345678</Set>
<Set name="needClientAuth">true</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.mortbay.jetty.Handler">
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="resourceBase">webapp/</Set>
<Call name="addServlet">
<Arg>org.mortbay.jetty.servlet.DefaultServlet</Arg>
<Arg>/</Arg>
</Call>
</New>
</Item>
</Array>
</Set>
</New>
</Set>
</Configure>
配置好後,執行jetty,可在控制檯視窗輸出中看到啟動資訊。
4、瀏覽器中匯入根證書cacert.crt和客戶端證書client.pfx,然後訪問
http://localhost:8443/
相關推薦
jetty 6.x https訪問雙向認證配置方法
打算給新開發的應用做https方式訪問,採用雙向認證的方式(即客戶端需要校驗伺服器端證書,伺服器端也需要校驗客戶端證書),在網上找了半天,都是東一句西一句的,沒有一個比較全的,經過一番周折,終於搭起來了。講講主要的思路: 先給伺服器端與客戶端發證書(我用的是openssl)
centos 6.x 下oracle 11g 安裝配置 [簡單記錄]
以前都是用oracle 10g 現在也順便用用11g 順便就帖上安裝過程,簡單記錄一下,做一個存檔。 一、 安裝資料庫軟體 1. 建立oracle使用者 groupadd oinstall groupad
Redhat 6.0中VNC Server的配置方法
關於在Linux系統中配置VNC Server的方法,網上有很多的教程或者文章,但應用在我們的環境中時都不能完整解決我們的問題,所以這裡我將在Redhat 6.0中配置VNC Server中的方法,以及可能遇到問題的解決辦法總結在這裡,供大家參考。 1、 查詢系統是否安裝v
Centos 6.x下擴充套件swap分割槽簡單方法
使用檔案簡單擴充套件swap分割槽。 1.進入根分割槽 cd / 2.建立一個用來當作swap分割槽的檔案 dd if=/dev/zero of=/swapfile bs=1M count=1024 會建立一個1G的swapfile檔案 3.格式化swapfile
ssh登入使用radius伺服器認證配置方法
環境: 1、linux伺服器:用於ssh登入,同時做為radius客戶端。 CentOS5 IP:10.0.1.1 2、Radius伺服器:用於radius客戶端,同時做為域成員(加入AD域) windows 2003加入域並啟用internet驗證
Https、OpenSSL自建CA證書及簽發證書、nginx單向認證、雙向認證及使用Java訪問
1.5 image echo create etc 保存 config openss ima 0.環境 安裝了nginx,安裝了openssl 1.配置和腳本 先創建一個demo目錄(位置自己選擇,我選擇建在nginx的目錄下): mkdir /etc/nginx/
(xampp)lampp 下配置https(ssl)自簽雙向認證以後 apache無法啟動解決方案
art blog xtra 場景 問題 .com 客戶端瀏覽器 php https 自簽CA一般是沒有應用場景的,因為需要客戶端瀏覽器導入證書才能訪問 但是在某些需要內部使用的場景下,確實是一個解決方案 但是在lampp配置了雙向認證以後發現 原來自帶的管理命令 lampp
Tomcat伺服器配置https雙向認證
一,HTTPS原理 1,HTTP、HTTPS、SSL、TLS介紹與相互關係 (1) HTTP:平時瀏覽網頁時候使用的一種協議。HTTP協議傳輸的資料都是未加密的(明文),因此使用HTTP協議傳輸隱私資訊非常不安全。 (2)
Https雙向認證Android客戶端配置
Https雙向認證啊 做了兩遍,第一遍懵懂狀態處於 好不容易做好了,換伺服器,一下子懵了,使出渾身解數又找了一遍,這下終於好了 快哭啦,必須滴要記錄一下,以免以後遇到繼續懵,這裡用retrofit2+okhttp3為例子來簡單說明下 先來說說證書: 服務端提供的證書有四
nginx配置將http請求轉發支援ssl雙向認證https請求的正向代理
一、引言 nginx 是否支援將http請求轉發為https支援ssl雙向認證,網上沒什麼用例可以參考,查詢各大開發運維社群了下有幾種說法 支援: 不支援: 不清楚家祭不忘告乃翁:
Apache下配置https雙向認證
1.Apache安裝並開啟ssl 略 2.建立證書 建立證書的步驟如下 2.1建立相關目錄 這裡apache目錄位於/data/webapps/apache 在apache目錄下建立ca目錄(方便管理,可自定義) mkdi
spring boot配置Https單向認證和雙向認證
Spring boot SSL配置部分文件: 這裡將server.pfx、trustore.p12拷貝到了src/main/resources/路徑下 單向認證: server.port: 8443 server.ssl.key-store: src/
tomcat8配置https雙向認證
工具準備:keytool(JDK自帶證書生成工具),tomcat8 利用JDK中keyStore生成證書。 前言: 關於HTTPS介紹文章請看此博文,我也是看了他的博文才搞懂的,真心感謝。 博文地址:http://www.cnblogs.com/JeffreySun/ar
SSL--用Tomcat伺服器配置https雙向認證過程實戰
什麼是https? 百度百科足夠解釋它:http://baike.baidu.com/view/14121.htm 概述 A、 什麼是HTTPS在說HTTPS之前先說說什麼是HTTP,HTTP就是我們平時瀏覽網頁時候使用的一種協議。HTTP協議傳輸的資料都是未加密的,
linux 配置nginx https 訪問認證
1 首先檢視伺服器有沒有安裝openssl 支援包, rpm -qa | grep openssl 如果有結果輸出,說明已經有了openssl 包的支援 如果沒有結果輸入 通過命令 yum instance -y openssl
用Tomcat伺服器配置https雙向認證過程實戰
什麼是https? 百度百科足夠解釋它:http://baike.baidu.com/view/14121.htm工具:keytool (Windows下路徑:%JAVA_HOME%/bin/keytool.exe)環境:Windows8.1企業版、Tomcat-7.0.2
HTTPS雙向認證+USB硬體加密鎖(加密狗)配置
環境: Ubuntu14.04,apache2.4.7, openssl1.0.1f 安裝apache2 apt-get install apache2 -y 一般openssl預設已經安裝 開啟apache的ssl模組和ssl站點 a2enmod ssl a2ensi
Tomcat配置https與http自動跳轉和tomcat單雙向SSL配置及IE訪問HTTPS下載檔案失敗
Tomcat配置https與http自動跳轉 https介紹: HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標 的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SS
CentOS 6.x 本地yum源配置與使用
mnt local 放置 cal nbsp 自動 all rpm-gpg 網絡 系統默認已經安裝了可使用yum的軟件包,所以可以直接配置: # mount /dev/cdrom /mnt 掛載鏡像,可以寫到配
配置CentOS 6.x
enable gcc -- https download sco config all pytho 如你所知,CentOS官方倉庫的軟件包通常版本都比較舊,為了使用較新版本要花一些信息在配置上。 SVN 1.9: http://opensource.wandisc