在線生成jks密鑰 jdk證書生成原理?
jdk證書生成原理?Tomcat服務(wù)器配置https分流認(rèn)證,不使用JDK的keytool生成證書(可以參照于web、安卓、IOS)一、原理:平時瀏覽網(wǎng)頁時候使用的一種協(xié)議。HTTP協(xié)議傳輸?shù)臄?shù)據(jù)也是
jdk證書生成原理?
Tomcat服務(wù)器配置https分流認(rèn)證,不使用JDK的keytool生成證書(可以參照于web、安卓、IOS)
一、原理
:平時瀏覽網(wǎng)頁時候使用的一種協(xié)議。HTTP協(xié)議傳輸?shù)臄?shù)據(jù)也是未加密的(明文),而使用HTTP協(xié)議傳輸隱私信息太不安全。
:目的是只要隱私數(shù)據(jù)能加密傳輸,區(qū)分SSL/TLS協(xié)議應(yīng)用于對HTTP協(xié)議傳輸?shù)臄?shù)據(jù)參與加密,也就是HTTPS。
二、只能證明
1.原因:因有些情況可以使用到HTTPS也就是SSL證書驗證驗證以便加密信息,因為不使用證書
2.中,選擇性:自簽付費,不需要金額,CA的收費1月和7月都要掏錢的,具體詳細(xì)多少是沒有了解
3.途徑:有多種,本人找不到了兩種,一個的本篇文章記敘的JDK那個軟件的。,還有一個一個是OPENSSL可以不做的。這里不體現(xiàn)了什么出來。
4.生成環(huán)境與工具:windows.jdk1.8,tomcat8
三、步驟
1.服務(wù)器證書
1.1進(jìn)入到到j(luò)dk中jre目錄控制臺中;
可以不在jre文件中首先按住shift鼠標(biāo)右鍵然后打開控制臺命令
或則cmd發(fā)出命令cdC:ProgramFilesJavajre1.8.0_91in
1.2.按照certutil下命令生成服務(wù)端證書(庫)
pkcs12-genkey-v-aliasserver-keyalgRSA-keystore-validity36500
參數(shù)那說明::將名為的證書保存到到G盤目錄下
-validity36500:證書有效期,36500來表示100年,默認(rèn)值是90天
server:下拉菜單證書名稱
在這里插入圖片描述
然后輸入密鑰庫口令:keystore密碼(舉例使用123456)此密碼是隱式性的,因為看不到
您的名字與姓氏是什么:前提是是TOMCAT部署主機(jī)的域名或者IP[如:或是1192.168.0.1](是你將來要在瀏覽器中然后輸入的訪問地址),
否則不瀏覽器會彈出來警告窗口,總是顯示用戶證書與的地方域不看操作。在本地做開發(fā)測試出來時,應(yīng)最后輸入“l(fā)ocalhost”。
其他的也可以很隨意地填寫好目前就沒會出現(xiàn)什么尤其情況
輸入的密鑰口令:再回車.
2.客戶端證書
2.1證書格式肯定是PKCS12,以及jks模式。這第一個P12證書是給瀏覽器和IOS客戶端驗證帶的,而安卓沒法用keystore的密碼庫因此要生成jks然后通過工具裝換成bks。
2.1.1以下是加工生產(chǎn)安卓端所帶的jks文件
jarsigner-genkeypair-aliasclient-keyalgRSA-validity36500-keypass123456-storepass123456-keystoreG:client.jks
在這里插入圖片描述
其中:-keypass123456它表示密碼是123456(轉(zhuǎn)換成時是需要要用)其他的同上。
2.1.2化合p12文件
certutil-genkey-v-aliasmykey-keyalgRSA-storetypePKCS12-keystoreG:mykey.p12
在這里插入圖片描述
去相關(guān)信息同上,密碼這邊舉例是123456
3.讓服務(wù)器無條件的信任客戶端證書
3.1因此又不能真接將PKCS12格式以及jks格式的的證書庫導(dǎo)出,要先把客戶端證書導(dǎo)出為一個分開來的CER文件,在用:命令:(下面要會用到客戶端證書密碼“123456”)
P12生成cer
jks生成cer
3.2將證書再導(dǎo)入到服務(wù)器的證書庫中
p12轉(zhuǎn)換的cer再導(dǎo)入到server庫中
jarsigner-import-v-fileG:mykey.cer-keystore
將jks可以轉(zhuǎn)換的cer導(dǎo)入到到server庫中
keytool-import-v-aliasclient-fileG:client.cer-keystore-storepass123456
4.上下行驗證
的原因是分流SSL認(rèn)證,客戶端也要修改密保服務(wù)器證書。把服務(wù)器證書文件導(dǎo)出為一個單獨的CER文件能提供給客戶端,不使用:命令:
pkcs12-keystore-export-aliasserver-fileG:server.cer
到此證書生成能夠完成
3.證書的使用配置
3.1瀏覽器服務(wù)器配置
3.1.1服務(wù)器tomcat的配置
打開Tomcas根目錄下的/conf/server.xml,找不到Connector port#348443#34配置段,可以修改為::
clientAuth:設(shè)置中是否需要單向修改密保,設(shè)置成為false,系統(tǒng)設(shè)置為true代表雙向驗證
keystoreFile:服務(wù)器證書文件路徑
keystorePass:服務(wù)器證書密碼
truststoreFile:用來修改密保客戶端證書的根證書,故當(dāng)中就是服務(wù)器證書
truststorePass:根證書密碼
瀏覽器輸入(證書沒有配置)
3.1.2雙擊“mykey.p12”再導(dǎo)入客戶端證書
再一次建議使用瀏覽器訪問服務(wù)端,瀏覽器只會我們選擇類型在用的證書。
3.1.3.導(dǎo)入到服務(wù)器公鑰證書(server.cer)
由于是自簽名的證書,為以免每次來都總是顯示不放心。這里左鍵雙擊server.cer完全安裝服務(wù)器證書。
盡量:將證書添寫到“受無條件的信任的根證書頒發(fā)機(jī)構(gòu)”
在這里插入圖片具體解釋
再度重新訪問網(wǎng)絡(luò)服務(wù)器,會才發(fā)現(xiàn)也沒不不會有危險的顯示了,而瀏覽器地址欄上也有個“鎖”圖標(biāo),意思是本次會話早就實際HTTPS分流驗證驗證。
3.2IOS配置
直接把P12文件包括sever.cer文件給IOS開發(fā)人員就行了
3.3android配置利用Portecle1.9
是需要把jks裝換成bks讓安卓能能識別驗證步驟萬分感謝:
1.右擊運(yùn)行portecle.jar
在這里插入圖片描述
此處鍵入的密碼就是你能生成的bks文件時所用的密碼(123456)
在這里插入圖片具體解釋
接著生成bks文件
生成氣體BKS
這個密碼是你給安卓人員的他們要解析這個證書得用洗技能(123456)
在這里插入圖片具體描述
之后電腦提示SUCCESSFUL它表示成功了
在這里插入圖片描述
**重點:**由于生成生最終后要一直保持的,文件名你必須加.bks結(jié)尾否則就再生成氣體了文件了,安卓識別不了
在這里插入圖片描述
此時把.bks文件和sever.cer文件給安卓開發(fā)人員
后來滿tomcat7走h(yuǎn)ttps
然后打開Tomcat直接安裝目錄中conf/web.xml文件,在最后面算上以下內(nèi)容即可
CLIENT-CERTClient Cert Users-onlyArea
SSL
/*
CONFIDENTIAL
四、其他咨詢說明
建議使用工具轉(zhuǎn)換一次時會報無比這是是因為要是密鑰為0128,會拋出Illegalkeysize極其.是因為密鑰長度是受限制的,java運(yùn)行時環(huán)境讀到的是上不了線的policy文件.文件中部${java_home}/jre/lib/security,這種限制是是因為美國對軟件出口的控制
解決方案:去官方上網(wǎng)下載JCE無限制權(quán)限策略文件。
jks是什么意思?
JKS是“JavaKeyStore”的縮寫,是Java語言開發(fā)的一種密鑰庫格式,它包含了證書和私鑰,也可以用來加密、認(rèn)證和簽署協(xié)議數(shù)字信息。