abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 23:55 | Komunita

Ubuntu 17.10 (Artful Aardvark) bude ve výchozím stavu zobrazovat Dok (Launcher). Jedná se o rozšíření GNOME Shellu Ubuntu Dock. To bylo forknuto z rozšíření Dash to Dock. Ukázka na YouTube [reddit].

Ladislav Hagara | Komentářů: 0
17.8. 15:33 | Nová verze

Byla vydána verze 17.08.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace kmag, kmousetool, kgoldrunner, kigo, konquest, kreversi, ksnakeduel, kspaceduel, ksudoku, kubrick, lskat a umbrello byly portovány na KDE Frameworks 5.

Ladislav Hagara | Komentářů: 0
17.8. 15:11 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-08-16 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější Raspbian je založen na Debianu 9 Stretch. Přehled novinek v poznámkách k vydání. Řešena je také bezpečnostní chyba Broadpwn (CVE-2017-9417).

Ladislav Hagara | Komentářů: 1
17.8. 12:33 | Nová verze

Byla vydána verze 3.2.0 programu pro skicování, malování a úpravu obrázků Krita. Přehled novinek v poznámkách k vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
17.8. 11:44 | IT novinky

Minulý týden na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. V nejnovějším příspěvku na blogu se organizace OpenAI o projektu více rozepsala a zveřejnila videozáznamy několika soubojů.

