?Tomcat啟用HTTPS協(xié)議之JDK工具keytool
需求:平臺原本是用http訪問的,為了保證數(shù)據(jù)傳輸?shù)耐暾约胺乐菇涌诒槐O(jiān)聽,甲方要求將平臺改為https訪問。
原因:HTTP 的連接很簡單哭懈,是無狀態(tài)的;HTTPS?協(xié)議是由 SSL+HTTP 協(xié)議構(gòu)建的可進行加密傳輸茎用、身份認證的網(wǎng)絡(luò)協(xié)議遣总,比 HTTP 協(xié)議安全
方案1睬罗、在tomcat中修改server.xml配置,使用jdk自帶工具keytool生成ssl證書旭斥,使平臺可以通過https訪問容达。
方案2、通過Nginx代理的方式將https轉(zhuǎn)為http垂券,已達到上述目的花盐。
此文記錄方案1的詳細操作,流程比較繁瑣菇爪,但絕對可以成功算芯。
第一部分:如下操作完,即可通過https://ip:8843/projectName訪問平臺凳宙,如下圖熙揍。問題是訪問會提示“此站點不安全”,點擊“詳細信息”中的“轉(zhuǎn)到此網(wǎng)頁(不推薦)”氏涩,即可打開平臺诈嘿。
?Tomcat啟用HTTPS協(xié)議之JDK工具keytool
需求:平臺原本是用http訪問的,為了保證數(shù)據(jù)傳輸?shù)耐暾约胺乐菇涌诒槐O(jiān)聽削葱,甲方要求將平臺改為https訪問。
原因:HTTP 的連接很簡單淳梦,是無狀態(tài)的析砸;HTTPS?協(xié)議是由 SSL+HTTP 協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議爆袍,比 HTTP 協(xié)議安全
方案1首繁、在tomcat中修改server.xml配置,使用jdk自帶工具keytool生成ssl證書陨囊,使平臺可以通過https訪問弦疮。
方案2、通過Nginx代理的方式將https轉(zhuǎn)為http蜘醋,已達到上述目的胁塞。
此文記錄方案1的詳細操作,流程比較繁瑣压语,但絕對可以成功啸罢。
第一部分:如下操作完,即可通過https://ip:8843/projectName訪問平臺胎食,如下圖扰才。問題是訪問會提示“此站點不安全”,點擊“詳細信息”中的“轉(zhuǎn)到此網(wǎng)頁(不推薦)”厕怜,即可打開平臺衩匣。
1蕾总、首先需要安裝jdk(安裝方法自行百度),本文用的是jdk1.8琅捏,在安裝路徑下找keytool.exe生百。
2、在keytool中按住shift+右鍵午绳,點擊在此處打開Powershell窗口置侍,打開的命令窗口即keytool.exe所在的目錄,后續(xù)的命令均在此處執(zhí)行拦焚。
3蜡坊、在d盤下創(chuàng)建keys文件,后續(xù)命令生成的文件均在此目錄下
4赎败、執(zhí)行以下命令:keytool?-genkey?-alias?tomcat?-keypass?123456?-keyalg?RSA?-keysize?1024?-validity?365?-keystore?D:/keys/tomcat.keystore?-storepass?123456
命令中重點關(guān)注參數(shù):別名-alias tomcat秕衙,記住這個tomcat,后面用的到僵刮。-keypass 密碼据忘,這個非常重要,后面用的到搞糕。-keystore 路徑勇吊,這個是生成tomcat.keystore的路徑。
輸入內(nèi)容中重點參數(shù):您的名字與姓氏是什么窍仰?這個填寫要使用https訪問的平臺ip汉规,其他的可以是anything
5、將生成的tomcat.keystore放到平臺所在服務(wù)器下(/root/key)驹吮,
6针史、修改tomcat下conf中的server.xml,增加如下配置碟狞,重點關(guān)注路徑(tomcat.keystore所在的路徑)和密碼(生成tomcat.keystore時用的密碼):
? ? <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"?maxThreads="150" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" keystoreFile="/root/key/tomcat.keystore" keystorePass="123456"? />
7啄枕、以上配置完成后重啟tomcat,第一部分操作完成族沃,結(jié)果應(yīng)該入開始部分的描述频祝。
第二部分 如下操作完,即可通過https正常訪問平臺脆淹,沒有“此站點不安全”的提示智润。
0、嘗試過降低ie安全級別未辆,加入信任站點等方式窟绷,仍有“此站點不安全”的提示,因此不得不繼續(xù)進行了咐柜。
1兼蜈、為客戶端生成證書攘残,以便讓服務(wù)器來驗證,證書格式應(yīng)該是PKCS12为狸。執(zhí)行如下命令:keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore D:/keys/client.p12 -storepass 123456
執(zhí)行后會在d:/keys下生成client.p12文件歼郭。重點關(guān)注-alias 別名,后續(xù)用的到辐棒。-validity 驗證有效期限病曾。
命令之后會輸入您的名字與姓氏是什么,此處輸入平臺的ip漾根,其他的選項可以是anything泰涂。
2、讓服務(wù)器信任客戶端證書
2.1?由于不能直接將PKCS12格式的證書庫導(dǎo)入辐怕,必須先把客戶端證書導(dǎo)出為一個單獨的CER文件逼蒙。執(zhí)行命令: keytool -export -alias client -keystore D:/keys/client.p12 -storetype PKCS12 -keypass 123456 -file D:/keys/client.cer
秘鑰庫口令即上文輸入的123456
2.2將該文件導(dǎo)入到服務(wù)器的證書庫,添加為一個信任證書,執(zhí)行命令:keytool -import -v -file D:/keys/client.cer -keystore D:/keys/tomcat.keystor
秘鑰庫口令即上文輸入的123456
2.3完成之后通過list命令查看服務(wù)器的證書庫寄疏,可以看到兩個證書是牢,一個是服務(wù)器證書,一個是受信任的客戶端證書:keytool?-list?-v?-keystore?D:/keys/tomcat.keystore
3.讓客戶端信任服務(wù)器證書陕截,由于是雙向SSL認證驳棱,客戶端也要驗證服務(wù)器證書,因此农曲,必須把服務(wù)器證書添加到瀏覽器的“受信任的根證書頒發(fā)機構(gòu)”蹈胡。由于不能直接把keystore格式的證書庫導(dǎo)入,必須先把服務(wù)器證書導(dǎo)出為一個單獨的CER文件朋蔫,執(zhí)行命令:keytool -keystore D:/keys/tomcat.keystore -export -alias tomcat -file D:/keys/server.cer
4、雙擊server.cer文件却汉,按照提示安裝證書驯妄,將證書填入到“受信任的根證書頒發(fā)機構(gòu)”
4.2 打開ie的Internet選項,切換到內(nèi)容合砂,點擊證書青扔,選擇中間證書頒發(fā)機構(gòu),即可查看到自己安裝的證書翩伪。
4.3 接下來要做的就是要把證書從“中間證書頒發(fā)機構(gòu)”導(dǎo)出微猖,然后導(dǎo)入到“受信任的根證書頒發(fā)機構(gòu)”
4.3.1 把證書從“中間證書頒發(fā)機構(gòu)”導(dǎo)出
4.3.2 把導(dǎo)出的cer文件導(dǎo)入到“受信任的根證書頒發(fā)機構(gòu)”
第三部分 綜上,一共生成了以下幾個文件
?Tomcat啟用HTTPS協(xié)議之JDK工具keytool
需求:平臺原本是用http訪問的缘屹,為了保證數(shù)據(jù)傳輸?shù)耐暾约胺乐菇涌诒槐O(jiān)聽凛剥,甲方要求將平臺改為https訪問。
原因:HTTP 的連接很簡單轻姿,是無狀態(tài)的犁珠;HTTPS?協(xié)議是由 SSL+HTTP 協(xié)議構(gòu)建的可進行加密傳輸逻炊、身份認證的網(wǎng)絡(luò)協(xié)議,比 HTTP 協(xié)議安全
方案1犁享、在tomcat中修改server.xml配置余素,使用jdk自帶工具keytool生成ssl證書,使平臺可以通過https訪問炊昆。
方案2桨吊、通過Nginx代理的方式將https轉(zhuǎn)為http,已達到上述目的凤巨。
此文記錄方案1的詳細操作视乐,流程比較繁瑣,但絕對可以成功磅甩。
第一部分:如下操作完炊林,即可通過https://ip:8843/projectName訪問平臺,如下圖卷要。問題是訪問會提示“此站點不安全”渣聚,點擊“詳細信息”中的“轉(zhuǎn)到此網(wǎng)頁(不推薦)”,即可打開平臺僧叉。
1奕枝、首先需要安裝jdk(安裝方法自行百度),本文用的是jdk1.8瓶堕,在安裝路徑下找keytool.exe电媳。
2、在keytool中按住shift+右鍵淮腾,點擊在此處打開Powershell窗口监婶,打開的命令窗口即keytool.exe所在的目錄,后續(xù)的命令均在此處執(zhí)行宛蚓。
3激捏、在d盤下創(chuàng)建keys文件,后續(xù)命令生成的文件均在此目錄下
4凄吏、執(zhí)行以下命令:keytool?-genkey?-alias?tomcat?-keypass?123456?-keyalg?RSA?-keysize?1024?-validity?365?-keystore?D:/keys/tomcat.keystore?-storepass?123456
命令中重點關(guān)注參數(shù):別名-alias tomcat远舅,記住這個tomcat,后面用的到痕钢。-keypass 密碼图柏,這個非常重要,后面用的到任连。-keystore 路徑蚤吹,這個是生成tomcat.keystore的路徑。
輸入內(nèi)容中重點參數(shù):您的名字與姓氏是什么随抠?這個填寫要使用https訪問的平臺ip距辆,其他的可以是anything
5余佃、將生成的tomcat.keystore放到平臺所在服務(wù)器下(/root/key),
6跨算、修改tomcat下conf中的server.xml爆土,增加如下配置,重點關(guān)注路徑(tomcat.keystore所在的路徑)和密碼(生成tomcat.keystore時用的密碼):
? ? <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"?maxThreads="150" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" keystoreFile="/root/key/tomcat.keystore" keystorePass="123456"? />
7诸蚕、以上配置完成后重啟tomcat步势,第一部分操作完成,結(jié)果應(yīng)該入開始部分的描述背犯。
第二部分 如下操作完坏瘩,即可通過https正常訪問平臺,沒有“此站點不安全”的提示漠魏。
0倔矾、嘗試過降低ie安全級別,加入信任站點等方式柱锹,仍有“此站點不安全”的提示哪自,因此不得不繼續(xù)進行了。
1禁熏、為客戶端生成證書壤巷,以便讓服務(wù)器來驗證,證書格式應(yīng)該是PKCS12瞧毙。執(zhí)行如下命令:keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore D:/keys/client.p12 -storepass 123456
執(zhí)行后會在d:/keys下生成client.p12文件胧华。重點關(guān)注-alias 別名,后續(xù)用的到宙彪。-validity 驗證有效期限矩动。
命令之后會輸入您的名字與姓氏是什么,此處輸入平臺的ip释漆,其他的選項可以是anything悲没。
2、讓服務(wù)器信任客戶端證書
2.1?由于不能直接將PKCS12格式的證書庫導(dǎo)入灵汪,必須先把客戶端證書導(dǎo)出為一個單獨的CER文件。執(zhí)行命令: keytool -export -alias client -keystore D:/keys/client.p12 -storetype PKCS12 -keypass 123456 -file D:/keys/client.cer
秘鑰庫口令即上文輸入的123456
2.2將該文件導(dǎo)入到服務(wù)器的證書庫柑潦,添加為一個信任證書,執(zhí)行命令:keytool -import -v -file D:/keys/client.cer -keystore D:/keys/tomcat.keystor
秘鑰庫口令即上文輸入的123456
2.3完成之后通過list命令查看服務(wù)器的證書庫享言,可以看到兩個證書,一個是服務(wù)器證書渗鬼,一個是受信任的客戶端證書:keytool?-list?-v?-keystore?D:/keys/tomcat.keystore
3.讓客戶端信任服務(wù)器證書览露,由于是雙向SSL認證,客戶端也要驗證服務(wù)器證書譬胎,因此差牛,必須把服務(wù)器證書添加到瀏覽器的“受信任的根證書頒發(fā)機構(gòu)”命锄。由于不能直接把keystore格式的證書庫導(dǎo)入,必須先把服務(wù)器證書導(dǎo)出為一個單獨的CER文件偏化,執(zhí)行命令:keytool -keystore D:/keys/tomcat.keystore -export -alias tomcat -file D:/keys/server.cer
4脐恩、雙擊server.cer文件,按照提示安裝證書侦讨,將證書填入到“受信任的根證書頒發(fā)機構(gòu)”
4.2 打開ie的Internet選項驶冒,切換到內(nèi)容,點擊證書韵卤,選擇中間證書頒發(fā)機構(gòu)骗污,即可查看到自己安裝的證書。
4.3 接下來要做的就是要把證書從“中間證書頒發(fā)機構(gòu)”導(dǎo)出沈条,然后導(dǎo)入到“受信任的根證書頒發(fā)機構(gòu)”
4.3.1 把證書從“中間證書頒發(fā)機構(gòu)”導(dǎo)出
4.3.2 把導(dǎo)出的cer文件導(dǎo)入到“受信任的根證書頒發(fā)機構(gòu)”
第三部分 綜上需忿,一共生成了以下幾個文件
1、首先需要安裝jdk(安裝方法自行百度)蜡歹,本文用的是jdk1.8屋厘,在安裝路徑下找keytool.exe。
2季稳、在keytool中按住shift+右鍵擅这,點擊在此處打開Powershell窗口,打開的命令窗口即keytool.exe所在的目錄景鼠,后續(xù)的命令均在此處執(zhí)行仲翎。
3、在d盤下創(chuàng)建keys文件铛漓,后續(xù)命令生成的文件均在此目錄下
4溯香、執(zhí)行以下命令:keytool?-genkey?-alias?tomcat?-keypass?123456?-keyalg?RSA?-keysize?1024?-validity?365?-keystore?D:/keys/tomcat.keystore?-storepass?123456
命令中重點關(guān)注參數(shù):別名-alias tomcat,記住這個tomcat浓恶,后面用的到玫坛。-keypass 密碼,這個非常重要包晰,后面用的到湿镀。-keystore 路徑,這個是生成tomcat.keystore的路徑伐憾。
輸入內(nèi)容中重點參數(shù):您的名字與姓氏是什么勉痴?這個填寫要使用https訪問的平臺ip,其他的可以是anything
5树肃、將生成的tomcat.keystore放到平臺所在服務(wù)器下(/root/key)蒸矛,
6、修改tomcat下conf中的server.xml,增加如下配置雏掠,重點關(guān)注路徑(tomcat.keystore所在的路徑)和密碼(生成tomcat.keystore時用的密碼):
? ? <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"?maxThreads="150" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" keystoreFile="/root/key/tomcat.keystore" keystorePass="123456"? />
7斩祭、以上配置完成后重啟tomcat,第一部分操作完成乡话,結(jié)果應(yīng)該入開始部分的描述摧玫。
第二部分 如下操作完,即可通過https正常訪問平臺蚊伞,沒有“此站點不安全”的提示席赂。
0、嘗試過降低ie安全級別时迫,加入信任站點等方式颅停,仍有“此站點不安全”的提示,因此不得不繼續(xù)進行了掠拳。
1癞揉、為客戶端生成證書,以便讓服務(wù)器來驗證溺欧,證書格式應(yīng)該是PKCS12喊熟。執(zhí)行如下命令:keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore D:/keys/client.p12 -storepass 123456
執(zhí)行后會在d:/keys下生成client.p12文件。重點關(guān)注-alias 別名姐刁,后續(xù)用的到芥牌。-validity 驗證有效期限。
命令之后會輸入您的名字與姓氏是什么聂使,此處輸入平臺的ip壁拉,其他的選項可以是anything。
2柏靶、讓服務(wù)器信任客戶端證書
2.1?由于不能直接將PKCS12格式的證書庫導(dǎo)入弃理,必須先把客戶端證書導(dǎo)出為一個單獨的CER文件。執(zhí)行命令: keytool -export -alias client -keystore D:/keys/client.p12 -storetype PKCS12 -keypass 123456 -file D:/keys/client.cer
秘鑰庫口令即上文輸入的123456
2.2將該文件導(dǎo)入到服務(wù)器的證書庫屎蜓,添加為一個信任證書,執(zhí)行命令:keytool -import -v -file D:/keys/client.cer -keystore D:/keys/tomcat.keystor
秘鑰庫口令即上文輸入的123456
2.3完成之后通過list命令查看服務(wù)器的證書庫痘昌,可以看到兩個證書,一個是服務(wù)器證書炬转,一個是受信任的客戶端證書:keytool?-list?-v?-keystore?D:/keys/tomcat.keystore
3.讓客戶端信任服務(wù)器證書辆苔,由于是雙向SSL認證,客戶端也要驗證服務(wù)器證書扼劈,因此驻啤,必須把服務(wù)器證書添加到瀏覽器的“受信任的根證書頒發(fā)機構(gòu)”。由于不能直接把keystore格式的證書庫導(dǎo)入测僵,必須先把服務(wù)器證書導(dǎo)出為一個單獨的CER文件街佑,執(zhí)行命令:keytool -keystore D:/keys/tomcat.keystore -export -alias tomcat -file D:/keys/server.cer
4、雙擊server.cer文件捍靠,按照提示安裝證書沐旨,將證書填入到“受信任的根證書頒發(fā)機構(gòu)”
4.2 打開ie的Internet選項,切換到內(nèi)容榨婆,點擊證書磁携,選擇中間證書頒發(fā)機構(gòu),即可查看到自己安裝的證書良风。
4.3 接下來要做的就是要把證書從“中間證書頒發(fā)機構(gòu)”導(dǎo)出谊迄,然后導(dǎo)入到“受信任的根證書頒發(fā)機構(gòu)”
4.3.1 把證書從“中間證書頒發(fā)機構(gòu)”導(dǎo)出
4.3.2 把導(dǎo)出的cer文件導(dǎo)入到“受信任的根證書頒發(fā)機構(gòu)”
第三部分 綜上,一共生成了以下幾個文件