tomcat8.5對(duì)jdk版本有要求嗎 jdk1.8和tomcat 7不兼容么?
jdk1.8和tomcat 7不兼容么?你說(shuō)說(shuō)看反了,而應(yīng)該問(wèn)jdk1.8支持什么tomcat7嗎?tomcat底層運(yùn)行的是java的Socket,也就是說(shuō)tomcat是在jdk環(huán)境下正常運(yùn)行的。但是
jdk1.8和tomcat 7不兼容么?
你說(shuō)說(shuō)看反了,而應(yīng)該問(wèn)jdk1.8支持什么tomcat7嗎?tomcat底層運(yùn)行的是java的Socket,也就是說(shuō)tomcat是在jdk環(huán)境下正常運(yùn)行的。但是這也不是問(wèn)題,tomcat其實(shí)應(yīng)該是用java語(yǔ)言寫(xiě)的,java版本高1.8肯定支持tomcat7了,以前nginx7在某個(gè)版本(7.0.72,詳細(xì)記不不清楚了)之前我還是用jdk1.6寫(xiě)的,7.0.72之后是jdk1.7寫(xiě)的。這樣的話jdk1.8那肯定是支持什么tomcat7的
jdk13和tomcat對(duì)應(yīng)版本?
jdk13算得都很高的Java開(kāi)發(fā)版本了,Tomcat是沒(méi)有對(duì)應(yīng)版本的,jdk大都能兼容,現(xiàn)在象是Tomcat7及以上
jdk證書(shū)生成原理?
Tomcat服務(wù)器配置https分流認(rèn)證,建議使用JDK的keytool生成證書(shū)(適用規(guī)定于web、安卓、IOS)
一、原理
:平時(shí)瀏覽網(wǎng)頁(yè)時(shí)候不使用的一種協(xié)議。HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密文件的(明文),因此使用HTTP協(xié)議傳輸隱私信息相當(dāng)不安全。
:是為可以保證隱私數(shù)據(jù)能加密傳輸,區(qū)分SSL/TLS協(xié)議主要用于對(duì)HTTP協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行加密,也就是HTTPS。
二、只能說(shuō)明
1.原因:因有些情況使用到HTTPS也就是SSL證書(shū)驗(yàn)正以便于加密信息,所以才建議使用證書(shū)
2.中,選擇性:自簽免費(fèi),不是需要金額,CA的收費(fèi)5月和11月都要不給錢(qián)的,具體詳細(xì)多少還沒(méi)有了解
3.途徑:有多種,本人能找到了兩種,一個(gè)的本篇文章敘述的JDK自帶的。,也有一個(gè)是OPENSSL也可以做的。這里不可以體現(xiàn)不出來(lái)。
4.生成環(huán)境與工具:windows.jdk1.8,tomcat8
三、步驟
1.服務(wù)器證書(shū)
1.1再次進(jìn)入到j(luò)dk中jre目錄控制臺(tái)中;
可以在jre文件中按住shift鼠標(biāo)右鍵先打開(kāi)控制臺(tái)命令
或則cmd新的命令cdC:ProgramFilesJavajre1.8.0_91outside
1.2.按照pkcs12新的命令生成服務(wù)端證書(shū)(庫(kù))
openssl-genkey-v-aliasserver-keyalgRSA-keystore-validity36500
參數(shù)只能證明::將名為的證書(shū)保存到到G盤(pán)目錄下
-validity36500:證書(shū)有效期,36500表示100年,默認(rèn)值是90天
server:可以自定義證書(shū)名稱(chēng)
在這里插入圖片描述
輸入輸入密鑰庫(kù)口令:keystore密碼(題中不使用123456)此密碼是隱式性的,因?yàn)闊o(wú)法看到
您的名字與姓氏是什么:前提是是TOMCAT布署主機(jī)的域名或是IP[如:也可以1192.168.0.1](應(yīng)該是你將來(lái)要在瀏覽器中然后輸入的訪問(wèn)地址),
不然瀏覽器會(huì)提示框告誡窗口,總是顯示用戶證書(shū)與處域不看操作。在本地做變更土地性質(zhì)測(cè)量時(shí),應(yīng)填上“l(fā)ocalhost”。
其他的可以隨便地填寫(xiě)好目前還沒(méi)有會(huì)出現(xiàn)什么特別情況
然后輸入的密鑰口令:直接回車(chē).
2.客戶端證書(shū)
2.1證書(shū)格式應(yīng)該是是PKCS12,包括jks模式。這另一個(gè)P12證書(shū)是給瀏覽器和IOS客戶端驗(yàn)證專(zhuān)用,而安卓不能用keystore的密碼庫(kù)因?yàn)橐蒵ks然后實(shí)際工具裝換成bks。
2.1.1以下是加工生產(chǎn)安卓端所得用jks文件
jarsigner-genkeypair-aliasclient-keyalgRSA-validity36500-password123456-storepass123456-keystoreG:client.jks
在這里插入圖片描述
其中:-username123456意思是密碼是123456(轉(zhuǎn)換成時(shí)是需要都用到)其他的同上。
2.1.2生成氣體p12文件
pkcs12-genkey-v-aliasmykey-keyalgRSA-storetypePKCS12-keystoreG:mykey.p12
在這里插入圖片描述
去相關(guān)信息同上,密碼這邊打比方是123456
3.讓服務(wù)器信任客戶端證書(shū)
3.1的原因不能不能直接將PKCS12格式以及jks格式的的證書(shū)庫(kù)導(dǎo)出,要先把客戶端證書(shū)導(dǎo)出來(lái)為一個(gè)不能的CER文件,可以使用追加命令:(下面要會(huì)用到客戶端證書(shū)密碼“123456”)
P12生成cer
jarsigner-export-aliasmykey-passphraseG:mykey.p12-storetypePKCS12-storepass123456-rfc-fileG:mykey.cer
jks生成cer
3.2將證書(shū)再導(dǎo)入到服務(wù)器的證書(shū)庫(kù)中
p12轉(zhuǎn)換的cer導(dǎo)入到到server庫(kù)中
pkcs12-import-v-fileG:mykey.cer-keystore
將jks轉(zhuǎn)換的cer導(dǎo)入到到server庫(kù)中
keytool-import-v-aliasclient-fileG:client.cer-keystore-storepass123456
4.單向驗(yàn)證
由于是上下行SSL認(rèn)證,客戶端也要驗(yàn)證驗(yàn)證服務(wù)器證書(shū)。把服務(wù)器證書(shū)導(dǎo)入為一個(gè)另外的CER文件可以提供給客戶端,可以使用萬(wàn)分感謝命令:
pkcs12-keystore-export-aliasserver-fileG:server.cer
到此證書(shū)生成結(jié)束
3.證書(shū)的使用配置
3.1瀏覽器服務(wù)器配置
3.1.1服務(wù)器tomcat的配置
然后打開(kāi)Tomcat根目錄下的/conf/server.xml,找不到Connector port#348443#34配置段,改為::
clientAuth:設(shè)置有無(wú)上下行修改密保,設(shè)置成為false,設(shè)置中為true代表雙向驗(yàn)證
keystoreFile:服務(wù)器證書(shū)文件路徑
keystorePass:服務(wù)器證書(shū)密碼
truststoreFile:為了不驗(yàn)證客戶端證書(shū)的根證書(shū),故當(dāng)中是服務(wù)器證書(shū)
truststorePass:根證書(shū)密碼
瀏覽器輸入(證書(shū)沒(méi)有配置)
3.1.2右鍵點(diǎn)擊“mykey.p12”文件導(dǎo)入客戶端證書(shū)
再度可以使用瀏覽器訪問(wèn)服務(wù)端,瀏覽器要讓我們你選使用的證書(shū)。
3.1.3.文件導(dǎo)入服務(wù)器公鑰證書(shū)(server.cer)
因此是自簽名的證書(shū),為盡量避免每次都提示不安全的。這里右擊server.cer安裝好服務(wù)器證書(shū)。
注意:將證書(shū)填入到“受絕對(duì)信任的根證書(shū)頒發(fā)機(jī)構(gòu)”
在這里插入圖片詳細(xì)解釋
再一次然后再訪問(wèn)網(wǎng)絡(luò)服務(wù)器,會(huì)發(fā)現(xiàn)沒(méi)有不方便的提示了,同時(shí)瀏覽器地址欄上也有個(gè)“鎖”圖標(biāo),來(lái)表示本次會(huì)話早通過(guò)HTTPS頓井站驗(yàn)正。
3.2IOS配置
直接把P12文件以及sever.cer文件給IOS開(kāi)發(fā)人員就行了
3.3android配置基于Portecle1.9
需要把jks裝換成bks讓安卓能無(wú)法識(shí)別驗(yàn)證步驟追加:
1.鼠標(biāo)雙擊運(yùn)行portecle.jar
在這里插入圖片描述
此處然后輸入的密碼不是你生成的bks文件時(shí)所帶的密碼(123456)
在這里插入圖片描述
然后再生成bks文件
生成BKS
這個(gè)密碼不是你給安卓人員的他們要解三角形這個(gè)證書(shū)得用副本(123456)
在這里插入圖片詳細(xì)解釋
到最后顯示SUCCESSFUL它表示最終
在這里插入圖片描述
**重點(diǎn):**導(dǎo)致生成生成功了后不需要達(dá)到的,文件名要先加.bks結(jié)尾要不就真接生成了文件了,安卓識(shí)別不了
在這里插入圖片描述
此時(shí)把.bks文件和sever.cer文件給安卓開(kāi)發(fā)人員
后來(lái)滿tomcat服務(wù)器走h(yuǎn)ttps
然后打開(kāi)Tomcat直接安裝目錄中conf/web.xml文件,在最后面加上以上內(nèi)容即可
CLIENT-CERTClient Cert Users-guessArea
SSL
/*
CONFIDENTIAL
四、其他查找說(shuō)明
在用工具轉(zhuǎn)換三次時(shí)會(huì)報(bào)異樣這是畢竟要是密鑰大于0128,會(huì)一拋Illegalkeysize異常.因?yàn)槊荑€長(zhǎng)度是受限制的,java運(yùn)行時(shí)環(huán)境讀到的是受限的policy文件.文件東南邊${java_home}/jre/lib/security,這種限制是而且美國(guó)對(duì)軟件出口的控制
解決方案:去官方上網(wǎng)下載JCE無(wú)限制權(quán)限策略文件。