Probleme mit der Verbindung zu SSL-verschlüsselte web-service mit PHP

Habe ich zwei Zertifikat-Dateien von dem Anbieter, in einem .cer-format und eines in einem .p7b-format. Ich habe dann Umgerechnet die p7b-Zertifikat in ein p12-Zertifikat. Mit dieser Bescheinigung bin ich in der Lage zu verbinden, um die wsdl aus meinem browser.
Dann ging ich zu konvertieren, das Zertifikat zu .pem-format, mit einige Anweisungen, die ich fand auf dieser Seite.

openssl pkcs12 -clcerts -nokeys -out test.pem -in mycert.p12
openssl pkcs12 -nocerts -out key.pem -in mycert.p12

dann kämmen Sie das Zertifikat mit dem Schlüssel mithilfe des folgenden Befehls:

cat test.pem key.pem > cert.pem

Hier ist mein Konstrukt für die web-service-Klasse:

public function __construct() {
    $wsdl_url = 'https://url.to/web_service?wsdl';
    $pass = 'passphrase';
    $cert = 'cert.pem';

    try {
        $this->client = new SoapClient($wsdl_url, array('local_cert' => $cert, 'passphrase' => $pass));
    } catch(SoapFault $e) {
        print_r($e);
    }
}

Und hier ist der Fehler:

SSL operation failed with code 1. OpenSSL Error messages: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca in /var/www/html/..

Versucht, um das Zertifikat zu überprüfen mit:

openssl verify cert.pem

gibt mir die folgende Fehlermeldung:

error 20 at 0 depth lookup:unable to get local issuer certificate

Ich habe auch versucht, die Schaffung der .pem-Zertifikat mit dem folgenden openssl-Befehl:

openssl pkcs12 -in mycert.p12 -out mycert.pem

Überprüfen, das gibt mir ein OK, aber PHP gibt mir die folgende Fehlermeldung:

Unable to set local cert chain file `mycert.pem'; Check that your cafile/capath settings include details of your certificate and its issuer

Ich nehme an, es sollte möglich sein, damit es funktioniert irgendwie, wie ich bin in der Lage, den Zugriff auf die wsdl über meinen browser, mit dem .p12-Zertifikat. Aber ich bin nicht in der Lage zu finden, eine Lösung, wie ich Vorgehen sollte.
Vielen Dank im Voraus.

InformationsquelleAutor Tom | 2010-09-27
Schreibe einen Kommentar