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)文件,命令如下:

从参数说明可以看出,别名为 oauth3,秘钥算法为 RSA,秘钥口令为 oauth3,秘钥库(文件)名称为 oauth3.jks,秘钥库口令为oauth3。输入命令回车后,后面还有七个问题需要回答,分别是(问题后面括号内的内容是我的回答):

最后一个回答 是 输入完回车后,jks文件就生成了,具体过程如下:

SpringBootSecurity中OAuth2.0如何进行非对称加密

生成的秘钥库文件如下:

SpringBootSecurity中OAuth2.0如何进行非对称加密

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

修改授权服务配置类

这里只需要修改jwt转换器即可:

SpringBootSecurity中OAuth2.0如何进行非对称加密

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

根据jks文件获取公钥

输入命令:

会打印出公钥:

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如何进行非对称加密就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 如何使用IdentityServer4进行OAuth2.0服务
  2. SpringBootSecurity中OAuth2.0如何进行应用登记

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oauth springboot

上一篇:怎么通过代理服务器提高速度

下一篇:如何实现Linux内核多路镜像流量聚合和复制

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》