91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBootSecurity中OAuth2.0如何進行非對稱加密

發布時間:2021-09-28 09:32:22 來源:億速云 閱讀:355 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關SpringBootSecurity中OAuth2.0如何進行非對稱加密,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

JWT轉換器

前面的例子中,都是在授權服務配置類中配置了一個很簡單的jwt轉換器,如下:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

可以看到我們只用setSigningKey方法配置了一個秘鑰,這里使用的是簡單的對稱加密的方式來加密jwt內容,同時資源服務器中使用的也是同樣的秘鑰配置jwt轉換器:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

除了對稱加密的方式,生產環境使用非常多的是更加安全的非對稱加密的方式來加密jwt。

生成公私鑰

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

SpringBootSecurity中OAuth2.0如何進行非對稱加密

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

SpringBootSecurity中OAuth2.0如何進行非對稱加密

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

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

從參數說明可以看出,別名為 oauth3,秘鑰算法為 RSA,秘鑰口令為 oauth3,秘鑰庫(文件)名稱為 oauth3.jks,秘鑰庫口令為oauth3。輸入命令回車后,后面還有七個問題需要回答,分別是(問題后面括號內的內容是我的回答):

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

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

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

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

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

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

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

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

SpringBootSecurity中OAuth2.0如何進行非對稱加密

生成的秘鑰庫文件如下:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

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

修改授權服務配置類

這里只需要修改jwt轉換器即可:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

其中,"oauth3".toCharArray() 這里配置的是口令,getKeyPair("oauth3") 這里配置的是別名。

根據jks文件獲取公鑰

輸入命令:

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

會打印出公鑰:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

在資源服務的resources文件夾下面,新建一個pub.txt文件,將公鑰復制進去:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

SpringBootSecurity中OAuth2.0如何進行非對稱加密

這里復制的內容就是兩行等號之間的內容。

修改資源服務配置類

資源服務配置類也只需要修改jwt轉換器配置:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

setSigningKey方法支持對稱和非對稱加密,它會對秘鑰進行判斷,來看一下源碼:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

測試

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

SpringBootSecurity中OAuth2.0如何進行非對稱加密

訪問接口:

SpringBootSecurity中OAuth2.0如何進行非對稱加密

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

關于SpringBootSecurity中OAuth2.0如何進行非對稱加密就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磴口县| 隆昌县| 原平市| 齐河县| 湟中县| 平罗县| 宣城市| 桐城市| 南京市| 海兴县| 平乡县| 达日县| 诏安县| 固安县| 定安县| 黑水县| 彰武县| 德昌县| 民和| 三亚市| 邢台市| 万宁市| 富平县| 绥芬河市| 改则县| 榆中县| 太原市| 平湖市| 通化市| 神农架林区| 竹山县| 海阳市| 阿荣旗| 漾濞| 紫金县| 宜阳县| 贵定县| 茂名市| 淮安市| 吉木萨尔县| 礼泉县|