仅使用用户名,密码和证书颁发机构连接到使用PHP的Web服务

Enc*_*ada 7 php security ssl soap web-services

我使用Microsoft C#成功连接到Microsoft Web服务.我必须提供用户名,密码(在C#代码中); 并将证书(以.cer格式)安装到系统证书的"根证书颁发机构"部分.

如何在PHP中连接到这样的Web服务?我问的原因是我所见过的所有方法(例如创建SoapClient子类的wsdl2php)似乎都假设了各种各样的东西,例如SSL证书,SSL密钥文件和SSL密钥密码.

所以这一切都让我感到困惑.我不确定应该去哪里.我不确定我的"根证书权限"(.cer文件)应该去哪里,以及用户名和密码应该去哪里.有任何想法吗?

bor*_*rel 5

所有这些都可以使用ssl选项来完成soapclientstream_context_create

<?php
$context = stream_context_create(array(
  'https' => array(
     'cafile' => '/path to file',
     'verify_peer' => true
  )));

new soapclient("https://localhost/index.php?wsdl",array(
  'login'=>'admin',
  'password'=>'passss',
  'stream_context'=> $context
));
Run Code Online (Sandbox Code Playgroud)

在肥皂中使用http auth而不仅仅是肥皂呼叫并不少见,documnetation是必不可少的

使用soapclient类使用classmap将soaptypes映射到php clases是有益的