非对称加密算法
对称加密算法需要两个密钥:公开密钥( publickey简称公钥)和私有密钥( privatekey简称私钥)。
公钥与私钥是一对,如果用私钥对数据进行加密,只有用对应的公钥才能解密。
jwt令牌生成采用非对称加密
生成密钥证书
- 公私钥对可以使用jdk的命令 keytodl来生成,首先来看下这个命令下有哪些参数
- 生成密钥证书文件,每个证书包含公钥和私钥执行以下命令
keytool -genkeypair -alias oauth2 -keyalg RSA -keypass oauth2 -keystore oauth2.jks -storepass oauth2
别名为 oauth2,秘钥算法为RSA,秘钥口令为 oauth2,秘钥库(文件)名称为 oauth2」ks,秘钥库(文件)口令为 oauth2。输入命令回车后,后面还问题需要
最后输入y表示确定.
根据密钥证书获取公钥
安装 OpenSSL
OpenSSL 是一个加解密工具包,可以使用 OpenSSL 来获取公钥
下载网址:http://slproweb.com/products/Win32OpenSSL.html
一直下一步并配置环境变量
进入刚刚生成oauth2.jks 的文件夹
keytool -list -rfc --keystore oauth2.jks | openssl x509 -inform pem -pubkey
并输入口令 oauth2
就会生成对应的公钥
复制打印出来的公钥,注意:-BEGIN PUBLIC KEY-和- END PUBLIC
KEY 要带上