意外,SpringBootSecurity学习培训(21)前后端分离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜

188体育 117℃ 0

JWT转换器

前面的比如中,都是在授权服务装备类中装备了一个告诫很简略的jwt转换器,如下:

能够看到咱们只用setSigningKey办法装备了一个秘钥,这儿运用的是简略的对称加密的办法来加密jwt内容,一起资源服务器中运用的也是相同的秘钥装备jwt转换器:

除了对称加密的办法,出产环境运用十分多的是愈加安全的非对称加密的办法来加密jwt。

生成公私钥

公私钥对能够运用jdk的指令 keytool 来生成,首要来看一下这个意外,SpringBootSecurity学习训练(21)前后端别离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜指令下有哪些参数:

中文的参数阐明很明晰,咱们需求运用 -genkeypair 参数生成秘钥对。再来看一下 kag电子eytool -genkeypair 之下还有哪些参数:

这些都是设置密钥对的特点参数。下学长的隐秘情人面咱们来运用keytool指令生成JKS(Java KeySt意外,SpringBootSecurity学习训练(21)前后端别离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜ore)文件,指令如下:

  • keytool -genkeyp薛丁山air -alias o赵四章auth2 -keyalg RSA -keypass oauth2 -透视高手keystore oauth钢铁侠12.jks -storepass oauth2

从参数阐明能够看意外,SpringBootSecurity学习训练(21)前后端别离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜出,别号为 oauth2,秘钥算法为 RSA,秘钥口令为 oauth2,秘钥库(文件)称号为 oauth2.j男人不醉ks,秘钥库口令为oauth2。输入指令回车后,后边还有七个问题需求答复,分别是(问题后边括号内的内容是我的答复)广东电信:

  • 您的姓名与姓氏是什么?(oauth2)
  • 您的安排单位称号是什么?(oauth2)
  • 您的安排称号是什么?(oauth2)
  • 您地点的城市或区域称号是什么?(bj)
  • 您地点的省/市/自治区称号是什么?(bj)
  • 该单位的双字母国家/区域代码是什么?(cn)
  • CN=oau哈尔贾th2, OU=oauth2, O=oauth2, L=bj, ST=bj, C=c有道词典在线翻译n是否正确?(是)

最终一个答复 是 输入完回车后,jk意外,SpringBootSecurity学习训练(21)前后端别离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜s文件就生成了,详细进程如下:鲁克玛在哪

生成的秘钥库马来西亚旅行文件如下:

生成完成后,将jks文件拷贝到resources汗汗文件夹下即可。

修正授权服务装备类

这儿只需求修正jwt转换器即意外,SpringBootSecurity学习训练(21)前后端别离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜可:

其间,"oauth2".toCharArray() 这儿装备的是口令,getKeyPair("oauth2") 这儿装备的是别号。

依据jks文件获取公钥

输入指令:

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

会打印出公钥:

在资源服务的resources文件夹下面,新建一个pub.txt文件,将公钥仿制进去:

这儿小儿垂钓古诗仿制的内容便是两行等号手写之间的内容。

修正资源服务装备类

资源服务装备类也只需求修正jw意外,SpringBootSecurity学习训练(21)前后端别离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜t转换器装备:

setSigningKey办法支撑对称和非对称加密,它会对秘钥进行判别而,来看一下源码:

测验

jwt转换器加密办法修正完成了,测验流程依照曾经的办法获取令牌,拜访受维护资源即可:

拜访接口:

代码地址:https://gitee.com意外,SpringBootSecurity学习训练(21)前后端别离版之OAuth2.0非对称加密-ope体育电竞官网_ope电竞官网_ope电竞竞猜/blueses/spring-boot-security 26 27

本文由博钻石主力客一文多发渠道 https://破坏性骨折openwrite.cn 发布!