在终端依次输出一下命令
生成私钥文件
$ openssl genrsa -out private.pem 1024
openssl: 是一个自由的软件组织,专注做加密和解密的框架 genrsa:指定生成私钥算法使用 RSA
-out : 后面的参数表示生成的 key 的输入文件 1024:表示的是生成 key 的长度,单位字节
创建证书请求
$ openssl req -new -key private.pem -out rsacert.csr 可以拿着这个文件去数据证书颁发机构(即 CA)申请一个数据证书,CA 会给你一个新的文件 cacert.pem,那才是你的数据证书,但是要收费(几千块大概)
生成证书并签名,有效期 10 年
$ openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
x509 是一种非常能用的证书格式
将用上面生成的密钥 private.pem 和 rsacert.csr 证书请求,生成一个数据证书,rsacert.crt 这 个就是公钥
转换格式 将 pem 格式文件,转成换 der 格式
$ openssl x509 -outform der -in rsacert.crt -out rsacert.der
在 iOS 开发中,公钥是不能使用 base64 编码的,上面的命令是将公钥的 base64 编码字符串 转成二进制数据
导出 p12 文件
$ openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt 在 iOS 开发中不能直接使用,需要导入一个 p12 文件。