PHP 使用 .cer 和 .p7b 证书访问网络服务

问题描述

我正在尝试访问来自县的整合商业发票的网络服务,该网站提供了这两个证书 .cer 和 .p7b,我尝试了 curl 和 soap 客户端,并在 params 数组中使用了几个不同的选项,但是在加载密钥时仍然只得到 403 或错误。 有人可以解释我应该使用哪个证书,或者如果两者都使用,哪个选项和其他需要的参数?

使用 curl 我至少得到 403 答案(这是没有证书的预期结果),但在肥皂客户端上它只给出 SOAP-ERROR: Parsing WSDL 即使它是完全相同的 URL。

尝试加载密钥会导致: .CER:“无法设置私钥文件……输入 PEM” .P7B:“无法加载 PEM 客户端证书,OpenSSL 错误:02001002:系统库:fopen:没有这样的文件或目录,(找不到密钥、错误的密码或错误文件格式?)” 虽然路径似乎是正确的。

使用带有 --cert 选项的 cmd line curl 得到相同的错误(尽管我单独尝试了每个证书文件,有没有办法同时使用它们?)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)