Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.
Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU
… více »GHC (Glasgow Haskell Compiler, Wikipedie), tj. překladač funkcionálního programovacího jazyka Haskell (Wikipedie), byl vydán ve verzi 9.10.1. Přehled novinek v poznámkách k vydání.
Po 9 týdnech vývoje od vydání Linuxu 6.8 oznámil Linus Torvalds vydání Linuxu 6.9. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.
Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.
Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.
Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
Skupina zaměřená na koordinaci a shromažďování informací prospěšných projektu Multiplatformní přístup pro datové schránky.
Založena: | 5. 10. 2009 |
Členů: | 26 |
Článků: | 0 |
Wiki stránek: | 7 |
Dotazů: | 22 |
Akcí: | 0 |
Čtenost: | 25 % |
Skóre: | 19 |
Dostal jsem se k posílání zpráv do ISDS. Odeslal jsem zprávu s tímto dokumentem:
<dmFile dmMimeType="text/plain" dmFileMetaType="enclosure" dmFileDescr="Standard text"> <dmEncodedContent>SGVsbG8gV29ybGQhAA== </dmEncodedContent> </dmFile>
A nedovede si představit, co že mi přišlo za chybu:
Server did not accept message for vqbab52 on CreateMessage request (code=1214, message=Přípona souboru přiloženého k datové zprávě není v seznamu povolených přípon
Co to sakra je? Takhle si představují kontrolu na přípustné formáty? Od čeho máme atribut @dmMimeType? Proč si do @dmFileDescr nemůžu napsat, co chci, když i dokumentace říká:
může obsahovat jméno souboru, příp. jiný popis. Objeví se v seznamu příloh na portále
Tohle mi hlava nebere. Nevíte někdo, jak to tedy je? Znamená to, že si /etc/passwd přes ISDS nepošlu? A to jsem už překousl, že se příjemce nikde nedozví, v jaké znakové sadě je ten text.
code=1214, message=Obsah souboru přiloženého k datové zprávě neodpovídá příponě souboru. Tak buď jsem přehlédl něco fatálního já, nebo to mají nějaké rozbité oni.
To je divný. Kóduji ten text do MIME Base64 správně? Níže je požadavek, který selže. Nevidíte tam nějakou chybu?
SOAP request to sent to https://www.czebox.cz/DS/dz: <?xml version="1.0" encoding="UTF-8"?> <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <Body> <CreateMessage xmlns="http://isds.czechpoint.cz/v20"> <dmEnvelope> <dmSenderOrgUnit/> <dmSenderOrgUnitNum>42</dmSenderOrgUnitNum> <dbIDRecipient>vqbab52</dbIDRecipient> <dmRecipientOrgUnit/> <dmRecipientOrgUnitNum/> <dmToHands/> <dmAnnotation>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</dmAnnotation> <dmRecipientRefNumber/> <dmSenderRefNumber/> <dmRecipientIdent/> <dmSenderIdent/> <dmLegalTitleLaw/> <dmLegalTitleYear/> <dmLegalTitleSect/> <dmLegalTitlePar/> <dmLegalTitlePoint/> <dmPersonalDelivery/> <dmAllowSubstDelivery/> <dmOVM/> </dmEnvelope> <dmFiles> <dmFile dmMimeType="text/plain" dmFileMetaType="main" dmFileDescr="standard_text.txt"> <dmEncodedContent>SGVsbG8gV29ybGQhAA== </dmEncodedContent> </dmFile> </dmFiles> </CreateMessage> </Body> </Envelope>
$ echo "SGVsbG8gV29ybGQhAA==" | base64 -d | od -c 0000000 H e l l o W o r l d ! \0 0000015
dmFileDescr - název vloženého souboru, povinný údaj, objeví se na Portále v seznamu písemností. Z jeho přípony Portál usuzuje na typ souboru a umožňuje provést další akce, např. umožnit odeslání k autorizované konverzi pro soubor typu PDF.V té dokumentaci je spousta nesrovnalostí, u podepsané přijaté zprávy má být jmenný prostor podle dokumentace "isds.czebox.cz/v20/message", ve skutečnosti je "http://isds.czechpoint.cz/v20/message". Kvalifikovaná časová značka podání zprávy není v dokumentaci nijak specifikována, ale jedná se o RFC 3161. Něco málo o tom jsem napsal na wiki.
No je to naprosté diletanství. To by mohli @dmMimeType rovnou zrušit. Nikde není seznam jediných správných přípon. Zvláštní jmenný prostor pro podepsané obálky je taky hloupost, protože ten podpis je nad obálkou a jmenný prostor identifikuje druh dat (obálka jako obálka), nikoliv jakousi externí vlastnost – být podepsán.
Ale i takový jev, že zpráva má jiný tvar podle toho, jestli se odesílá, přijímá nebo se stahuje doručenka, mi pije krev. Vždyť všechno mohla být formálně stejná zpráva a do ní jen přilepovat nové údaje, podle toho, jak se mění její stav (podaná, doručená, přijatá).
S tím souvisí moje otázka: Jak jste řešil lokální ukládání? Já jsem původně chtěl poskytnout aplikaci syrové SOAP tělo, jenže protože různé požadavky vrací stejnou zprávu jinak, tak jsem to zavrhl. Ve čtvrté příloze je formát ESS. Má smysl se s ním lopotit? Nechce se mi vymýšlet další formát, kterému by rozuměl jen můj program.
Dalším extrabuřtem je jiný formát pro informace o schránce ve zprávě a v informacích o schránce. Opět to jsou stejné údaje, jen pro potěšení spisových služeb, aby se nemuseli s těmito údaji formátovat, jim tyto údaje předžvýká ISDS. Takže z přijaté zprávy nelze strojově zjistit, kdo a komu ji poslal. Přitom stačilo do zprávy nastrkat dbOwnerInfo.
Je-li u písemnosti specifikován mime-type, nesmí být na seznamu zakázaných mime-typů, který v současnosti obsahuje: application/x-zip-compressed a application/x-msdownload.
Přípona jméno souboru tvořícího písemnost, se v této verzi musí vyskytovat na seznamu povolených přípon, který zahrnuje: pdf, xml, fo, zfo, html, htm, odt, ods, odp, txt, rtf, doc, xls, ppt, jpg, jpeg, jfif, png, tiff, gif, mpeg1 mpeg2, wav, mp2, mp3. Nově byly přidány: cer, crt, der, pk7 - formáty certifikátů dle X509; p7b, p7c, p7f, p7m, p7s - formáty certifikátů a elektronických podpisů dle PKCS#7, tst – časové razítko. Skutečná struktura souboru a její shoda se strukturou odpovídající příponě se v současné verzi nekontroluje, ale plánuje se do budoucna.
Ten první odstavec ohledně MIME typů je silně zavádějící, MIME type je povinný, zpráva bez něj neprojde a přijaté zprávy ho nemusí splňovat (třeba odpovědi testovacích schránek mají MIME type "pdf", ne správný "aplication/pdf"). Na tom jejich nepřehledném helpdesku někdo odpovídal, že ta povinost specifikace MIME typů se týká jen testovacích schránek a v produkčním prostředí se zatím ignoruje. Shoda přípon dokumentů s obsahem se již provádí, např. nelze odeslat textový dokument se znaky 0x0.
Také by mně zajímalo, z jakého důvodu nejsou podporované komprimované soubory?Ten odlišný jmenný prostor jsem pochopil jaku hack pro ten jejich XML Form Filler, aby ji mohl otevřít, neboť v dokumentaci se píše:
Obsah zprávy po odstranění podpisu je totožný s popisem u MessageDownload, pouze s odlišným namespace „isds.czebox.cz/v20/message“. Pokud budete validovat výsledné XML proti XSD, musíte řetězec „/message“ odmazat.
Staženou podepsanou zprávu umí 602XMLFiller analyzovat a otevřít (díky namespace). Přitom zobrazí údaje o podpisu a o časovém razítku. Aplikace třetích stran mohou pro totéž použít např. MS Crypto API pro Windows nebo OpenSSL API pro Linux. Stažená zpráva NENÍ ve formátu fo nebo zfo (XML formulář), jedná se pouze o XML data.
Jak budu řešit ukládání zpráv? Dobrý dotaz. Napadají mě dvě řešení, buď ukládat zprávu i s binární obálkou podpisu ve formátu PKCS#7 nebo výsledný XML dokument po odstranění této obálky, ten neobsahuje SOAP tělo. Do obsahu zprávy přitom nebudu nijak zasahovat, jmenné prostory ponechám. Zprávy pro archivaci budu stahovat službou SignedMessageDownload.
U toho SOAPu a služby MessageDownload je problém s tím, že nesmím porušit fyzickou strukturu dokumentu kvůli výpočtu haše zprávy a ověření časového razítka, takže bych tu zprávu musel ukládat i se SOAP tělem, tak jak ji dostanu, což nedává moc smysl nebo tu SOAP tělo odstranit a přitom ponechat fyzickou strukturu zprávy, což je problém.
Protože zbaběle utekly od XMLdsigu, tak se to bohužel jinak udělat nedá. Když aplikace poskytne zprávu, kterou si někdo někde ukuchtil, tak nebude sedět hash. Prostě to bude zodpovědnost aplikace.
„Rozepsanou“ zprávu prostě nebude možné ověřit. Respektive zpráva bude považována za netotožnou. Jinak bych musel simulovat pochody ISDS (a dělat takové úchylárny jako je doplňování nedefinovaného čísla organizační jednotky na nulu) se všemi jeho chybami.
Tiskni Sdílej: