生成JWT的RSA非对称加密秘钥

生成JWT的RSA非对称加密秘钥

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用私钥对数据进行加密,只有用对应的公钥才能解密。

文件使用JDK自带的 keytool工具生成。

一、生成秘钥证书

  • 首先看一下 keytool命令下的参数。

需要查询某个命令下的参数,可以在该命令后面添加 -h查询。例如:查询 -genkeypair下面的参数。keytool -genkeypair -h

在这里插入图片描述

在这里插入图片描述

  • 生成密钥证书文件,每个证书包含公钥和私钥, 执行以下命令
keytool -genkeypair -alias oauth2 -keyalg RSA -keysize 1024 -keypass oauth2 -keystore oauth2.jks -storepass oauth2 -validity 3650

参数解析

-genkeypair:生成密钥对

-alias:证书的别名。在一个证书库文件中,别名是唯一用来区分多个证书的标识符

-keyalg:密钥的算法,非对称加密的话就是RSA

-keysize:密钥长度,一般都是1024

-keypass:密钥口令

-storepass:密钥库口令

-keystore:证书库文件保存的位置和文件名。如果路径写错的话,会出现报错信息。如果在路径下,证书库文件不存在,那么就会创建一个

-validity:证书的有效期,单位是天。比如36500的话,就是100年 (默认为90天 )

详细参数可以参考: https://www.cnblogs.com/benio/archive/2010/09/15/1826990.html

打开DOS命令窗口输入命令后就生成了,文件保存在打开DOS命令的目录下,注意:该目录不能有中文和空格,避免其他错误产生。

在这里插入图片描述

在这里插入图片描述

二、获取公钥

获取公钥之前需要安装OpenSSLOpenSSL 是一个加解密工具包,可以使用 OpenSSL 来获取公钥。

2.1、下载 OpenSSL

下载地址:http://slproweb.com/products/Win32OpenSSL.html

在这里插入图片描述

在这里插入图片描述

2.2、安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3、配置环境变量

配置 OpenSSL的环境变量,需要在 OpenSSL的安装目录 \bin 。我安装的 \binD:\OpenSSL-Win64\bin

在这里插入图片描述

2.4、获取公钥

查看 -list参数。

在这里插入图片描述

重新打开DOS命令行窗口,进入刚才生成的私钥所在的目录。

注意:这里要求需要输入秘钥库口令,这个口令在生成私钥的命令中设置的那个 -storepass的值就是秘钥库口令。

keytool -list -rfc --keystore oauth2.jks | openssl x509 -inform pem -pubkey

参数解析

-list:列出密钥库中的条目

-rfc:以RFC样式输出

–keystore:秘钥库名称

在这里插入图片描述

将生成的公钥创建一个 txt文本存放即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值