SpringBootSecurity學(xué)習(xí)(21)前后端分離版之OAuth2.0非對稱加密

JWT轉(zhuǎn)換器

前面的例子中,都是在授權(quán)服務(wù)配置類中配置了一個很簡單的jwt轉(zhuǎn)換器奢浑,如下:

file

可以看到我們只用setSigningKey方法配置了一個秘鑰邦马,這里使用的是簡單的對稱加密的方式來加密jwt內(nèi)容眼虱,同時資源服務(wù)器中使用的也是同樣的秘鑰配置jwt轉(zhuǎn)換器:

file

除了對稱加密的方式,生產(chǎn)環(huán)境使用非常多的是更加安全的非對稱加密的方式來加密jwt僵朗。

生成公私鑰

公私鑰對可以使用jdk的命令 keytool 來生成赖欣,首先來看一下這個命令下有哪些參數(shù):

file

中文的參數(shù)說明很清晰屑彻,我們需要使用 -genkeypair 參數(shù)生成秘鑰對。再來看一下 keytool -genkeypair 之下還有哪些參數(shù):

file

這些都是設(shè)置密鑰對的屬性參數(shù)顶吮。下面我們來使用keytool命令生成JKS(Java KeyStore)文件社牲,命令如下:

  • keytool -genkeypair -alias oauth2 -keyalg RSA -keypass oauth2 -keystore oauth2.jks -storepass oauth2

從參數(shù)說明可以看出,別名為 oauth2悴了,秘鑰算法為 RSA膳沽,秘鑰口令為 oauth2,秘鑰庫(文件)名稱為 oauth2.jks让禀,秘鑰庫口令為oauth2挑社。輸入命令回車后,后面還有七個問題需要回答巡揍,分別是(問題后面括號內(nèi)的內(nèi)容是我的回答):

  • 您的名字與姓氏是什么?(oauth2)

  • 您的組織單位名稱是什么?(oauth2)

  • 您的組織名稱是什么?(oauth2)

  • 您所在的城市或區(qū)域名稱是什么?(bj)

  • 您所在的省/市/自治區(qū)名稱是什么?(bj)

  • 該單位的雙字母國家/地區(qū)代碼是什么?(cn)

  • CN=oauth2, OU=oauth2, O=oauth2, L=bj, ST=bj, C=cn是否正確?(是)

最后一個回答 是 輸入完回車后痛阻,jks文件就生成了,具體過程如下:

file

生成的秘鑰庫文件如下:

file

生成完成后腮敌,將jks文件拷貝到resources文件夾下即可阱当。

修改授權(quán)服務(wù)配置類

這里只需要修改jwt轉(zhuǎn)換器即可:

file

其中,"oauth2".toCharArray() 這里配置的是口令糜工,getKeyPair("oauth2") 這里配置的是別名弊添。

根據(jù)jks文件獲取公鑰

輸入命令:

  • keytool -list -rfc -keystore oauth2.jks -storepass oauth2

會打印出公鑰:

file

在資源服務(wù)的resources文件夾下面,新建一個pub.txt文件捌木,將公鑰復(fù)制進(jìn)去:

file
file

這里復(fù)制的內(nèi)容就是兩行等號之間的內(nèi)容油坝。

修改資源服務(wù)配置類

資源服務(wù)配置類也只需要修改jwt轉(zhuǎn)換器配置:

file

setSigningKey方法支持對稱和非對稱加密,它會對秘鑰進(jìn)行判斷刨裆,來看一下源碼:

file

測試

jwt轉(zhuǎn)換器加密方式修改完成了澈圈,測試流程按照以前的方式獲取令牌,訪問受保護(hù)資源即可:

file

訪問接口:

file

代碼地址:https://gitee.com/blueses/spring-boot-security 26 27

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布帆啃!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瞬女,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子努潘,更是在濱河造成了極大的恐慌诽偷,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疯坤,死亡現(xiàn)場離奇詭異报慕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)贴膘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門卖子,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刑峡,你說我怎么就攤上這事洋闽。” “怎么了突梦?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵诫舅,是天一觀的道長。 經(jīng)常有香客問我宫患,道長刊懈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任娃闲,我火速辦了婚禮虚汛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘皇帮。我一直安慰自己卷哩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布属拾。 她就那樣靜靜地躺著将谊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渐白。 梳的紋絲不亂的頭發(fā)上尊浓,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機(jī)與錄音纯衍,去河邊找鬼栋齿。 笑死,一個胖子當(dāng)著我的面吹牛襟诸,可吹牛的內(nèi)容都是我干的褒颈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼励堡,長吁一口氣:“原來是場噩夢啊……” “哼谷丸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起应结,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤刨疼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鹅龄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揩慕,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年扮休,在試婚紗的時候發(fā)現(xiàn)自己被綠了迎卤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡玷坠,死狀恐怖蜗搔,靈堂內(nèi)的尸體忽然破棺而出劲藐,到底是詐尸還是另有隱情,我是刑警寧澤樟凄,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布酸些,位于F島的核電站迈倍,受9級特大地震影響喝噪,放射性物質(zhì)發(fā)生泄漏胶坠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一叔壤、第九天 我趴在偏房一處隱蔽的房頂上張望瞎饲。 院中可真熱鬧,春花似錦炼绘、人聲如沸嗅战。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仗哨。三九已至,卻和暖如春铅辞,著一層夾襖步出監(jiān)牢的瞬間厌漂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工斟珊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留苇倡,地道東北人。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓囤踩,卻偏偏與公主長得像旨椒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子堵漱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容