Ladislav Hagara | Komentářů: 7
16.8. 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
16.8. 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 8
16.8. 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
15.8. 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 143. brněnský sraz, který proběhne v pátek 18. srpna od 18:00 hodin ve sportovním areálu a restauraci BeachPub Sokolák u Brněnské přehrady aneb v hantecu u Prýglu.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (76%)
Celkem 353 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Czech blacklist info page && API

    27.7. 02:53 | Přečteno: 1890× | Výběrový blog | poslední úprava: 27.7. 22:58

    Tak jsem byl dnes přinucen přičuchnout si k MFCR a jejich úžasnému blacklistu... A to tak ze by jsem měl začít připravovat nástroje pro případnou implementaci DNS blokace na infrastruktuře zákazníka. Původně jsem chtěl nějak strojově zpracovat ono úžasné PDF tak že mi ze skriptu vypadne pouze název domén k blokaci, protože je ale ono PDF pěkný paskvil u kterého se mi nepodařilo ani ověřit digitální podpis, natož z něj vyparsovat všechny potřebné informace tak jsem se rozhodl jít jinou cestou a místo jednorázového scriptu vybudovat informační web s API odkud si pak můžou dané scripty tahat seznam k blokaci.

    Teď to může znít jako bych tímto projektem s blokací souhlasil nebo ji snad nějak legalizoval, za mě ji považuji za nelegalní zásah do svobody Českého Internetu ale náš zákazník náš pán... a když už něco takového dělám, tak proč to nedát veřejně a jako OSS ? Jen si představte že MFCR mělo na vybudování řádné infrastruktury několik měsíců a jediné s čím přišli je sprzněné PDF které ani nelze strojově zpracovat (tedy co jsem se ráčil s tím ztrácet čas) a já tento informační web s API a administrací vybudoval za pár hodin... ano jde to na něm vidět, ale stále je to mnohem lepší než cokoliv s čím by za stejný čas přišlo MFCR (A to mám pravděpodobně zaplaceno méně než člověk co splácal to PDF :-)). Tiše jen doufám že tvůrce toho PDF tento projekt uvidí a bude se alespon cítit trapně, v Japonsku by naběhl na svůj meč, tolik sebereflexe bouhužel čeští politici nemají :-P

    Takže co to vlastně umí ?

    Co by to mělo ještě umět ?

    V čem je to spáchané ?

    Projekt beží na https://blacklist.salamek.cz/ a zdrojáky jsou na GitHubu

    Enjoy (or not :-))        

    Hodnocení: 91 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    27.7. 03:15 ehm
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Trvám na přidání další položky do toho JSONu (u každého záznamu):
    "agent": "bureš"
    
    Salamek avatar 27.7. 03:20 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    To možná jako "easter egg" např parametrem ?reveal_agent_identity=1 :-P

    PR jsou vítány :-D
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Salamek avatar 28.7. 14:22 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Ehm: https://github.com/Salamek/blacklist/commit/194d80cce021d9d2794f9b08c433a39a3639f094
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Jendа avatar 27.7. 04:22 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Mohl by se ten náhledový obrázek škálovat na velikost toho políčka + možná být jenom v JPG? Takhle se tahá 17 mega a to je tam ta stránka teprve jedna.

    Parsovat nestačí PDF, je potřeba parsovat stránku, která odkazuje na stánku, která odkazuje na PDF.

    Btw. ta bet věc má tisíc dalších domén, např. https://1xbet60.com/, https://1xbet59.com/…, no asi všechna čísla od 1 do 100 + další jsou vidět jako altnames v těch certifikátech. To pak jako vydají tisícistránkové PDF?
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Salamek avatar 27.7. 04:41 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Jo na to už jsem nějak neměl náladu ale vím o tom: https://github.com/Salamek/blacklist/issues/1 ;-)

    No ja nějak doufal/doufám že to PDF bude na jedné stabilní URL, když se na to člověk podívá tak ta URL nevypadá nějak náhodně nebo unikátně pro dané vydání http://www.mfcr.cz/assets/cs/media/Zverejnovane-udaje-ze-Seznamu-nepovolenych-internetovych-her_v1.pdf

    O tom že má tento herní web "1000+" dalších domén vím, co s tím hodlá dělat MFCR netuším... je to hra na kočku a myš... domén 3 a 2 řádu si může ten herní portál založit plnou pr*el a lidi v MFCR z toho zešediví... ale to "jim" všichni říkali už před schválením toho zákona... takže ať si to pěkně vyžerou a klidně spravují PDF o milionech DNS :-P Pokud se nám to podaří nějak rozumě parsovat tak jsme v klidu... pokud ne tak z toho zešedivíme taky :-D

    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    27.7. 10:41 Petr
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Pokud to pro provozovatele toho herniho portalu bude zajimave, tak bude generovat domeny jednu za druhou. Osobne si ale myslim, ze z CR budou mit par desitek tisic kc a na to se vy*ebou.
    27.7. 17:08 Ludvik
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Co udělat sbírku, aby to implementovali?
    28.7. 22:42 lertimir | skóre: 60 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Potkal jsem i spamy, které jely s podsítě /22 s tím vždy byla vygenerovaná struktura /30 s adresami DNS systém, WWW server, mail server. včetně všech správných záznamů PTR, MX, NS. Web server byl na reálné IP ne virtuální WWW na hostingu. Za týden byla doména pryč a na stejných adresách byla jiná doména.
    vlastikroot avatar 27.7. 09:01 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Cenzor sadam :-D
    Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
    27.7. 11:24 Xerces
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Nechce se mi věřit, že by na ministerstvu byly takový ignoranti. Nemůže to být třeba záměrný bojkot realizátora? Něco ve stylu ... poslanci to schválili, ale my to uděláme tak, aby to šlo realizovat tak obtížně, aby se na to většina institucí vyprdla. :-)
    27.7. 15:19 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Problém je v tom, že "instituce" - tj. ISP - můžou dostat dost velký flastr.
    Quando omni flunkus moritati
    27.7. 18:26 Xerces
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Varianta 2 je ... Pojďme vyblejt něco prakticky nepoužitelnýho za velký peníz, však on už to někdo z OS komunity dotáhne do použitelnýho stavu zadarmo. Sebrat jim všem na ministerstvech a úřadech elektroniku a nechat jen rádia a telefony. To by je naučilo.
    28.7. 08:23 Vinicius
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    To by naučilo především ty, co od těch úřadů a ministerstev něco potřebují. Zajímavé by to bylo třeba na katastru nemovitostí.
    Acci avatar 28.7. 19:36 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Koho by to naučilo?
    30.7. 16:14 R
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Museli by si vykladat papierove karty na stole :D
    27.7. 12:16 VM
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Bylo by fajn přidat ke každému záznamu i původní IP adresu, třeba ve formátu /etc/hosts :-)
    27.7. 16:42 ehm
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    +1!
    xkucf03 avatar 27.7. 21:16 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Daně

    Na tohle pamatujte, až budete přemýšlet, jak vysoké platíme daně. Tyhle náklady, které na nás přenáší stát (tzn. nucené práce), je potřeba počítat úplně stejně jako daně, které platíme ve formě peněz. Totéž se týká třeba Centrální evidence účtů, celní deklarace nebo další vynucené „spolupráce“ se státem, které představují pro soukromý sektor náklady.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Acci avatar 27.7. 21:49 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Daně
    Naopak, ministerstvo zvolilo pro ně nejjednodušší a nejlevnější možné řešení a komunita si to poté upraví tak, jak jim to bude vyhovovat. Win-win situace.
    28.7. 10:36 Xerces
    Rozbalit Rozbalit vše Re: Daně
    Fakt bych to chtěl vidět jak to pdf vytváří. Pak bysme se mohli bavit o nejjednodušším a nejlevnějším řešení.
    27.7. 21:17 Petr
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    pdf2text by nestacil? Kazdopadne pouzit pdf na seznam domen muze opravdu jen urednik v Cesku :D
    xkucf03 avatar 27.7. 21:25 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    Buď rád, že to nevytiskli na papír, neorazítkovali a nanaskenovali do PDF.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    vlastikroot avatar 27.7. 21:27 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    To je moderni urednik, pouziva standardy. Spravny cesky urednik by to ulozil do .doc odsazeneho mezerama.
    Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
    Acci avatar 27.7. 21:44 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Jenže vy přemýšlíte jen jak to udělat technicky, ale do hry vstupují i zákony, kterými se ministerstvo musí řídit: takže třeba pokud by bylo distribuováno nějaké CSV, jak by se digitálně podepsalo, tak aby to bylo legální?
    xkucf03 avatar 27.7. 21:54 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    Co třeba MIME?

    Ale jinak je tahle otázka úplně zbytečná – ty zákony si vymyslel stát – to on si mohl napsat lepší.

    Je to jako kdybys přišel do obchodu, chtěl něco koupit, ale oni ti to nemohli prodat, protože by museli nejdřív zavolat do centrály a orazítkovat deset formulářů, protože jim to nařizují jejich interní předpisy. Je to jejich neschopnost.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Acci avatar 27.7. 22:06 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Problém je v tom, že nechápeš jak funguje stát. Stát není jedna organizace, ale několik desítek organizací s rozdílnými zájmy, které sice zastřešuje vláda, která se ovšem musí v mnoha věcech řídit zákony, které schvaluje parlament a vláda zákony může jen navrhovat.

    Spíš si stát představ jako rodiče s dětmi, kde děti by měli poslouchat rodiče (ale často je neposlouchají), rodiče mají občas odlišný názor na výchovu (máma řeknu že tam jít můžou, táta jim to zakáže) a rodiče musí poslouchat zákon a nemůžou je neposílat do školy (a ten zákon nemůžou prakticky ovlivnit).
    Jendа avatar 28.7. 00:05 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    To, že má stát interně bordel (což navíc není tento případ, ten zákon prošel od začátku do konce bez změn toho jednoho odstavce o cenzuře), taky není můj problém. Teda bohužel mi z toho teď můj problém udělali.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Acci avatar 28.7. 04:53 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Tomu „internímu bordelu” se říká dělba moci, základ demokracie.
    Jendа avatar 28.7. 10:41 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    A demokracie způsobila, že už první návrh byl úplně stejně dementní jako to, co nakonec přijali?
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    28.7. 12:14 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Omyl. Dělba moci je oddělení zákonodárství, výkonné moci a soudnictví. To, že je výkonná moc rozdělena do různých organizačních složek, které se "chovají, jako že mají různé zájmy", s demokracií a dělbou moci v ní nijak nesouvisí.
    Quando omni flunkus moritati
    Petr Tomášek avatar 28.7. 14:30 Petr Tomášek | skóre: 37 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Jendа avatar 27.7. 23:59 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    do hry vstupují i zákony, kterými se ministerstvo musí řídit
    V zákoně není o formátu, způsobu distribuce a dalších věcech napsáno vůbec nic.
    takže třeba pokud by bylo distribuováno nějaké CSV, jak by se digitálně podepsalo, tak aby to bylo legální?
    PGP
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Acci avatar 28.7. 04:57 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Tak on jaksi jeden zákon nefunguje sám o sobě, ale ministerstvo se musí řídit všemi zákony.
    PGP
    Cool, jaké právní následky má soubor podepsaný PGP?
    Jendа avatar 28.7. 10:40 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Tak on jaksi jeden zákon nefunguje sám o sobě, ale ministerstvo se musí řídit všemi zákony.
    Což zjevně stejně nedělá, protože třeba k tomu souboru se dá doklikat jenom přes HTTP. Btw. který že zákon upravuje způsob zveřejňování toho seznamu?
    Cool, jaké právní následky má soubor podepsaný PGP?
    Asi stejné jako některým jiným způsobem?
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Acci avatar 28.7. 15:44 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Což zjevně stejně nedělá, protože třeba k tomu souboru se dá doklikat jenom přes HTTP.
    Pokud vím, tak žádný zákon ani nařízení neřeší HTTPS.
    Asi stejné jako některým jiným způsobem?
    Ne, pokud tě to zajímá, začal bych tady: https://www.zakonyprolidi.cz/cs/2016-297.
    29.7. 09:48 Filip Jirsák | skóre: 66 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    pokud by bylo distribuováno nějaké CSV, jak by se digitálně podepsalo, tak aby to bylo legální?
    CSV formát pro tohle není zrovna vhodný, on to není moc formát – „texty v nějakém kódování na řádcích oddělených některým z konců řádků, s hlavičkou nebo bez hlavičky, jednotlivé položky jsou oddělené nějakým znakem, možná se používá nějaký znak pro escapování a možná se používá nějaké dvojice znaků pro uvozování“ není zrovna exaktní definice. Ale mohlo by to být třeba v XML, pro něj existuje a používá se standard pro podepisování.

    A jinak do PDF je možné vkládat souborové přílohy, takže ani není potřeba řešit nějaký formát pro podepisování – úplně by stačilo do toho PDF vložit strukturovanou přílohu (a zaručit, že tam bude vždy).
    xkucf03 avatar 29.7. 12:32 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Ale mohlo by to být třeba v XML, pro něj existuje a používá se standard pro podepisování.

    +1
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Salamek avatar 27.7. 23:01 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Periodicke stahovani a parsovani PDF je již vyřešené ;-)
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Jendа avatar 28.7. 00:03 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Nestačil, protože časem budou nějaké části „částečně začerněné“ (to není prdel, to fakt řekli), a nikdo neví, jak tohle bude fungovat, takže třeba místo s3.amazonaws.com pak budeš omylem blokovat zonaws.com.
    V případě odstranění údajů ze Seznamu, ve smyslu opaku zveřejnění údajů na Seznamu, dojde k překrytí (začernění) části příslušného řádku dokumentu .pdf tak, aby je nebylo možné přečíst. Pro potřebu Subjektů identifikovat, které údaje byly smazány, však vždy zůstane viditelný časový údaj zveřejnění a část adresy internetové stránky hazardní hry a jedinečného identifikátoru platebního účtu. Na příslušný řádek k nim přibyde časový údaj o jejich odstranění.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    28.7. 00:28 ehm
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Tak to už je fakt totální diletantství.
    Petr Tomášek avatar 28.7. 12:09 Petr Tomášek | skóre: 37 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Protože to vymýšlel nějaký ekonom a ne člověk se zdravým rozumem...
    xkucf03 avatar 28.7. 22:14 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    Neurážej ekonomy. Já jsem např. absolvent VŠE a se zvěrstvy, která provádí tenhle stát, rozhodně nesouhlasím.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Salamek avatar 28.7. 02:16 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    jedinečného identifikátoru platebního účtu

    WUT ? Snad nazev domeny je "UUID" ne ? co tam snupou za matros ? klidne muze byt 40 domen pod jednim bankovnim uctem... proc mam pocit ze nam vladnou uplni debilove ?
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    28.7. 02:25 ehm
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    To není pocit. Levicově orientovaným lidem to ale stejně nevysvětlíš.
    28.7. 06:37 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Co je časově složitější, generovat doménová jména 0-1000 nebo aktualizovat a podepisovat to pdf? :-D

    BTW co se stane pokud začne někdo používat IP adresy?
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Jendа avatar 28.7. 10:42 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    A co se stane, pokud někdo začne používat domain fronting?

    No asi nic. Prostě buď to zablokuješ nějak jinak, nebo dostaneš pokutu.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    28.7. 19:59 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Prostě buď to zablokuješ nějak jinak, nebo dostaneš pokutu.
    :-(
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    28.7. 11:35 MLN
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Salamek, len tak pre zaujimavost, co by sa asi stalo pokial by si odmietol (alebo nejako sa vyhovoril) naprogramovat ten cenzorsky sw ? Hrozilo by ti vezenie, vypoved z prace, znizenie platu ? Ak s tou myslienkou cenzury internetu nesuhlasit, preco sa napriklad nesnazis ten program napriklad sabotovat, aby bol nespolahlivy, nestabilny, spotreboval viac zdrojov nez je potrebne atd.

    Takto len prispievas k vitazstvu zla, podobne ako radovy kolaborant pred 70 rokmi. Dnes uz ani netreba otrokov strasit pomocou SS a koncentrakov, dnes otroci pracuju sami na obmedzeni svojej slobody.
    Luboš Doležel (Doli) avatar 28.7. 12:02 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Dokud se u nás nebude dělat blackhole IP adres, tak to ještě jde. MFČR podle všeho postačuje DNS block, takže si toho ani nevšimnu.
    Jendа avatar 28.7. 19:07 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Obávám se, že za rok si někdo všimne, že to všichni obcházejí, a rozhodnou se udělat to „lépe“.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Salamek avatar 28.7. 14:29 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    No uz jsem odmitnul psat a implementovat samotne scripty na servery ktere tu blokaci budou aplikovat, jedine s cim jsem souhlasil bylo ze zajistim zdroj seznamu, tzn tento projekt...

    A misto privatniho jednoducheho API kde by se crawl spoustel CRONem jsem se rozhodl to udelat trochu vetsi, verejne, OSS a hlavně tam přidám info jak blokaci obcházet + seznamy IP blokovaných domén + seznamy blokujících poskytovatelů - těch opravdových kolaborantů

    Vlastně jediné co je na tom projektu kontroverzní je to API...

    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Jendа avatar 28.7. 19:06 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Ak s tou myslienkou cenzury internetu nesuhlasit, preco sa napriklad nesnazis ten program napriklad sabotovat, aby bol nespolahlivy, nestabilny, spotreboval viac zdrojov nez je potrebne atd.
    Protože nechce dostat milionovou pokutu?
    Takto len prispievas k vitazstvu zla, podobne ako radovy kolaborant pred 70 rokmi.
    Nenapadá mě jiné řešení než se podřídit nebo přestat v ČR dělat ISP (a restauraci a řidiče a doručovatele a v budoucnu i spoustu dalších prací, kam stát strčil své hnusné prsty).
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Acci avatar 28.7. 19:39 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Nenapadá mě jiné řešení než se podřídit nebo přestat v ČR dělat ISP (a restauraci a řidiče a doručovatele a v budoucnu i spoustu dalších prací, kam stát strčil své hnusné prsty).
    Především lidi od IT mají rádi dichotomie: občané jsme mi a stát jsou oni. Doporučil bych ti pár semestrů sociologie abys zjistil, že reálný svět je o dost složitější.
    28.7. 20:16 zelenka
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    ja bych ti doporucil koleno do drzky
    Jendа avatar 28.7. 20:19 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Já se zákony, které jsem zmínil, nic společného nemám, strany, které je protlačily, jsem nevolil, a snažil jsem se proti tomu osvětou pomáhat.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Acci avatar 28.7. 21:26 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Tento tvůj příspěvek je součástí toho nepochopení :)
    29.7. 01:26 trekker.dk | skóre: 71
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Možná by bylo na čase, abyste s těmi bláboly zalezl do té pekelné díry, která vás vyvhrla. Děkuji.
    Quando omni flunkus moritati
    29.7. 09:44 MadCatX
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Zajímavé tvrzení; jak to tedy máme chápat správně? Je zřejmé, že zde existuje skupina lidí, kteří po existenci podobného zákona volali už dlouho. S dostatečně silnou podporou ve vládě dostali, co chtěli, což ale přece nijak neznamená, že je to všeobecně dobrý nápad nebo že s tím musím souhlasit. Veřejně jsem se hlásil k odporu už proti původnímu návrhu maestra Farského, volil jsem strany, které byly též proti, podepsal jsem několik peticí, vysvětloval jsem důvody svého nesouhlasu dalším lidem. V čem tedy tkví ta dichotomie, že jsem občanem a obyvatelem státu s jehož některými právními úpravami nesouhlasím?
    Petr Tomášek avatar 28.7. 12:04 Petr Tomášek | skóre: 37 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Tyvole, ajax.googleapis.com, maps.googleapis.com a maxcdn.bootstrapcdn.com, to si jako děláš prdel?! Takhle ty "děláš" webovky?

    To's už rovnou mohl tahat spy.nsa.mil...
    28.7. 14:06 MadCatX
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Nebudou tyhle závislosti zatažené spíš GitHubem? Ta lištička "Fork me on GitHub" určitě nebude jen tak nějaké primitivní tlačítko...
    Salamek avatar 28.7. 14:06 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    ROFL, ty jsi magoooor :-D

    Ne standardne delam weby uplne jinak, pouzivam vse co jde lokalne pres bower. Ale jak je v textu lehce naznaceno, projekt je sesit horkou jehlou a celou tu template jsem proste odnekud obshlehl a vubec jsem se s tim nesral. Úpravy v ní byly na plánu jako tuna dalších vecí...

    No a hlavne netrpim stihomamem, ale pokud mas obavy ze sledovani tveho pohybu na internetu tak pro to existuji pluginy ktere uz mas jiste nainstalovane...

    Ale ze jsi to ty ;-) https://github.com/Salamek/blacklist/commit/05066ee97647fcb9771f37fbf8088ddd24a0903c

    PS: Mozna by to chtelo trochu zklidnit pristup, nadech/vydech chill dyt se nic nedeje. Neco jako "Mohl by jsi prosím používat lokálni verze css/js ? Brát to z CDN podle mě není nejlepší nápad" a nebo rovnou PR
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    28.7. 12:34 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Hrozne se mi libi jak to vyresilo UPC.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    28.7. 20:03 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Ještě bych tam napsal jména těch co ten zákon schválili (když si babiš tak potrpí na jména - viz ty nahrávky).
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Bystroushaak avatar 28.7. 22:46 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Asi bude na čase přejít na nějakou VPN v cizině (jeden čas jsem používal italskou), protože to že přesměrovávají i SSL mi přijde dost pofidérní.
    29.7. 01:11 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Oni presmerovavaji *NA* https - podstrci IP adresu sveho serveru (tady je problem pokud automaticky lezes na https, vyskoci ti neplatny certifikat). A nasledne te to po 1.5s javascriptem presmeruje na https://blocked.dkm.cz.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    Bystroushaak avatar 29.7. 02:56 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Oni presmerovavaji *NA* https - podstrci IP adresu sveho serveru (tady je problem pokud automaticky lezes na https, vyskoci ti neplatny certifikat). A nasledne te to po 1.5s javascriptem presmeruje na https://blocked.dkm.cz.
    Jo, já vím, taky mám UPC. Zkoušel jsem přejít rovnou na HTTPS verzi a docela mě to chování zarazilo. Znamená to, že mají deep packet inspection na aplikační úrovni (https), což je trochu jiný level než běžné blokování. Což se mi jako zákazníkovi zrovna nelíbí, protože to prostě probouzí otázky, co s tím ještě asi tak dělají / budou dělat.
    30.7. 16:49 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Ale ne. Oni podvrhuji DNS. A DNS server nevi jestli pujdes na http, https, ssh nebo telnet :) Zadny DPI.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    Jendа avatar 29.7. 07:11 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Oni nepřesměrovávají SSL, oni ti to resolvnou na adresu svého serveru, kde prostě běží webserver (mimo jiné s HTTPS). Žádného DPI jsem si nevšiml (zkoušel jsem skrz jejich síť posílat i SNI a nic).
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Bystroushaak avatar 29.7. 13:36 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Na IP úrovni? Ale to pak vyblokují server kde můžou být stovky stránek, ne?
    Marek Stopka avatar 29.7. 17:55 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Na IP úrovni?
    Ne, na úrovni DNS.
    Ale to pak vyblokují server kde můžou být stovky stránek, ne?
    Ne.
    xkucf03 avatar 29.7. 18:48 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    Zrovna u tebe bych čekal, že víš, jak funguje DNS a Internet :-)

    Klient se DNS serveru normálně dotáže na IP adresu domény www.nejaka-zakazana-stranka.cz a místo reálné IP adresy 91.213.160.348 dostane a) chybovou odpověď NXDomain (Non-Existent Domain) nebo Refused (Query Refused) nebo b) podvrženou odpověď s IP adresou např. 213.46.256.24, na které ISP provozuje HTTP server s nějakou vysvětlující stránkou. DNS server neví nic o tom, jestli uživatel chce přeložit tu doménu kvůli HTTP, HTTPS nebo jinému protokolu.

    Prohlížeč zobrazí buď chybu nebo tu informační stránku (pokud je to přes HTTPS, tak to nebude fungovat, resp. zobrazí se hláška o nedůvěryhodném certifikátu).

    Na IP adrese 91.213.160.348, kde běží ta zakázaná služba, může běžet klidně tisíc dalších nezávislých webů/služeb – těch se blokace (v současné verzi) nijak nedotkne, protože používají jiná doménová jména.

    P.S. ty IP adresy jsou záměrně neexistující

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    29.7. 22:03 lertimir | skóre: 60 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    UPC nemám, ale nechápu proč, když bych byl v jejich síti, bych měl používat jejich recursor. To zablokovávají port 53, že by mě nefungoval můj vlastní recursívní DNS server?
    29.7. 22:10 Vantomas | skóre: 25 | Praha
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    A proč by to blokovali? Zákon ani metodika nic takového nevyžaduje.
    29.7. 22:56 lertimir | skóre: 60 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    V tom případě to ale nepřesměrují. Pokud můj rekurzor začne řešit resoluci od kořenového serveru, (nota bene ještě s DNSSEC záznamy) tak jestli UPC neco podvrhuje je nezajímavé. A výše popsaná situace kterou popisují kolegové nenastane.
    30.7. 16:51 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Jasne, pokud mas vlastni rekurzivni server tak jsi za vodou.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    Jendа avatar 30.7. 01:53 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Zákon to možná vyžaduje. Resp. pokud lze blokaci obejít tak triviálním způsobem, tak ISP zjevně nevynaložil veškeré úsilí, které bylo možno požadovat, a musí tak zaplatit pokutu.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Jendа avatar 30.7. 01:52 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    UPC nemám, ale nechápu proč, když bych byl v jejich síti, bych měl používat jejich recursor.
    A proč ne? Ne každý má doma router/server, na kterém by měl vlastní.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    Bystroushaak avatar 30.7. 00:53 Bystroushaak | skóre: 32 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Zrovna u tebe bych čekal, že víš, jak funguje DNS a Internet :-)
    To tak nějak více/méně vím (no dobře, úplně do hloubky jsem nešel, ale třeba nakonfigurovat BGP ještě snad zvládnu), ale nevím jak funguje to jejich blokování a jsem líný si s tím teď hrát. Když jsem dělal v ComSource na blokaci DDoS útoků, tak jsme měli různé nástroje na inspekci, tak možná si jen představuji moc velký over-ingeneering. Pokud to je jen na DNS úrovni, tak ok.
    xkucf03 avatar 30.7. 00:57 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    Z pohledu ISP je hlavní, aby to moc nestálo a aby nedostali pokutu.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    28.7. 14:04 MadCatX
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Moc hezké, MFČR by se mělo celé chytnout za nos. Ještě by to chtělo kontrolovat podpis toho PDFka, když MFČR neumí nasadit HTTPS. Letmo jsem mrknul, jak by se to dalo provést, přičemž jsem zjistil tohle:
    inPdf = PdfFileReader(open('mypdf.pdf', 'rb'))
    
    fields = inPdf.getFields()
    
    if fields == None:
        print("No fields to extract")
        # Zdechni
    
    signaturePayload = fields['Signature2']['/V']['/Contents']
    
    vyextrahuje z toho PDFka PKCS7 balíček ve formátu ASN, který obsahuje příslušný certifikát. PyOpenSSL s PKCS7 moc pracovat neumí, takže minimálně na získání certifikátu, kterým je to podepsané by se muselo něco vyrobit. Např. GnuTLS by to celé zvládlo bez problémů, otázka ale je, jak moc se ti chce navěsit na ten tvůj systém nějaké zvěrstvo v C.
    Salamek avatar 28.7. 14:17 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    Díky, jako začátek to vypadá slibně :)

    Včera jsem se motal kolem pdfsig 0.48.0 a ten to PDF ověřit nedokáže...

    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    30.7. 18:04 MadCatX
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    pdfsig 0.56 si s tím neporadí taky, asi jde o nějaký novější formát podpisu. Jednoduchý hack s GnuTLS mi to ověří dobře a částečně jsem se inspiroval kódem z poppleru, takže by asi nebylo tak složité pdfsig naučit pracovat i s tímhle podpisem.

    Mimochodem jsem narazil na jednu zvláštnost. Array s PKCS #7 daty obsaženými v tom PDFku má na konci nulový padding. OpenSSL ten padding očividně nevadí ale třeba GnuTLS či Kleopatře (nevím, co ta používá) ano a odmítnou takový PKCS #7 blok přečíst. Poppler používá kryptoknihovnu NSS, s tou jsem to nezkoušel.
    Salamek avatar 30.7. 20:44 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Nejake examles jak jsi provedl to overeni PDF ? Ja jsem tak na polovine cesty :D Proste /ETSI.CAdES.detached nejak neumi zadna knihovna co jsem zkousel krome knihovny v Java (uz jsem premyslel ze to doplnim do nejake PDF Python lib obslehnutim logiky z te Java knihovny...)
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    31.7. 10:59 MadCatX
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Šel jsem na to pythoním skriptem, kterým vyextrahuji ten podpis a blok podepsaných dat a miniprogramem v C, který ta data ověří. PyOpenSSL nejspíš použít nelze, protože v tom wrapperu chybí podpora pro práci s PKCS#7 balíčky. Wrapper pro GnuTLS jsem nezkoušel. Skoro nejschůdnější by mi přišlo opravit poppler a ověřování nechat na pdfsig. Když jsem koukal na ten patch pro poppler, který přidává podpodu pro kontrolu digitálních podpisů, měl jsem pocit dopsat podporu pro "detached" podpisy by mělo být jednoduché.

    Kód je samozřejmě dost ad-hoc hack:

    Extraktor:
    #! /usr/bin/python
    
    from PyPDF2 import PdfFileReader
    import os
    import sys
    
    class InvalidPdfSignature(Exception):
        pass
    
    class NullPKCS7Payload(Exception):
        pass
    
    class SignedRanges:
        def __init__(self, r2, r3, r4):
            self.range_one = r2
            self.range_two = r4
            self.bytes_skip = r3
    
        def total_length(self):
            return self.range_two + self.bytes_skip
    
    
    def has_usable_signature(pdfh):
        fields = pdfh.getFields();
    
        if fields == None:
            print('No metadata in PDF')
            return False
    
        if not ('Signature2' in fields):
            print('No signature information in PDF')
            return False
    
        if not ('/V' in fields['Signature2']):
            print('No field V in signature information')
            return False
    
        signature_v = fields['Signature2']['/V']
    
        if not ('/ByteRange' in signature_v):
            print('No field "ByteRange" in signature information')
            return False
    
        if len(signature_v['/ByteRange']) != 4:
            print('"/ByteRange" does not have the expected dimensions')
            return False
    
        if not ('/Contents' in signature_v):
            print('No field "Contents" in signature information')
            return False
    
        if not ('/SubFilter' in signature_v):
            print('No information about signature type')
            return False
    
        if signature_v['/SubFilter'] != '/ETSI.CAdES.detached':
            print('Unsupported type of signature: {}'.format(fields['Signature2']['/SubFilter']))
            return False
    
        return True
    
    def strip_pkcs7_padding(pkcs7):
        for idx in range(len(pkcs7) - 1, 0, -1):
            byte = pkcs7[idx]
            if byte != 0:
                return pkcs7[:idx + 1]
    
    def get_signature_info(filename):
        pdfh = PdfFileReader(open(filename, 'rb'))
    
        if has_usable_signature(pdfh) == False:
            raise InvalidPdfSignature
    
        fields = pdfh.getFields()
        signature_v = fields['Signature2']['/V']
    
        byterange = signature_v['/ByteRange']
        pkcs7 = signature_v['/Contents']
    
        sigRngs = SignedRanges(byterange[1], byterange[2], byterange[3])
        pkcs7 = strip_pkcs7_padding(pkcs7)
    
        if len(pkcs7) < 1:
            raise NullPKCS7Payload
    
        return (sigRngs, pkcs7)
    
    
    if len(sys.argv) < 2:
        print('No PDF file was given')
        sys.exit(1)
    
    pdf_path = sys.argv[1]
    
    try:
        sign_info = get_signature_info(pdf_path)
        sigRngs = sign_info[0]
        pkcs7 = sign_info[1]
    
        pdf_base_path = os.path.basename(pdf_path)
    
        ldot_idx = pdf_base_path.rfind('.')
        if ldot_idx == -1:
            ldot_idx = len(pdf_base_path)
    
        plain_name = pdf_base_path[:ldot_idx]
    
        if os.stat(pdf_path).st_size < sigRngs.total_length():
            print('Size of the PDF file is smaller than the range of signed data')
            sys.exit(1)
    
        pdf_bin = open(pdf_path, 'rb')
    
        signed_bytes = bytearray()
        signed_bytes += pdf_bin.read(sigRngs.range_one)
        pdf_bin.seek(sigRngs.bytes_skip)
        signed_bytes += pdf_bin.read(sigRngs.range_two)
    
        signed_bytes_out = open(plain_name + '_signed.dat', 'wb')
        signed_bytes_out.write(signed_bytes)
    
        pkcs7_out = open(plain_name  + '.p7b', 'wb')
        pkcs7_out.write(pkcs7)
    
    except InvalidPdfSignature:
        print('PDF does not contain a usable signature')
        sys.exit(1)
    
    except NullPKCS7Payload:
        print('Null PKCS#7 payload')
        sys.exit(1)
    
    sys.exit(0)
    
    Verifikátor:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <sys/mman.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    #include <fcntl.h>
    #include <unistd.h>
    #include <time.h>
    #include <gnutls/gnutls.h>
    #include <gnutls/crypto.h>
    #include <gnutls/x509.h>
    
    #define BAD_LSEEK(len) len == (off_t)-1
    
    int map_pkcs7_file(int fd, gnutls_datum_t *datum)
    {
    	const off_t pkcs7_raw_size = lseek(fd, 0, SEEK_END);
    	if (BAD_LSEEK(pkcs7_raw_size)) {
    		fprintf(stderr, "Cannot determine the size of the PKCS7 file\n");
    		return -1;
    	}
    	printf("Signature file size: %ld\n", pkcs7_raw_size);
    
    	datum->data = (unsigned char *) mmap(NULL, pkcs7_raw_size, PROT_READ, MAP_PRIVATE, fd, 0);
    	if (datum->data == MAP_FAILED) {
    		fprintf(stderr, "Cannot mmap PKCS7 data\n");
    		return -1;
    	}
    
    	datum->size = pkcs7_raw_size;
    
    	return 0;
    }
    
    int map_data_to_verify(int fd, gnutls_datum_t *datum)
    {
    	const off_t data_size = lseek(fd, 0, SEEK_END);
    	if (BAD_LSEEK(data_size)) {
    		fprintf(stderr, "Cannot determine size of the signed data\n");
    		return -1;
    	}
    
    	printf("Signed block size: %zu\n", data_size);
    
    	datum->data = (unsigned char *) mmap(NULL, data_size, PROT_READ, MAP_PRIVATE, fd, 0);
    	if (datum->data == MAP_FAILED) {
    		fprintf(stderr, "Failed to mmap data to verify\n");
    		return -1;
    	}
    
    	datum->size = data_size;
    
    	return 0;
    }
    
    int find_certificate(gnutls_pkcs7_t pkcs7, gnutls_pkcs7_signature_info_st *sig_info, gnutls_x509_crt_t *cert)
    {
    	int crt_cnt = gnutls_pkcs7_get_crt_count(pkcs7);
    	int idx;
    	int ret;
    
    	printf("Number of certificates in the given PKCS7 bundle: %d\n", crt_cnt);
    
    	gnutls_x509_crt_init(cert);
    	for (idx = 0; idx < crt_cnt; idx++) {
    		gnutls_datum_t cert_raw;
    		gnutls_datum_t cert_print;
    		unsigned char *cert_serial = NULL;
    		size_t cert_serial_size = 0;
    
    		memset(&cert_raw, 0, sizeof(cert_raw));
    
    		ret = gnutls_pkcs7_get_crt_raw2(pkcs7, idx, &cert_raw);
    		if (ret < 0) {
    			fprintf(stderr, "Cannot get raw certificate: %s\n", gnutls_strerror(ret));
    			continue;
    		}
    
    		ret = gnutls_x509_crt_import(*cert, &cert_raw, GNUTLS_X509_FMT_DER);
    		if (ret < 0) {
    			fprintf(stderr, "Cannot import certificate %d of %d, skipping\n", idx + 1, crt_cnt);
    			goto next;
    		}
    
    		if (gnutls_x509_crt_print(*cert, GNUTLS_CRT_PRINT_ONELINE, &cert_print) < 0) {
    			fprintf(stderr, "Cannot print certificate\n");
    			goto next;
    		}
    
    		printf("%s\n", cert_print.data);
    		gnutls_free(cert_print.data);
    
    		ret = gnutls_x509_crt_get_serial(*cert, cert_serial, &cert_serial_size);
    		if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER) {
    			fprintf(stderr, "Cannot get certificate serial: %s\n", gnutls_strerror(ret));
    			goto next;
    		}
    
    		cert_serial = (unsigned char *) malloc(cert_serial_size);
    		if (cert_serial == NULL) {
    			fprintf(stderr, "No memory to get cerificate serial\n");
    			goto next;
    		}
    
    		ret = gnutls_x509_crt_get_serial(*cert, cert_serial, &cert_serial_size);
    		if (ret < 0) {
    			fprintf(stderr, "Cannot get certificate serial: %s\n", gnutls_strerror(ret));
    			goto next_2;
    		}
    
    		if (cert_serial_size != sig_info->signer_serial.size)
    			goto next_2;
    
    		if (memcmp(cert_serial, sig_info->signer_serial.data, cert_serial_size) != 0)
    			goto next_2;
    		else {
    			free(cert_serial);
    			gnutls_free(cert_raw.data);
    			return 0;
    		}
    
    next_2:
    		free(cert_serial);
    next:
    		gnutls_free(cert_raw.data);
    	}
    
    	gnutls_x509_crt_deinit(*cert);
    
    	return -1;
    }
    
    void verify_data(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t cert, gnutls_pkcs7_signature_info_st *sig_info, gnutls_datum_t *to_verify)
    {
    	unsigned int hash_size = gnutls_hash_get_len(sig_info->algo);
    	int ret;
    	void *digest;
    
    	digest = malloc(hash_size);
    	if (digest == NULL) {
    		fprintf(stderr, "No memory to store digest\n");
    		return;
    	}
    
    	ret = gnutls_hash_fast(sig_info->algo, to_verify->data, to_verify->size, digest);
    	if (ret < 0)
    		fprintf(stderr, "Cannot calculate digest: %s\n", gnutls_strerror(ret));
    	else {
    		int jdx;
    		int verify_ret;
    
    		printf("Data digest: ");
    		for (jdx = 0; jdx < hash_size; jdx++)
    			printf("%x", ((unsigned char *) digest)[jdx]);
    		putchar('\n');
    
    		verify_ret = gnutls_pkcs7_verify_direct(pkcs7, cert, 0, to_verify, 0);
    
    		printf("Verification result: %s\n", gnutls_strerror(verify_ret));
    	}
    
    	free(digest);
    }
    
    void verify_signature(gnutls_pkcs7_t pkcs7, int sig_idx, gnutls_datum_t *to_verify)
    {
    	gnutls_pkcs7_signature_info_st sig_info;
    	gnutls_x509_crt_t cert;
    	int ret;
    	unsigned int idx;
    
    	ret = gnutls_pkcs7_get_signature_info(pkcs7, sig_idx, &sig_info);
    	if (ret < 0) {
    		fprintf(stderr, "Cannot get PKCS7 signature info: %s\n", gnutls_strerror(ret));
    		return;
    	}
    
    	printf("Signature key serial ID: ");
    	for (idx = 0; idx < sig_info.signer_serial.size; idx++)
    		printf("%x", sig_info.signer_serial.data[idx]);
    	putchar('\n');
    
    	if (find_certificate(pkcs7, &sig_info, &cert) < 0) {
    		fprintf(stderr, "No certificate with matching serial ID was found in the PKCS7 bundle\n");
    		gnutls_pkcs7_signature_info_deinit(&sig_info);
    		return;
    	}
    
    	verify_data(pkcs7, cert, &sig_info, to_verify);
    
    	gnutls_x509_crt_deinit(cert);
    	gnutls_pkcs7_signature_info_deinit(&sig_info);
    }
    
    void verify_all_signatures(gnutls_pkcs7_t pkcs7, gnutls_datum_t *to_verify)
    {
    	int sig_cnt;
    	int idx;
    
    	sig_cnt = gnutls_pkcs7_get_signature_count(pkcs7);
    	printf("Number of signatures in the given PKCS7 bundle: %d\n", sig_cnt);
    
    	for (idx = 0; idx < sig_cnt; idx++)
    		verify_signature(pkcs7, idx, to_verify);
    }
    
    int main(int argc, char **argv)
    {
    	int ret;
    	int gnu_ret;
    	int sig_fd, data_fd;
    	gnutls_pkcs7_t pkcs7;
    	gnutls_datum_t pkcs7_raw;
    	gnutls_datum_t to_verify;
    
    	if (argc < 3) {
    		fprintf(stderr, "Name of the signature file and the data to check must be specified\n");
    		return EXIT_FAILURE;
    	}
    
    	if (gnutls_global_init() < 0) {
    		fprintf(stderr, "Cannot initialize gnutls\n");
    		return EXIT_FAILURE;
    	}
    
    	if (gnutls_pkcs7_init(&pkcs7) < 0) {
    		fprintf(stderr, "Cannot initialize pkcs7 handle\n");
    		ret = EXIT_FAILURE;
    		goto out;
    	}
    
    	sig_fd = open(argv[1], O_RDONLY);
    	if (sig_fd < 0) {
    		fprintf(stderr, "Cannot open PKCS7 file\n");
    		ret = EXIT_FAILURE;
    		goto out;
    	}
    
    	data_fd = open(argv[2], O_RDONLY);
    	if (data_fd < 0) {
    		fprintf(stderr, "Cannot open data to verify\n");
    		close(sig_fd);
    		ret = EXIT_FAILURE;
    		goto out;
    	}
    
    	if (map_pkcs7_file(sig_fd, &pkcs7_raw) < 0)
    		goto out_2;
    
    	if (map_data_to_verify(data_fd, &to_verify) < 0)
    		goto out_3;
    
    	gnu_ret = gnutls_pkcs7_import(pkcs7, &pkcs7_raw, GNUTLS_X509_FMT_DER);
    	if (gnu_ret != 0) {
    		fprintf(stderr, "Cannot import PKCS7 package :%s\n", gnutls_strerror(gnu_ret));
    		ret = EXIT_FAILURE;
    		goto out_4;
    	}
    
    	verify_all_signatures(pkcs7, &to_verify);
    
    	gnutls_pkcs7_deinit(pkcs7);
    
    out_4:
    	munmap(to_verify.data, to_verify.size);
    
    out_3:
    	munmap(pkcs7_raw.data, pkcs7_raw.size);
    
    out_2:
    	close(data_fd);
    	close(sig_fd);
    
    out:
    	gnutls_global_deinit();
    	return ret;
    }
    
    1.8. 22:56 MadCatX
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Patch pro podporu ETSI.CAdES.detached podpisu v poppleru. Skutečně to bylo jednoduché :)

    https://bugs.freedesktop.org/show_bug.cgi?id=102007
    Salamek avatar 2.8. 20:33 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    WoW, to bylo jako vse co bylo potreba ? :-D

    Ted jeste pockat 1000 let nez se to dostane do debianu... :-D No nic jde se kompilovat

    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Salamek avatar 2.8. 21:12 Salamek | skóre: 21 | blog: salamovo
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    Nakonec jsem musel pouzit https://bugs.freedesktop.org/attachment.cgi?id=133194 na aktualni poppler master a:

    sadam@sadam-MS-7885:~/projects/poppler/utils$ ./pdfsig ~/projects/blacklist/static/pdf/2101adc3aa7a359db51e08af0303e8f0.pdf
    Digital Signature Info of: ~/projects/blacklist/static/pdf/2101adc3aa7a359db51e08af0303e8f0.pdf
    Signature #1:
      - Signer Certificate Common Name: Mgr. Karel Blaha
      - Signer full Distinguished Name: serialNumber=ICA - 10416498,title=Ředitel odboru,O=Česká republika - Ministerstvo financí,OU=Ministerstvo financí,OU="Letenská 15, 118 10 PRAHA 1",OU=14838,C=CZ,givenName=Karel,SN=Blaha,CN=Mgr. Karel Blaha
      - Signing Time: Jul 26 2017 10:18:25
      - Signing Hash Algorithm: SHA-256
      - Signature Type: ETSI.CAdES.detached
      - Signed Ranges: [0 - 160185], [205497 - 266426]
      - Total document signed
      - Signature Validation: Signature is Valid.
      - Certificate Validation: Certificate issuer isn't Trusted.
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Acci avatar 28.7. 22:35 Acci | skóre: 3 | blog: Jen na chvíli…
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Ještě by to chtělo kontrolovat podpis toho PDFka, když MFČR neumí nasadit HTTPS.
    To spolu úplně nesouvisí, i pokud by tam měli HTTPS, tak je důležité kontrolovat podpis. HTTPS je v tomto případě spíš třešnička na dortu.
    29.7. 06:25 MadCatX
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Jasně, ale riziko, že ti někdo podstrčí jiný HTTP stream kdekoliv po cestě je o dost vyšší, než že ten dokument vymění přímo na serverech MFČR. I když bych se tedy zvlášť nedivil ani tomu...
    Jendа avatar 29.7. 07:14 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API
    Zajímalo by mě, jaký nárůst návštěvnosti z ČR 1xbet.com zažil. Podle mě o nějaké takové stránce většina lidí dosud nevěděla.
    tf_train.py:93: global_step=110749, loss=1.4074e+17
    xkucf03 avatar 29.7. 12:39 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Czech blacklist info page && API

    +1

    Na druhou stranu: sázet kvůli tomu nezačnu – a naopak kdybych se o sázení zajímal a ten web za něco stál, tak bych ho nejspíš znal už dřív.

    IMHO tam spousta lidí vleze ze zvědavosti, ale moc nových platících zákazníků jim to nepřidá.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    30.7. 03:16 ehm
    Rozbalit Rozbalit vše Mrdat stát
    Se člověku těžce popisuje ta rage, kterou prožívá, když vidí, jak byl do praxe uveden další naprosto zkurvený zákon. Hazardování na podobných webech se nejspíš týkalo naprosto minoritní skupiny lidí, která tím škodila zejména sama sobě. Ale stát se asi cítí ochuzen o příjmy, tak to zákonem plošně zakáže. Představuje to investice pro všechny ISP – opět citelné zejména pro ty malé – a navíc uvádí do praxe nástroj zneužitelný pro cenzuru.

    A z druhé strany se neustále potýkám s nadměrným hlukem a rušením nočního klidu, často posvěceným městem. Co je platné zavolat na městskou policii, když akorát řeknou, že s tím nic dělat nemůžou a povolenou hranici to nepovoluje? Když oni s tím nic dělat nemůžou, tak kdo tedy? Mám si najmout bandu Ukrajinců a nechat to tam vymlátit, abych se mohl vyspat? A ne jen já, protože tam těch lidí volá víc. A vím i o nějakých stížnostech na město – samozřejmě zbytečných. Čili i kdyby volby vyhrál někdo, kdo má jinou motivaci než namastit si kapsu nebo nechat si vymrdat prdel nějakým unijním prasomrdem, neudrží se tam po dalších volbách znovu, protože lidi neuvidí okamžité výsledky (a taky možná nebudou mít to štěstí, aby zrovna rostla ekonomika – což nebude jejich vina, ale přesto to odserou).

    Do kuřáckých podniků jsem téměř nechodil. Tak to zakážou, aby chránili moje zdraví. Ale že mi někdo funí kouř do ksichtu pod krytou zastávkou, kde je kouření zakázáno už jak dlouho, nikoho netankuje. Kdo to vymáhá? Asi nikdo, protože se s tím setkávám často.

    A kdo vlastně hlídá ty státní hranice a zajišťuje vnitrostátní bezpečnost? Kde že je ta státní suverenita a možnost rozhodnout, koho sem chceme nebo nechceme pustit? Není to takhle náhodou ta úplně nejzákladnější úloha státu?

    Takže místo toho, aby někdo řešil situace, kdy někdo pošlapává práva jiných a ti se proti tomu nemají jak přiměřeně bránit (leda slovní výzvou – a v některých případech tak riskovat fyzickou potyčku, kde si snad prvně musíte nechat rozbít držku, aby následná reakce mohla být klasifikována jako přiměřená obrana), popř. vymáhaly už existující zákony, se jen přidávají zákony nové a zdaleka ne tak potřebné.

    A pak se podíváš třeba sem do diskuzí a lidi jsou s to se tu do krve hádat za „sociální stát“, aniž by přišli s nějakým reálným a proveditelným plánem, jak ten stát odkurvit – třeba návrhem lepšího systému než je demokracie. Budou držkovat, že zastánci Svobodných jsou asociální ajťáci, co nechápou, jak funguje „běžný život“ (samozřejmě rodinný), a úplně jim uniká ta hlavní pointa: že koncentrovat moc v rukou státu je nebezpečné, zneužitelné a často neefektivní, a že je potřeba hromadně odstraňovat a zjednodušovat existující zákony prioritně před přidáváním nových, a zároveň dodržování těch zákonů vynutit. Jen tak lze udržet stabilní právní stát; a až tohoto stavu dosáhneme, nebo se mu alespoň uspokojivě přiblížíme, tak se můžeme bavit dál. To je ovšem úkol na zcela určitě více než jedno volební období a „demokracie“ (ačkoliv máme už spíš vládu marketingu než vládu lidu), kde se partaje střídají po nejvýše čtyřech letech, dlouhodobému plánování opravdu nepřeje.

    MRDAT STÁT! (Volitelně si mezi obě slova doplňte čárku.)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.