Witam!
No właśnie
Na tym mi się zatrzymało akurat ;)
Przerobiłem wg. Twoich wskazówek - własnie na tym certyfikacie stoi.
Dodałęm do skryptu dostępne zmienne...
Pobrałem certyfikat za pomocą przeglądarki ie6 - i dałem tam export do pliku
ale wyeksportowało mi go jako plik *.cer
.pem pisałeś - ale nie wiem jak to zrobić
To pokazuje przeglądarka - po odpaleniu skryptu
Warning: SoapClient::SoapClient() [function.SoapClient-SoapClient]: Unable to set local cert chain file `cert.cer'; Check that your cafile/capath settings include details of your certificate and its issuer in
A jak uruchomię w linuksie np. w przelądarce w3m - to własnie mi się pokazuje ten błędny certyfikat - ale strona sięwyśiwetla - tylko dopiero po trzech potwierdzeniach
w3m https://transferbgz.pl/bgz.blc.loader/WebService?wsdl
1- unable to get local issuer certificate: accept? (y/n) y
2- Bad cert ident www.transferbgz.pl from transferbgz.pl: accept? (y/n) y
3- Accept unsecure SSL session:Bad cert ident www.transferbgz.pl from transferbgz. y
i dopiero wyświetla się strona.....
W jaki sposób zawrzeć to w skrypcie ?
Aktualnie mam tak:
-----------------------------------------------------------------------------
<?php
#Pobieranie pliku z BGZ
#Dane wejściowe
$pLogin = "jan.kowalski";
$pPassword = "haslo";
$pIden = "12345678";
$pId = " " ;
$pSystem = " " ;
$client = "https://transferbgz.pl/bgz.blc.loader/WebService?wsdl";
$stream_context = "https" ;
$cer = "cert.cer";
#Opcje pobierania
$g1 = "getDokuments";
$g2 = "getDokumentsForSystem";
$g3 = "getDokument";
$g4 = "getBase64Document";
$g5 = "getSystems";
#Zmienne do opcji
$z1 = "'pLogin', 'pPassword', 'pIden'";
$z2 = "'pSystem', 'pLogin', 'pPassword', 'pIden'";
$z3 = "'pId', 'pLogin', 'pPassword', 'pIden'";
$z4 = "'pId', 'pLogin', 'pPassword', 'pIden'";
$z5 = "'pLogin', 'pPassword', 'pIden'";
#Sesja
$my_session = new SoapClient( $client,
array( "trace" => true,
"exceptions" => true,
"proxy_host" => PROXYHOST,
"proxy_port" => PROXYPORT,
"stream_context" => $stream_context,
"local_cert" => $cer ));
#Przykład odbioru
#$return_val = $client->getSystems('pLogin', 'pPassword', 'pIden');
$return_val = $client->$g1($z1);
echo $return_val;
?>
-------------------------------------------------------------------------
I to wywala błąd
Jak to uwzględnić ? i w którym miejscu ?
W liście datowanym 15 lipca 2009 (11:38:59) napisano:
>>> $client = new SoapClient("https://transferbgz.pl/bgz.blc.loader/WebService?wsdl");
> transferbgz.pl używa nieprawidłowego certyfikatu bezpieczeństwa.
> Ten certyfikat jest prawidłowy tylko dla www.transferbgz.pl.
> (Kod błędu: ssl_error_bad_cert_domain)
> To też bym uwzlędnił...
>
> _______________________________________________
> lms mailing list
> http://lists.lms.org.pl/mailman/listinfo/lms
--
Pozdrowienia,
SERWIS MIKROCHIP
!DSPAM:4a5dbdc487299031758699!