Už nějakou dobu je jasné, že Česká pošta moc věcí nedává. Pandemie byla toho důkazem, ale ne budíkem, protože se zatím nikdo neprobudil. Co naděláme. Od července taky pořád čekám na mezinárodní zásilku, která zatím putuje tam a zpátky jen proto, že mi nepřišlo avízo s odpovídajícím číslem balíku, ale z nějakého důvodu je to prý moje vina. Uvidíme, čí ještě vina to bude, až přijde dinosaurus...
Každopádně co mě zaujalo, je způsob, jakým pracují naše české kvalifikované elektronické podpisy. Technicky se samozřejmě jedná o SSL certifikáty a je automaticky jasné, že kde je PKI, tak bude nějaký problém. V první řadě je tím problémem samotná certifikační autorita České pošty, která není automagicky důvěryhodná ve standardních systémech, protože ji prostě celý svět jednoduše neuznává. Přestože by tedy na úrovni EU mohla vzniknout nějaká platná CA, která by ji schválila, zas takový problém to není a prostě se to označí manuálně. Daleko zajímavější je to ale se samotnými podpisy.
Vystavení certifikátu je technicky víceméně přímočará operace – máme platnou CA, vytvoříme žádost, CA tam dá razítko a vypadne z toho certifikát. No... teda v případě manuálního použití třeba OpenSSL to tak je. Bohužel pro český podpis je potřeba těch kroků vícero a je poměrně děsivé, jak strašně špatně kompatibilní to celé je. Na webu PostSignum je registrační formulář ověřitelný elektronickým občanským průkazem. Ten je sám o sobě taky dost pofidérní, ale alespoň eOP aplikace postavená nad Qt poměrně dobře funguje všude. Tedy většinu času. Po přihlášení elektronickou identitou si ČP ještě vyžádá rodné číslo, protože to z nějakého důvodu není zahrnuto v portálu pro předávání informací. Přesto, tento krok je stále pochopitelný, jsme ověřeni, pojďme do toho e-shopu na certifikát.
No a tady končí legrace. Ono sice je možné vytvořit CSR a poslat jim ho, ale přijde mi, že pak bude nutné stejně dojít si na nějaké místo veřejné správy a nechat si to tam vyřídit osobně, protože elektronicky by tohle nebylo očividně spárované s danou identitou. Formulářový průvodce tedy automaticky navrhne ke stažení aplikaci pro Windows, která prakticky nedělá nic jiného, než že spáruje žádost s nějakými dalšími údaji a zobrazí na konci číslo, které je potřeba přepsat zpátky do webového formuláře. Nebudu lhát, za nic na světě se mi nepovedlo najít správnou kombinaci odpovídajících WINE knihoven a podpor, aby tento proces proběhl alespoň trochu správně. Také je ještě víc zarážející, že aplikace komunikuje se serverem pouze na portu 80 s nešifrovaným HTTP, přestože se tam předávají vlastně citlivé identifikační informace.
No, zkrátka, povedlo se mi najít živé Windows. Proces je tedy takový, že se tam vyplní základní data a heslo k soukromému klíči, který se uloží do souborů. Potom z aplikace vypadne číslo, to se hodí zpátky do webového formuláře, dokončí se platba a vygeneruje se certifikát. No sláva. Tedy prozatím; tím máme dvě části el. podpisu, certifikát a soukromý klíč, které je potřeba ještě nějak z Windows přenést zpět na Mac. Se služebním OneDrive to zas tak hrozné nebylo, ale nedovedu si moc představit, jak by se to tahalo jiným způsobem.
Po přenosu na Mac nastane další super záchytný bod. V normálním světě by člověk prostě na soubory jen poklepal a Keychain Access by si je uložila do chráněného úložiště a připravila k použití. Jenže tohle jaksi nejde – a dokonce to ani nezahlásí chybu, prostě to skončí s tím, že je špatně zadané heslo ke klíči. Důvodem je to, že vydaný klíč má přiliš slabé šifrování a macOS Klíčenka to prostě odmítne v tomto stavu vzít. Tak co s tím? Poměrně složitým harakiri bude potřeba exportovat ze starých šifer polotovar, který se teprve naimportuje do systému.
$ openssl pkcs12 -export -legacy -out PepekNovak.p12 -in QCA12345678.crt -inkey klic.keyMagický přepínač legacy si s tím poradí a vytvoří .p12 soubor s certifikátem a klíčem, který je již možné bezpečně naimportovat do systému. Zajímavá věc je, že daný certifikát má sice pár omezení na použití, ale prakticky bez dalšího podobného čarování bude fungovat pouze S/MIME v Mailu, všechno ostatní podepisování bude extrémně složité. Co je dále fajn, tímto způsobem vytvořený .p12 soubor je již možné přímo uložit na občanku pomocí Správce karty. Je docela pravděpodobné, že po uložení ale aplikace zhavaruje. Po opětovném spuštění by ale měl být certifikát už uložen v odpovídajícím slotu.
Nu, vítejme v budoucnosti. Nedovedu si představit, co nás ještě čeká. Ale i tahle nepatrná digitalizace je svým způsobem krokem dopředu.