Keychain的证书助手可以很方便的申请开发证书,但是它是GUI,openssl也可以做到。
1. 生成私钥
openssl genrsa -out key.pem 2048
2. 生成CSR文件
openssl req -new -key key.pem -out csr.csr -subj "/C=NL/ST=STATE/L=LOCAL/O=ORGANIZATION/CN=CN"
3. 提交Developer网站
提交csr后,后台会返回一个公钥证书 certificate.cer。我们需要把这个 DER 格式转为 PEM格式
openssl x509 -inform der -in certificate.cer -out certificate.pem
4. 生成p12
openssl pkcs12 -export -clcerts -inkey key.pem -in certificate.pem -out MyPKCS12.p12 -name "test" -passout pass:123456
生成p12是需要指定密码。
openssl 对 pem 格式要求 64 位对齐,有的库没这个要求。格式有问题会报错 unable to load certificates
4371834476:error:09FFF064:PEM routines:CRYPTO_internal:bad base64 decode 。解决方案参考 http://srdevspot.blogspot.com/2011/08/openssl-error0906d064pem.html
5. 导入p12
security import MyPKCS12.p12 -P 123456 -k ~/Library/Keychains/login.keychain