[ Traci @ 18.04.2012. 13:34 ] @
Već neko vreme pokušavam da se ulogujem na Limundo korišćenjem cURL-a, ali mi ne polazi za rukom. Ili je bezbednosni mehanizam odrađen kako treba (manje verovatno), ili ja radim nešto pogrešno (verovatnije).

Pažnja mi je usmerena na stranicu https://secure.limundo.com/MojLimundo , koja zahteva sertifikat koji se može preuzeti iz brauzera, ili sa adrese http://EVSecure-aia.verisign.com/EVSecure2006.cer, a pošto cURL zahteva da CA cert bude u PEM formatu, to sam mu naravno i pripremila. Probala sam razne metode, uglavnom sa argumentima:
Code:
--cacert "staza\do\sertifikata.crt"
i
Code:
--data "txtUsername=Pazi&txtPassword=datikazem"
pa čak i rizični
Code:
--insecure
ali bez uspeha. Ili mi prijavljuje grešku
Citat:
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ili me totalno iskulira, pa ne dobijem nikakav odgovor.

Imate li nekih ideja kako da se ulogujem cURL-om?
[ dakipro @ 18.04.2012. 13:42 ] @
A da kontaktiras njih i pitas direktno?
Osim ako to sto radis nije namenski iskljuceno i zabranjeno, jer onda nije eticki pitati tako nesto javno, niti ucestvovati u ne-etickim podvizima?
[ Traci @ 18.04.2012. 14:11 ] @
cURL je brauzer kao i svaki drugi, i ne vidim šta se u njegovom korišćenju suprotstavlja etičkim pitanjima. Pretpostavljam da mi problem pravi javascript, a da je on tu zato što je to moderno, a ne da bi onemogućio cURLu pristup stranici. A što se tiče kontaktiranja njihovog tima - nekoliko puta sam administratorima skrenula pažnju na neke bagove i propuste, rezultat je bio generička poruka "Hvala vam što ste nam skrenuli pažnju, ispravićemo propuste uskoro.", a dotična funkcija je trajno izbačena sa sajta i nikada nije vraćena...

Inače, već dugo sam član Limunda i imam vrlo dobru reputaciju, tako da moji podvizi sigurno ne bi bili ne-etički, osim ako se automatizacija tj. smanjenje vremena provedenog za računarom smata ne-etičkim podvigom...
[ Tyler Durden @ 18.04.2012. 14:54 ] @
Jesi probala ovo?
http://unitstep.net/blog/2009/...-https-ssltls-protected-sites/
[ Traci @ 18.04.2012. 15:36 ] @
To je upravo ono što sam probala, i neće da radi.

Citat:

4. Tom said on August 21st, 2009 at 12:06 pm #

There were 2 PEM export options for me in Firefox (when working with harvestapp.com):

X.509 Certificate (PEM)
X.509 Certificate with chain (PEM)

After using the first, I was still getting the error:

SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:func(144):reason(134)

However, using the second (with chain) export option made it work fine.

Ovo sam i ja shvatila, na teži način... Kada napravim x.509 with chain, ne dobijem ništa (dok sa drugim metodom dobijam grešku 14090086)

Citat:

9. Monir said on October 27th, 2009 at 4:18 am #

Its a very good solution, i am able to read a https page.
BUT when try to auto login( using post method) it fails, do not show any data. can you please help me out.

thanks.

E, pa meni ne pokazuje ništa ni sa loginom ni bez - ne mogu da pročitam https stranu.

Još neka ideja?
[ Mr. Bond @ 18.04.2012. 15:55 ] @
Ćaos, ja sam do malopre imao sličan problem - šta god da sam pokušao nije htelo da radi i izbacivao mi je handshake error. Rešio sam ga zahvaljujući ovom postu sa php.net-a.:

Code:

If you want to connect to a server which requires that you identify yourself with a certificate, use following code. Your certificate and servers 
certificate are signed by an authority whose certificate is in ca.ctr.

<?php
curl_setopt($ch, CURLOPT_VERBOSE, '1');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, '1');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, '1');
curl_setopt($ch, CURLOPT_CAINFO,  getcwd().'/cert/ca.crt');
curl_setopt($ch, CURLOPT_SSLCERT, getcwd().'/cert/mycert.pem');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, 'password');
?>

If your original certificate is in .pfx format, you have to convert it to .pem using following commands
# openssl pkcs12 -in mycert.pfx -out mycert.key
# openssl rsa -in mycert.key -out mycert.pem
# openssl x509 -in mycert.key >> mycert.pem



[ Traci @ 18.04.2012. 18:30 ] @
Hvala, probaću ovaj skrpit, pa javljam rezultate!
Ono po čemu se razlikuje u odnosu na ono što sam probala je # (1 umesto 2)
Code:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, #)

i
Code:
curl_setopt($ch, CURLOPT_SSLCERT, getcwd().'/cert/mycert.pem')

na osnovu čega mogu da zaključim da ne poznajem baš u potpunosti priicipe sigurne konekcije...

da li
Code:

curl_setopt($ch, CURLOPT_CAINFO,  getcwd().'/cert/ca.crt');
curl_setopt($ch, CURLOPT_SSLCERT, getcwd().'/cert/mycert.pem');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, 'password');

znači da su mi potrebna dva sertifikata (ca i private ??) i šifra?
[ Vladimir Nikolic @ 19.04.2012. 22:03 ] @
Sistemski nije predviđeno takvo povezivanje.
U planu je izrada pristupa toj mogućnosti kroz API.