Spring Security 提供對(duì)JWT的支持崭篡,本節(jié)我們使用Spring Security 提供的JwtHelper來(lái)創(chuàng)建JWT令牌县习,校驗(yàn)JWT令牌等操作。
JWT令牌生成采用非對(duì)稱(chēng)加密算法
1段审、生成密鑰證書(shū)
下邊命令生成密鑰證書(shū)犹菇,采用RSA 算法每個(gè)證書(shū)包含公鑰和私鑰
keytool -genkeypair -alias xckey -keyalg RSA -keypass xuecheng -keystore xc.keystore -storepass
xuechengkeystore
Keytool 是一個(gè)java提供的證書(shū)管理工具
-alias:密鑰的別名
-keyalg:使用的hash算法
-keypass:密鑰的訪問(wèn)密碼
-keystore:密鑰庫(kù)文件名德迹,xc.keystore保存了生成的證書(shū)
-storepass:密鑰庫(kù)的訪問(wèn)密碼
查詢(xún)證書(shū)信息:
keytool -list -keystore xc.keystore
刪除別名
keytool -delete -alias xckey -keystore xc.keystore
2、導(dǎo)出公鑰
openssl是一個(gè)加解密工具包揭芍,這里使用openssl來(lái)導(dǎo)出公鑰信息胳搞。
安裝 openssl:http://slproweb.com/products/Win32OpenSSL.html
安裝資料目錄下的 Win64OpenSSL-1_1_0g.exe
配置openssl的path環(huán)境變量,本教程配置在D:\OpenSSL-Win64\bin
cmd進(jìn)入xc.keystore文件所在目錄執(zhí)行如下命令:
keytool ‐list ‐rfc ‐‐keystore xc.keystore | openssl x509 ‐inform pem ‐pubkey
輸入密鑰庫(kù)密碼:
下邊這一段就是公鑰內(nèi)容:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAijyxMdq4S6L1Af1rtB8SjCZHNgsQG8JTfGy55eYvzG0B
/E4AudR2prSRBvF7NYPL47scRCNPgLnvbQczBHbBug6uOr78qnWsYxHlW6Aa5dI5NsmOD4DLtSw8eX0hFyK5F
j6ScYOSFBz9cd1nNTvx2+oIv0lJDcpQdQhsfgsEr1ntvWterZt/8r7xNN83gHYuZ6TM5MYvjQNBc5qC7Krs9wM7U
oQuL+s0X6RlOib7/mcLn/lFLsLDdYQAZkSDx/6+t+1oHdMarChIPYT1sx9Dwj2j2mvFNDTKKKKAq0cv14Vrhz67Vj
mz2yMJePDqUi0JYS2r0iIo7n8vN7s83v5uOQIDAQAB-----END PUBLIC KEY-----
將上邊的公鑰拷貝到文本文件中,合并為一行肌毅。