【发布时间】:2014-04-13 21:02:48
【问题描述】:
我正在尝试在 OSX 10.9 上通过 cURL 加载文件以下命令从我的用户帐户完成时工作正常,但通过 PHP(用户 _www)完成时失败
curl https://test.test.com:8443 -sslv3 --cert /Users/[my account]/Sites/sandbox/certificate.p12:password --cert-type P12
我得到的错误是:
* SSL: Can't load the certificate "/Users/[my account]/Sites/sandbox/certificate.p12" and its private key: OSStatus -61
它是Write permissions error; Not a publisher,但 _www 对该文件夹具有读写权限。
使用证书的公用名(我手动添加到系统钥匙串)时,从我自己的帐户和 _www 调用都可以正常工作
curl https://test.test.com:8443 -sslv3 --cert [the common name]
我想让它与 p12 文件一起使用,这样我就可以在生产服务器上使用与我在开发机器上相同的代码。使用普通的 php cURL 库不是一个选项,因为它还不支持 --cert 参数(它似乎使用旧的 --cafile,在 OSX 10.9 中不支持)
【问题讨论】:
-
您是通过 https 进行的,这意味着您是以网络服务器的身份进行的。该用户是否有权访问您的主目录?仅仅因为它可以访问(比如说)
sandbox并不意味着它实际上可以首先到达那里。 -
我可以毫无问题地从 php 执行
cat /Users/[my account]/Sites/sandbox/certificate.p12。 -
有解决方案吗?我在 10.10.1 遇到了同样的问题