Nem értek Ruby-ul, de most a kezemben van egy számomra fontos, Rubyban írt eszköz, ami viszont beleakad a céges beállításokba.
SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate in certificate chain) (OpenSSL::SSL::SSLError)
Ez igaz, és szeretném ignorálni.
Az ominózus hívás így néz ki:
File.open(file, 'wb') do |get|
get << URI.parse(path.to_s).open(&:read)
Nekem ez kínaiul van, bár kb. sejtem, hogy mit takar.
Stackoverflow-n találtam ezt:
https://stackoverflow.com/questions/1113422/how-to-bypass-ssl-certifica…
ami szerint - ha jól veszem ki -, át kellene adni az open-nek egy extra paramétert. De hogyan? Próbálgattam, de az abszolút vaktában lődözés mindegyikére az volt a válasz, hogy ez szintaktikailag nem OK.
Aki képben van, az ugyan írja már le, hogy fenti hívásba hogyan kell beletenni azt a ssl_verify_mode: openSSL::SSL::VERIFY_NONE szöveget.
Előre is kösz!
Hozzászólások
Én sem értek a ruby-hoz, de az nem lehet járható, hogy egyszerűen beírod a scriptbe, hogy
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
, még az open metódus elé, ezzel deklarálva, hogy egyáltalán ne foglalkozzon vele?
undefined local variable or method `http' for main:Object (NameError)
Ezek szerint nem :-(
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
Fel tudod tölteni esetleg az egész kódot valahova? Tényleg nem értek hozzá semennyire, de már kíváncsi lettem, mert logikusan ennek működnie kéne, megnézném.:)
Innen van:
https://github.com/danielpetri1/bbb-recording-exporter/tree/client-side
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
Köszönöm, akkor szerintem az hiányzik, amit az előbb kommenteltem, nem látom őket a kódban.
Btw, akkor is így van, ha az elejére berakod ezeket?
Sajnos az sem segített rajtam.
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
Ez a megoldás. Használom localhost elérésre.
Hibaüzenet.
https://hup.hu/comment/2780078#comment-2780078
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
Az objektumra kell tenni a ".verify_mode = OpenSSL::SSL::VERIFY_NONE" metódust. Nem biztos hogy "http" a változó neve a te kódodban. Ami a változó neve, ahhoz kell:
változód.verify_mode = OpenSSL::SSL::VERIFY_NONE
>>át kellene adni az open-nek egy extra paramétert. De hogyan?
.open({ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE}, &:read)
(természetesen openssl import után)
alternatívaként megmutathatod neki a ca certet ('ssl_ca_cert' opció)
Köszi, ez a hátulról előre paraméterátadás kellett neki. Mondjuk valószínúleg kellett volna még olvasgassak, hogy ezt magamtól kitaláljam.
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
A .verify_mode = OpenSSL::SSL::VERIFY_NONE szerintem nem a legjobb megoldás, nem véletlen van ez az ellenőrzés. De attól függ, hogy fontos lehet-e ez a biztonság szempontjából. Általában ott szokott tévedés történni, amikor valaki úgy dönt, hogy nem fontos egy adott dolog, ami a biztonsággal kapcsolatos, mert "az úgy sem fordulhat elő, hogy...".
Openssl-el szedd le a weboldal tanúsítványát, és azt kellene a programhoz hozzáadni, mint megbízható tanúsítványt. Így nem hasal majd el ez az ellenőrzés.
Java alatt pl a truststore-ba kell felvenni, gondolom itt is hasonló Ruby alatt.
Írtam korábban: itt jelenleg a cég által közbeékelt önaláírt cert-tel van (volt) baja, szóval _számomra_ jelenleg a biztonsági kockázat elfogadható.
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?