生成密钥
java语言类
第三方根据鉴权工具类,来生成对应的公钥(publicKey)和私钥(privateKey)
说明:见RSAUtil工具类中的main方法例子获取公钥和私钥
非java语言类
如果第三方为非java语言,则可用标准的openssl生成公钥和私钥
1、生成私钥:openssl genrsa -out rsa_private_key.pem 2048 保存在当前文件夹下的rsa_private_key.pem文件中,以下同理。2048代表密钥长度,java后端统一为2048长度的。
2、根据私钥生成公钥:openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout
3、此时的私钥还不能直接被java使用(但可以被openssl使用),需要进行PKCS#8编码:openssl pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt
4、openssl生成签名文件:因为java端签名验证使用SHA256withRSA算法做摘要。故openssl使用SHA256withRSA签名:openssl sha256 -sign rsa_private_key.pem -out rsasign.bin tos.txt tos.txt为自己创建的需要签名的文本。