Cerco di stabilire una connessione tramite SoapClient. Ho bisogno di un certificato per questo. Ho ricevuto un certificato .pfx. Ho usato il seguente comando per creare un file .pem.Certificato non accettato. Impossibile impostare il file della chiave privata
openssl pkcs12 -in cert.pfx -out cert.pem -nodes
C'è una password nel certificato, quindi devo inserirla prima di ottenere il file cert.pem. Fin qui tutto bene, penso.
Ora provo a connettermi al servizio WSDL.
$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));
ottengo il seguente errore:
(Warning) SoapClient::SoapClient(): Unable to set private key file `/var/www/vhosts/............./cert.pem'
Credo che il problema è il certificato. È il modo in cui ho convertito il .pfx in un file .pem nel modo corretto?
Ho ancora problemi con questo. Trovato questo. nota: incluso il flag "-nodes" qui impedirà l'utilizzo di una passphrase per crittografare le chiavi private. Con o senza passphrase ottengo lo stesso errore. –
è quel certificato pubblico o privato? –
perché hai usato '-nodes' piuttosto che' -clcerts'? –