Mac系统内置OpenSSL(开源加密库), Mac终端可以直接使用OpenSSL进行RSA的命令运行.
openssl version
获取当前版本,如果未安装,通过sudo apt-get install openssl
- 生成RSA私钥,密钥长度为1024bit
cd Desktop
openssl genrsa -out private.pem 1024
截图中私钥名称为:rsa.pem
桌面生成rsa.pem私钥
- 从私钥中提取公钥
openssl rsa -in private.pem -pubout -out public.pem
桌面生成公钥 - 将私钥转为明文
openssl rsa -in private.pem -text -out private.txt
cat private.txt //直接在终端查看文本信息
- 公钥加密,私钥解密
// 通过公钥加密
openssl rsautl -encrypt -in message.txt -inkey public.pem -pubin -out enc.txt
//私钥解密
openssl rsautl -decrypt -in enc.txt -inkey private.pem -out dec.txt
文件过大会报错
- 私钥加密,公钥解密
//私钥加密
openssl rsautl -sign -in message.txt -inkey private.pem -out enc2.txt
//公钥解密
openssl rsautl -verify -in enc2.txt -inkey public.pem -pubin -out dec2.txt
-
终端转pkcs8并直接打印私钥信息
私钥打印
openssl pkcs8 -topk8 -inform PEM -in rsa.pem -outform PEM -nocrypt
-
生成p12文件
// 申请请求文件, 需要填写一系列的证书信息
openssl req -new -key private.pem -out rsacert.csr
// 获取crt证书
openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
// 将crt证书转为der文件
openssl x509 -outform der -in rsacert.crt -out rsacert.der
// 通过crt证书生成p12文件, 需要设置一个新的p12文件密码
openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
相关命令生成的文件
Java开发中需要将私钥转换为PKCS8: pkcs8 -topk8 -inform PEM -in rsa.pem -outform PEM -nocrypt -out rsa_private_key_pkcs8.pem
直接更改pem后缀为txt可以直接得到公私钥字符串
网友评论