千家信息网

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

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章将为大家详细讲解有关SpringBootSecurity中OAuth2.0如何进行非对称加密,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JW
千家信息网最后更新 2025年01月23日SpringBootSecurity中OAuth2.0如何进行非对称加密

这篇文章将为大家详细讲解有关SpringBootSecurity中OAuth2.0如何进行非对称加密,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

JWT转换器

前面的例子中,都是在授权服务配置类中配置了一个很简单的jwt转换器,如下:

可以看到我们只用setSigningKey方法配置了一个秘钥,这里使用的是简单的对称加密的方式来加密jwt内容,同时资源服务器中使用的也是同样的秘钥配置jwt转换器:

除了对称加密的方式,生产环境使用非常多的是更加安全的非对称加密的方式来加密jwt。

生成公私钥

公私钥对可以使用jdk的命令 keytool 来生成,首先来看一下这个命令下有哪些参数:

中文的参数说明很清晰,我们需要使用 -genkeypair 参数生成秘钥对。再来看一下 keytool -genkeypair 之下还有哪些参数:

这些都是设置密钥对的属性参数。下面我们来使用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文件就生成了,具体过程如下:

生成的秘钥库文件如下:

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

修改授权服务配置类

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

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

根据jks文件获取公钥

输入命令:

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

会打印出公钥:

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

这里复制的内容就是两行等号之间的内容。

修改资源服务配置类

资源服务配置类也只需要修改jwt转换器配置:

setSigningKey方法支持对称和非对称加密,它会对秘钥进行判断,来看一下源码:

测试

jwt转换器加密方式修改完成了,测试流程按照以前的方式获取令牌,访问受保护资源即可:

访问接口:

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

关于SpringBootSecurity中OAuth2.0如何进行非对称加密就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

配置 加密 文件 对称 生成 内容 参数 命令 转换器 服务 名称 方式 资源 服务配置 公钥 口令 输入 代码 公私 单位 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 hp服务器内存编号 福建语音网络技术经验丰富 郑州管理软件开发公司 奇安信网络安全市场 兴化进口网络技术批发价 宁波镇海区储存服务器 黑色沙漠季节服务器时间 一分钟看懂网络安全 软件开发企业安全性 浙江省计算机三级网络安全 宏基笔记本电脑无法连接服务器 学习系统软件开发需要多久 保电期间网络安全防护工作心得 网络安全教育课说课 新疆手机软件开发公司简介 中国网络安全病毒库 电子科技大学网络安全考研难吗 建发集团软件开发笔试题 服务器mp作用 区块链网络技术有限公司 创建网络安全示范单位工作开展 路北区电子网络技术不二之选 河南安卓软件开发定制费用 公众号软件开发服务费用 天台直销软件开发价格表 黑色沙漠季节服务器时间 谷歌服务器检索时出错 mysql数据库对比 燃烧远征各大服务器 恒生电子软件开发电脑
0