uKey双向认证https
最終效果,插上uKey(專業術語叫uKey,長得像一個普通的u盤),可以訪問某個web系統,拔掉uKey,web系統顯示沒有權限
一 基礎概念
單向認證:當客戶訪問服務器的時候,客戶方去校驗服務器是否是自己想去訪問的服務器;
雙向認證:不僅僅需要用戶瀏覽器校驗服務器數字證書,還需要服務器端驗證用戶是否是可信的;
二 單向認證流程(springboot項目為例)
1 制作證書
?
直接利用keytools工具生成 keytool -genkey -alias client -keyalg RSA -keystore client.p12 -validity 360 -storepass 123456 -storetype PKCS12 -keysize 2048 -dname "CN=127.0.0.1, OU=dazhen, O=dazhen, L=CD, ST=CD, C=CN"2 配置證書
?
## 服務端 server.ssl.trust-store=D:\\ca\\www\\127\\server.p12 server.ssl.trust-store-password=123456 server.ssl.trust-store-type=JKS server.ssl.trust-store-provider=SUN # need 是必須要驗證,want是可選驗證(想不通如果可選還做單向驗證干嘛) server.ssl.client-auth=need## 客戶端(也就是瀏覽器) 安裝server.p12證書到瀏覽器即可image.png
3 效果展示
啟動項目,打開網站,會彈出如下,證明單向驗證成功;
image.png
三 雙向認證流程(springboot項目為例)
1 制作證書
?
## 制作server.p12 服務端證書 keytool -genkey -alias server -keyalg RSA -keystore server.p12 -validity 360 -storepass 123456 -storetype PKCS12 -keysize 2048 -dname "CN=127.0.0.1, OU=dazhen, O=dazhen, L=CD, ST=CD, C=CN"## 制作client.p12客戶端證書 keytool -genkey -alias client -keyalg RSA -keystore client.p12 -validity 360 -storepass 123456 -storetype PKCS12 -keysize 2048 -dname "CN=127.0.0.1, OU=dazhen, O=dazhen, L=CD, ST=CD, C=CN"## 將client.p12導出到client.cer keytool -keystore client.p12 -export -alias client -file client.cer## 將client.cer導入server.p12 keytool -import -file client.cer -keystore server.p12## 查看server.p12 中已經存在的證書列表 keytool -list -keystore server.p12 -storepass 123456 -storetype PKCS122 配置證書
?
# 服務器端證書檢驗 server.ssl.key-store=D:\\ca\\www\\127\\server.p12 server.ssl.key-store-password=123456 server.ssl.key-store-type=PKCS12 server.ssl.key-alias=server## 客戶端證書校驗 server.ssl.trust-store=D:\\ca\\www\\127\\server.p12 server.ssl.trust-store-password=123456 server.ssl.trust-store-type=JKS server.ssl.trust-store-provider=SUN server.ssl.client-auth=need3 配置ukey環境(為了將p12證書按照到ukey)
ukey只是一個介質,里面需要有一個容器軟件,可以安裝p12證書。
電腦上還需按照一個管理程序,2個功能,
1,ukey查到電腦上,可以識別出ukey里的證書(單向認證是把證書安裝在瀏覽器,雙向認證是把證書安裝在ukey);
2,可以對識別的ukey里的證書進行增刪查,如下圖所示
?
image.png
image.png
剛開始都不知道這個東西叫uKey,一頓谷歌,看到ukey里也需一些管理軟件,時間+精力都不允許(里面大多是C#語言開發的)。想起萬能的taobao,最后在一家店鋪55大洋買了ukey(帶說明書)
各種嘗試,咨詢售后,最后總結出來安裝軟件步驟(win10)
?
win10系統需要EPASS1000ND(支持win10).zip 1,先安裝D:\EPASS1000ND(支持win10)\win2.5\pki\V2.5-20150919\PKIcdrom\CDROM_CN\PKI\Redist\cn\eps1knd_stdSimpChinese.exe2,再安裝D:\EPASS1000ND(支持win10)\win2.5\pki\V2.5-20150919\PKIcdrom\CDROM_CN\PKI\Utilities\ePassNgMgr.exe3,初始化D:\EPASS1000ND(支持win10)\win2.5\pki\V2.5-20150919\PKIcdrom\CDROM_CN\PKI\Utilities\PKIINIT\PKIInit_M32.exe4 效果驗收
a 不插ukey,打開系統,提示無權限;
b 插上ukey,打開系統,瀏覽器彈出如下窗口
image.png
c 點擊確定,正常訪問網站;
d 拔掉ukey+關閉瀏覽器器,再次打開網站,提示無權限;
注意:如果bc步驟后,只拔ukey,因為瀏覽器對證書有一段時間緩存,所以還會繼續正常訪問網站
pc上需要安裝的識別uKey證書的軟件在這里
https://download.csdn.net/download/WANTAWAY314/12923620
總結
以上是生活随笔為你收集整理的uKey双向认证https的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信背后的产品观,确实厉害!
- 下一篇: dnf脚本色块补丁_DNF:史上最难地图