相关疑难解决方法(0)

使用证书创建PHP SOAP请求

我正在尝试创建一个PHP SOAP连接到.NET Web服务,该服务具有自签名证书,以便锁定服务以通过HTTPS进行通信.我继续得到错误,我不确定它是否与我创建证书的方式,我的Apache/PHP设置,我尝试建立SOAP请求的方式或其他方面有关.如果有人有任何指示,他们将不胜感激.提前致谢.

证书生成

这就是我创建证书的方式.

  1. 创建受信任的根私钥:

    genrsa -out ca_authority_prv.pem 2048

  2. 创建受信任的根颁发机构证书:

    req -new -key ca_authority_prv.pem -x509 -out ca_authority_cert.pem

  3. 使证书颁发机构信任:

    x509 -in ca_authority_cert.pem -out ca_authority_trust.pem -trustout

  4. 退出OpenSSL并创建一个串行文件:

    echo 1000> ca_authority.srl

  5. 创建客户端私钥:

    genrsa -out Client_prv.pem 2048

  6. 创建客户端请求:

    req -new -key Client_prv.pem -out Client_req.pem

  7. 与CA签署客户端请求:

    x509 -req -CA ca_authority_trust.pem -CAserial ca_authority.srl -CAkey ca_authority_prv.pem -in Client_req.pem -out Client_cert.pem

  8. 为客户端证书制作pfx

    pkcs12 -export -in Client_cert.pem -inkey Client_prv.pem -out Client_cert.pfx

IIS安装程序

创建此证书后,我按照相同的步骤获取服务器证书,并且:

  1. 将受信任的根CA添加到计算机受信任的根存储中

  2. 将服务器证书添加到计算机存储

  3. 设置IIS以使用服务器证书并要求客户端证书

PHP SOAP请求

这是我用来建立PHP SOAP请求的代码(下面是错误):

$wsdl = "https://localhost/MyService/MyService.asmx";
$local_cert = "C:\\Certs\client_cert.pem";
$passphrase = …
Run Code Online (Sandbox Code Playgroud)

php ssl https soap

10
推荐指数
1
解决办法
4万
查看次数

标签 统计

https ×1

php ×1

soap ×1

ssl ×1