Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php openssl_x509_导出到_文件:无法从参数1获取证书_Php_Openssl - Fatal编程技术网

Php openssl_x509_导出到_文件:无法从参数1获取证书

Php openssl_x509_导出到_文件:无法从参数1获取证书,php,openssl,Php,Openssl,我有一个苹果推送通知开发推送SSL证书,由iOS开发中心通过证书签名请求生成 我想使用PHP转换证书格式。在Terminal/shell中,我可以执行以下命令来转换证书格式: 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',

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

我想使用PHP转换证书格式。在Terminal/shell中,我可以执行以下命令来转换证书格式:

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 openssl模块
  • 使用PHP5.3.10
  • 使用Ubuntu 12.04 LTS
可能是什么问题?

来自:


您正在尝试从二进制DER转换为base64 PEM?是的,我正在尝试这样做。
"-----BEGIN CERTIFICATE-----\r\n" .
chunk_split(base64_encode($cert), 64) .
'-----END CERTIFICATE-----'