SoapClient üzerinden bağlantı kurmaya çalışıyorum. Bunun için bir sertifikaya ihtiyacım var. .pfx sertifikası aldım. Bir .pem dosyası oluşturmak için aşağıdaki komutu kullandım.Sertifika kabul edilmedi. Özel anahtar dosyası ayarlanamadı
openssl pkcs12 -in cert.pfx -out cert.pem -nodes
Sertifikada bir parola var, bu yüzden cert.pem dosyasını almadan önce girmem gerekiyor. Şimdiye kadar çok iyi, bence.
Şimdi WSDL hizmetine bağlanmayı deniyorum.
$url = "https://test.website.com/webservices/transfer.asmx?WSDL";
$cert = '/path/to/cert.pem';
$passphrase = "12345678";
$soapClient = new SoapClient($url, array('local_cert'=>$cert,'passphrase'=>$passphrase));
aşağıdaki hatayı alıyorum:
(Warning) SoapClient::SoapClient(): Unable to set private key file `/var/www/vhosts/............./cert.pem'
Sorunun belgesi olduğunu düşünüyorum. .pfx'i bir .pem'e doğru şekilde dönüştürdüm.
Hala bu konuda sorun yaşıyorum. Bunu buldum. not: "-nodları" bayrağı dahil olmak üzere özel anahtar (lar) ın şifrelenmesi için bir parola kullanılmasını engeller. Parola veya parola olmadan aynı hatayı alıyorum. –
kamuya açık mı yoksa özel mi? –
neden '-clcerts' yerine' -nodes' kullandınız? –