česky | english
Unicode pro CAcert
[plán činností]
Nejprve musíme prozkoumat
- možnosti pro UTF-8 ve všech standardech (OpenPGP, X.509, PKIX, ...?)
- schopnost spolupráce pro UTF-8 s existujícím softwarem (how much breaks, when we deploy them?)
- jak musíme konfigurovat OpenSSL pro tuto funkčnost?
- OpenSSL načítá uživatelské údaje ze souboru; má-li tento soubor kódovou stránku utf-8, předpokládá se, že bude fungovat v Unixu.
Dále musíme prozkoumat
- jak to PHP a naše e-mailové systémy správně dělají (Encoding Subject: a jiné hlavičky jsou v UTF-8 dost divné)
Pak musíme prozkoumat
- jak to správně dělá MySQL
- UTF-8 podpora našeho PDF generátoru
Další činnosti
- Musíme vypracovat způsob migrace obsahu existující databáze MySQL do UTF-8
- Musíme pracovat i na bezpečnostních aspektech UTF-8: zneužití UTF-8 (například zatoulaný znak \x00 uvnitř znaků UTF-8):
- Potom musíme pracovat na zabezpečení homografů UTF-8 [homograf jsou slova stejně psaná, ale jinak vyslovovaná a s různým významem].
- Měli bychom implementovat podobný bezpečnostní mechanismus, jako měl Konqueror, aby tiskl znaky UTF-8 tučně.
- Pak musíme prozkoumat bezpečnostní aspekty Punycode.
- Pokud bude to vše dobře fungovat, můžeme naplánovat migraci...
- ...a pak ji provést.
- A pak budeme doufat, že to funguje.
OpenPGP
OpenPGP je v tomto směru poměrně dobré, protože standard OpenPGP definuje UTF-8 jako jediné možné kódování. (Je asi několik málo aplikací, které to ještě nedělají správně, ale aspoň standard je jasný).
X.509
Myslím si, že u X.509 je typ řetězce UTF8-String, který lze použít, ale o kompatibilitě aplikací toho moc nevím. Slyšel jsem, že existuje několik málo standardů, které vyžadují v určitých polích jiné typy řetězců než UTF8-String, takže je nezbytné prozkoumat standardy.
PHP
utf8_decode
Zneužití Unicode
Musíme vyhledat zneužití Unicode, která se stala jiným softwarům a ověřit podprogramy zpracující Unicode, které jsou implementovány v softwaru, který používáme, abychom zjistili, zda mohou být zneužity. Jeden z možných problémů je posloupnost bytů (Začátek-znaku-Unicode, 0x00). Jiným častým problémem jsou ne-unicodové byty uvnitř předpokládaného řetězce Unicode, na nichž například KDE často havaruje.
CO DÁL:
- perldoc perlunicode
- perldoc charnames
- perldoc utf8
- HTML::Entity
- Encode::Byte
- URI::Escape
Je potřebná pomoc
Chcete-li nám v "komandu" Unicode pomoci, kontaktujte nás laskavě!