1、生成密钥:
使用终端openssl命令生成密钥
1).生成私钥,密钥长度为2048bit,base64编码。
openssl genrsa -out rsa_private_key.pem 2048 (128/512/1024/2048)
关于密钥长度,这里要进行一下特别说明。每次加密的数据不能超出密钥的长度,2048bit长度的密钥,只能单次只能加密(2048 / 8 - 11) = 245byte长度的数据。(那11byte是RSA预留的长度)。若待加密的数据长度超过了245byte,就需要对数据进行分段加密。
2).根据之前生成的私钥生成公钥:
openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout
3).将生成的私钥为转换PKCS8
格式,这种格式可以直接在iOS项目中使用:
openssl pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt
我司的情况是由公司后台生成私钥和公钥,提供.pem
格式的公钥给移动端,因此我直接使用的是pkcs8格式的公钥。
最后使用生成2和3的文件
rsa_public_key.pem和
pkcs8_rsa_private_key.pem
作者:Doliant_H
链接:https://www.jianshu.com/p/4f76b07c7390
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。