最近再用jwt生成token,记录一下使用jdk生成秘钥库步骤,方便之后查询使用
1、生成密钥库脚本命令(在本地jdk目录bin目录下,窗口路径输入cmd会车)
keytool -genkey -alias jwt -keyalg RSA -keypass 123456 -keystore jwt.jks -storepass 123456
参数说明:
-alias 别名
-keyalg 密钥算法
-keypass 密钥口令
-keystore 生成密钥库的存储路径和名称
-storepass 密钥库口令
2、gateway项目中本地加载公钥,省去远程加载
/**
* 本地加载JWT验签公钥
* @return
*/
@Bean
public RSAPublicKey rsaPublicKey() {
Resource resource = new ClassPathResource("public.key");
InputStream is = resource.getInputStream();
String publicKeyData = IoUtil.read(is).toString();
X509EncodedKeySpec keySpec = new X509EncodedKeySpec((Base64.decode(publicKeyData)));
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
RSAPublicKey rsaPublicKey = (RSAPublicKey)keyFactory.generatePublic(keySpec);
return rsaPublicKey;
}
生成公钥步骤
1)、访问 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 下载OpenSSL ,根据系统选择对应版本
编辑
然后在在本地jdk目录bin目录下,窗口路径输入cmd会车执行:( jwt.jks需要的是上一步生成的路径)
keytool -list -rfc --keystore jwt.jks | openssl x509 -inform pem -pubkey
最后输入密钥库口令就可以看到生成的公钥,将内容复制到pulic.key
文件即可