SSL root CA certifikát

Granda Urso

  • *
  • 13
  • Ne estas pano sen laboro!
    • Zobrazit profil
    • univerzální celosvětový jazyk
    • E-mail
SSL root CA certifikát
« kdy: 03. 07. 2012, 15:00:17 »
Zdravím,
potřebuji se dostat do testovacího prostředí na https://test.firma.cz/ . Problém je v tom, že při přístupu přes např. FIREFOX to hlásí, že je nedůvěryhodný certifikát. Z firmy poslali root_CA_certifikát.crt, ten naimportuji do záložky CA AUtority a FIREFOX už nehlásí problém. Klientská stanice, která volá https://test.firma.cz/ je LINUX debian 6.

Ovšem jako úložiště je použito vlastní místo mozilly.
To se ale projevuje pouze a jen u mozily firefoxu pod přihlášeným uzivatelem [user].
Celkově v celém systému se to neprojeví.

2. Další možnost

certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "test.firma.cz" -i Root_CA_firma.crt

taky nepomohla, pravděpodobně se aktualizuje pouze mozilla úložiště certifikátů přihlášeného uživatele /home/uzivatel/.pki/nssdb/

3. Zkusit tinyca2 pro linux?
4. Jako systémové úložiště certifikátů je pravděpodobně /etc/ssl/certs/ kde jsou symbolické odkazy na např. /usr/share/ca-certifikates/mozilla/Comodo_Secure.crt
To by mělo být ono.
Takže jsem vytvořil symbolický odkaz v /etc/ssl/certs/Root_CA_firma.pem na /usr/share/ca-certificates/mozilla/Root_CA_firma.crt

Nyní by to mělo být obsaženo v systému, nicméně volání přes wget stále hlásí chybu:
Citace
wget --certificate=osobnicert.pem https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl
--2012-06-29 16:52:35--  https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl
Enter PEM pass phrase: zadané správné heslo
Resolving test.firma.cz... 172.16.10.49
Connecting to isbtst.pse.cz|172.16.10.49|:443... connected.
ERROR: cannot verify isbtst.pse.cz's certificate, issued by `/C=CZ/O=Prague Stock Exchange/OU=Prague Stock Exchange CA':
  Self-signed certificate encountered.
To connect to isbtst.pse.cz insecurely, use `--no-check-certificate'.

Pokud dám tu volbu --no-check-certificate tak se wget připojí a stáhne ten WDSL.

Takže volání ISBTST v PHP5 stále hlásí chybu také:
Zdrojový kód:
<?php
$protected_url = "https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl";
$client = new SoapClient($protected_url, array('local_cert' =>file_get_contents('osobnicert.pem'), 'passphrase' =>'heslo') );
?>

Tohle mne odmění chybovou hláškou:
Kód: [Vybrat]
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl' : failed to load external entity "https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl"
 in /home/urso/1/soap_client9.php:3
Stack trace:
#0 /home/urso/1/soap_client9.php(3): SoapClient->SoapClient('https://isbtst....', Array)
#1 {main}
  thrown in /home/urso/1/soap_client9.php on line 3
Neví tu někdo, jak ten root_CA_certifikat.crt dostat do systému DEBIAN 6 tak, aby wget nehlásil chyby a pak (možná) by šlo i PHP5 volání přes SOAP?


Rhinox

Re:SSL root CA certifikát
« Odpověď #1 kdy: 03. 07. 2012, 15:41:57 »
Self-signed certificate encountered.
Rekl bych, ze tohle je tvuj problem. Ten certifikat nemas totiz podepsanej certifikacni autoritou. Naka "Prague Stock Exchange CA" rozhodne neni autorita, kterou by vsechny prohlizece meli v sobe jako overenou a autorizovanou.

Mas 2 moznosti: pozadat o poradnej certifikat, overenej uznavanou CA (treba Thawte, VeriSign, GeoTrust, atd). Nebo se smirit s tim, ze pokazde kdyz se podivas na stranku zabezpecenou neoverenym certifikatem, tvuj prohlizec te bude varovat. Coz je nakonec taky uplne spravne!

TomZ

Re:SSL root CA certifikát
« Odpověď #2 kdy: 04. 07. 2012, 17:50:23 »
Ta chybova hlaska wgetu vypada, jako by certifikat weboveho serveru, se kterym to zkousis, byl self-signed, tj. nebyl overeny zadnou CA, a proto nejde overit certifikatem CA.

host

Re:SSL root CA certifikát
« Odpověď #3 kdy: 04. 07. 2012, 19:59:26 »

ET

Re:SSL root CA certifikát
« Odpověď #4 kdy: 05. 07. 2012, 10:43:21 »
imho ta hlaska o self-sgined se vztahuje na ten rootCA cert, kterejzto je vzdy self-signed
zkus ten wget zavolat takhle, jestli se to povede:

wget --certificate=osobnicert.pem --ca-certificate=root_CA_certifikát.crt https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl


Granda Urso

  • *
  • 13
  • Ne estas pano sen laboro!
    • Zobrazit profil
    • univerzální celosvětový jazyk
    • E-mail
Re:SSL root CA certifikát
« Odpověď #5 kdy: 09. 07. 2012, 11:34:20 »
wget --certificate=osobnicert.pem --ca-certificate=root_CA_certifikát.crt https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl
Tohle funguje, wget se po zadání hesla k osobnímu certifikátu hned připojí.
Taky se wget připojí s volbou --no-check-certificate bez zadání root_CA.
Já to ale potřebuji volat přes SOAP v PHP5 takto:
Kód: [Vybrat]
<?php
$client 
= new SoapClient("https://isbtst.pse.cz/kmapp/services/cdcpPort4?wsdl", array('local_cert' =>file_get_contents('osobnicert.pem'), 'passphrase' =>'heslo') );
?>
A zde si s tím dál nevím rady, hlásí to výše zmíněné chyby.