对接Apple Pay执行OpenSSL命令出错,生成rsakey.key遇问题
Apple Pay对接生成PKCS12证书报错解决
运行命令:
openssl pkcs12 -export -out Certificates.p12 -inkey rsakey.key -in merchant_id.pem
时报错unable to load private key(无法加载私钥),可按以下步骤排查解决:
检查私钥格式:
确认rsakey.key是PEM格式,文件开头需包含-----BEGIN PRIVATE KEY-----或-----BEGIN RSA PRIVATE KEY-----。如果是DER格式,先转成PEM:openssl rsa -inform der -in rsakey.key -out rsakey_pem.key再用转换后的
rsakey_pem.key重新执行原命令。修正私钥文件权限:
类Unix系统中,私钥权限过宽会被OpenSSL拦截,执行以下命令修改权限后重试:chmod 600 rsakey.key验证私钥与商户证书匹配性:
分别执行以下两条命令,对比输出的哈希值:openssl x509 -noout -modulus -in merchant_id.pem | openssl md5 openssl rsa -noout -modulus -in rsakey.key | openssl md5若哈希值一致,说明两者配对;不一致则需重新生成对应密钥和证书。
处理带密码的私钥:
如果私钥设置了密码保护,执行原命令时需添加密码参数(或按终端提示输入),示例:openssl pkcs12 -export -out Certificates.p12 -inkey rsakey.key -in merchant_id.pem -passin pass:your_password_here替换
your_password_here为实际私钥密码。
内容的提问来源于stack exchange,提问作者Evg Enii
相关产品推荐
相关产品推荐

