Как правило, вы должны представить сертификат как часть вашего кода. Например, в C # вам нужно указать сертификат следующим образом:
using System.Security.Cryptography.X509Certificates;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//some code creating your soap client
string cert_file = "C:\\prf_res.pem"; //You'll probably use the PEM format here, not the .p12 format
X509Certificate cert = new X509Certificate(cert_file);
soap_client.ClientCertificates.Add(cert);
//now you're set!
В PHP это будет:
$cert = "myCert.pem"; //notice it's in PEM format.
$client = new SoapClient($wsdl, array('local_cert' => $cert));
Чтобы сделать файл PEM из .p12, вы можете использовать:
OpenSSL> pkcs12 -in myCert.p12 -out myCert.pem -nodes -clcerts