0

我有一个由 iOS 开发中心通过证书签名请求生成的 Apple 推送通知开发推送 SSL 证书。

我想使用 PHP 来转换证书格式。在终端/外壳中,我可以执行此命令来转换证书格式:

openssl x509 -in aps_developer_identity.cer -inform der -out push_cert.pem

在 PHP 中,我有:

$result = openssl_x509_export_to_file('/path/to/aps_developer_identity.cer', '/path/to/push_cert.pem');

但是,PHP 发出警告:

openssl_x509_export_to_file() : cannot get cert from parameter 1

PHP 文档中,它说第一个参数可以是证书文件的文件路径。

鉴于:

  • 证书存在并可通过 PHP 脚本访问,
  • 输出路径有效且有写权限,且
  • PHP openssl 模块已安装
  • 使用 PHP 5.3.10
  • 使用 Ubuntu 12.04 LTS

可能是什么问题呢?

4

1 回答 1

1

来自phpseclib,一个纯 PHP X.509 实现

"-----BEGIN CERTIFICATE-----\r\n" .
chunk_split(base64_encode($cert), 64) .
'-----END CERTIFICATE-----'
于 2013-05-25T16:21:07.503 回答