OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.
Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.
Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.
Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.
Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.
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: