openssl 生成公钥和私钥(包含16进制公钥)
1. 生成原始 RSA私钥文件 rsa_private_key.pem
openssl genrsa -out rsa_private_key.pem 1024
2. 将原始 RSA私钥转换为 pkcs8格式,JAVA需要使用的私钥需要经过 PKCS8 编码
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out rsa_private_key_java.pem
3. 生成 RSA公钥 rsa_public_key.pem
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
4. 生成 RSA公钥 rsa_public_key_java.pem,PKCS8 对应的公钥
openssl rsa -in rsa_private_key_java.pem -pubout -out rsa_public_key_java.pem
5. 从公钥 rsa_public_key.pem 获取十六进制的公钥(第一段16进制字符串,用于前端js加密)
openssl asn1parse -out temp.ans -i -inform PEM<rsa_private_key.pem
6. 从公钥 rsa_public_key.pem 获取十六进制的公钥(第一段16进制字符串) PKCS8 对应的十六进制的公钥
openssl asn1parse -out temp_java.ans -i -inform PEM<rsa_private_key_java.pem
最终获取文件列表:
rsa_private_key.pem
rsa_public_key.pem
rsa_private_key_java.pem
rsa_public_key_java.pem
16进制公钥字符串用于js端加密