阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_12-SpringSecurityOauth2研究-JWT研究-生成私钥和公钥
3.6.3 JWT入门
Spring Security 提供对JWT的支持,本节我们使用Spring Security 提供的JwtHelper来创建JWT令牌,校验JWT令牌
等操作。
3.6.3.1 生成私钥和公钥
JWT令牌生成采用非对称加密算法
1、生成密钥证书
下边命令生成密钥证书,采用RSA 算法每个证书包含公钥和私钥
keytool -genkeypair -alias xckey -keyalg RSA -keypass xuecheng -keystore xc.keystore -storepass
xuechengkeystore
Keytool 是一个java提供的证书管理工具,jdk自带的
-alias:密钥的别名
-keyalg:使用的hash算法
-keypass:密钥的访问密码(提取密钥就需要访问密码)
-keystore:密钥库文件名(密钥库是包含密钥的一个文件),xc.keystore保存了生成的证书
-storepass:密钥库的访问密码
查询证书信息:
keytool -list -keystore xc.keystore
删除别名
keytool -delete -alias xckey -keystore xc.keystore
生成证书
在桌面创建一个jwt的文件夹
打开这个文件夹,然后打开cmd窗口命令,把写好的命令粘贴过来
回车后会如下的提示
是否正确,输入y
这样就生成成功了。生成后的文件
查看证书的信息
看到的就是私钥的内容
2、导出公钥
openssl是一个加解密工具包,这里使用openssl来导出公钥信息。
安装 openssl:http://slproweb.com/products/Win32OpenSSL.html
安装资料目录下的Win64OpenSSL-1_1_0g.exe 这个工具是需要单独安装的
配置openssl的path环境变量,本教程配置在D:\OpenSSL-Win64\bin
cmd进入xc.keystore文件所在目录执行如下命令:
keytool ‐list ‐rfc ‐‐keystore xc.keystore | openssl x509 ‐inform pem ‐pubkey
输入密钥库密码:
下边这一段就是公钥内容:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAijyxMdq4S6L1Af1rtB8SjCZHNgsQG8JTfGy55eYvzG0B
/E4AudR2prSRBvF7NYPL47scRCNPgLnvbQczBHbBug6uOr78qnWsYxHlW6Aa5dI5NsmOD4DLtSw8eX0hFyK5F
j6ScYOSFBz9cd1nNTvx2+oIv0lJDcpQdQhsfgsEr1ntvWterZt/8r7xNN83gHYuZ6TM5MYvjQNBc5qC7Krs9wM7U
oQuL+s0X6RlOib7/mcLn/lFLsLDdYQAZkSDx/6+t+1oHdMarChIPYT1sx9Dwj2j2mvFNDTKKKKAq0cv14Vrhz67Vj
mz2yMJePDqUi0JYS2r0iIo7n8vN7s83v5uOQIDAQAB-----END PUBLIC KEY-----
将上边的公钥拷贝到文本文件中,合并为一行。
合并到一行里面
开头
结尾
课程管理的服务
公钥放在资源服务里面
最新文章
- libev安装与示例程序编译运行
- mysql 删除重复数据,并保存最新一条数据
- Atitit。 《吠陀》 《梨俱吠陀》overview 经读后感  是印度上古时期一些文献的总称
- Ehcache(05)——缓存的查询
- HDU 5266 pog loves szh III (LCA)
- 亲测 安装 mysql5.5 64位
- php目录函数
- Eclipse 扩展activiti-desinger 安装
- 原生aspx页面如何引用公共js和css
- python 之金玉良言 或许是最后一次给自己系统总结--已结
- Pandora 生成 Token
- 【博弈论】浅谈泛Nim游戏
- Python中的print、input函数以及Python中交换两个变量解析
- [Android]Animation 动画介绍和实现
- Fraction to Recurring Decimal(STRING-TYPE CONVERTION)
- 八款值得尝试的精美的 Linux 发行版(2017 版)
- Struts2 利用AJAX 导出大数据设置遮罩层
- 用递归方法求 n!
- 如何一键部署项目&;&;代码自动更新
- mp4文件数据格式解析