Příloha č. 11 1 Informace o testování estovaný generátor: Portecle 1.7 2 estovací prostředí estovací stroj č. 1: estovací stroj č. 2: estovací stroj č. 3: estovací stroj č. 4: estovací stroj č. 5: Certifikáty vydány autoritou: estovací protokol HW: virtuální stroj ve VirtualBox 4.0.10; emulovaná čipová sada PIIX3; 1 GB RAM; harddisk 20 GB SAA OS: Windows 7 Service Pack 1 SW: Java Runtime Environment 7 (b147); JSignPDF 1.1.1 HW: virtuální stroj ve VirtualBox 4.0.10; emulovaná čipová sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Java Runtime Environment 7 (b147); JSignPDF 1.1.1 HW: virtuální stroj ve VirtualBox 4.0.10; emulovaná čipová sada PIIX3; 512 MB RAM; harddisk 16 GB IDE OS: Windows XP Service Pack 3 SW: Java Runtime Environment 7 (b147); JSignPDF 1.1.1 HW: virtuální stroj ve VirtualBox 4.0.10; emulovaná čipová sada PIIX3; 756 MB RAM; harddisk 8 GB SAA OS: OpenSUSE 11.4 SW: Java Runtime Environment 7 (b147); Java OpenJDK 1.6.0; JSignPDF 1.1.1 HW: MacBook Pro 7,1; Intel Core 2 Duo 2.4 GHz; 4GB RAM DDR3; harddisk 250GB SAA OS: Mac OS X 10.6.8 SW: Java Runtime Environment 1.6.0_26; JSignPDF 1.1.1 vlastní testovací certifikační autorita 3 Vlastnosti generátoru klíčů Kompatibilita Podporované operační systémy: Podporované webové prohlížeče: Windows XP Windows Vista Windows 7 Linux Solaris Mac OS X není relevantní Další vyžadovaný SW: Java Runtime Environment 6 a vyšší V, V, - 1 -
Generované klíče Algoritmus generovaných klíčů: Velikost generovaných klíčů: RSA DSA RSA: 512 bitů, 1024 bitů, 2048 bitů, 4096 bitů, 8192 bitů DSA: 512 bitů, 1024 bitů Podporovaná úložiště klíčů: softwarová 1 Podporovaná API pro hardwarová úložiště klíčů: Žádost o certifikát není relevantní Struktura žádosti o certifikát: pevně daná, nepovinné položky Položky v dname žádosti: CN, OU, O, L, state, C, emailaddress Rozšíření žádosti: žádná Podepisovací algoritmus žádosti: MD2withRSA MD5withRSA SHA1withRSA SHA224withRSA SHA256withRSA SHA384withRSA SHA512withRSA RIPEMD128withRSA 2 RIPEMD160withRSA 2 RIPEMD256withRSA 2 SHA1withDSA SHA224withDSA 2 SHA256withDSA 2 Kódování souboru se žádostí: PEM Opětovné vygenerování žádosti pro existující klíče: Instalace certifikátu Způsob instalace certifikátu: Podporovaná kódování souboru s certifikátem: Legenda ke třetímu sloupci: ano import souboru s certifikátem do souboru s uloženými klíči DER PEM PKCS#7 V... tato informace pochází od výrobce generátoru (webové stránky, uživ. podpora, atd.)... tato informace byla zjištěna na základě tohoto testování 4 Doplňující informace 1. Program podporuje softwarová úložiště klíčů v následujících formátech: JKS, JCEKS, PKCS#12, JKS (case sensitive), BKS, UBER, GKR (GNU Keyring Store). - 2 -
2. Při nastavení tohoto podepisovacího algoritmu se podaří vygenerovat pouze klíče a samopodepsaný certifikát. Při pokusu o vygenerování žádosti o certifikát ale dojde k chybě. 5 estovací scénáře 5.1 Podrobné testování ve Windows 7 Datum testování: 2. 10. 2011 Použitý testovací stroj: č. 1 1. Instalace Java Runtime Environment. Rozbalení programových souborů Portecle z archivu. 2. Vygenerování klíčů a žádosti o certifikát. Základní dname žádosti. CHYBA 1 3. Vydání certifikátu a uložení do souboru v kódování PEM. 4. Import certifikátu do souboru s klíči. CHYBA 2 5. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 6. Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: CN, OU, O, L, state, C, emailaddress velikost klíčů: 4096 bitů podpisový algoritmus: SHA384withRSA 7. Vydání certifikátu a uložení do souboru v kódování DER. 8. Import certifikátu do souboru s klíči. CHYBA 3 9. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 10. Vygenerování klíčů a žádosti o certifikát. podpisový algoritmus: SHA512withRSA 11. Vydání certifikátu a uložení do souboru v kódování PKCS#7. 12. Import certifikátu do souboru s klíči. 4 13. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu - 3 -
14. Vygenerování klíčů a žádosti o certifikát. velikost klíčů: 8192 bitů podpisový algoritmus: SHA1withRSA 15. Vydání certifikátu a uložení do souboru v kódování DER. 16. Import certifikátu do souboru s klíči. CHYBA 3 17. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 18. Vygenerování klíčů a žádosti o certifikát. Použití ne-sha podepisovacího algoritmu. podpisový algoritmus: RIPEMD160withRSA CHYBA 5 19. Vydání certifikátu a uložení do souboru v kódování PEM. - 20. Import certifikátu do souboru s klíči. - 21. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 5.2 Ověření funkčnosti ve Windows Vista Datum testování: 2. 10. 2011 Použitý testovací stroj: č. 2 22. Instalace Java Runtime Environment. Rozbalení programových souborů Portecle z archivu. 23. Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: CN, OU, O, L, state, C, emailaddress - CHYBA 1 24. Vydání certifikátu a uložení do souboru v kódování DER. 25. Import certifikátu do souboru s klíči. CHYBA 3 26. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 5.3 Ověření funkčnosti ve Windows XP Datum testování: 2. 10. 2011 Použitý testovací stroj: č. 3 27. Instalace Java Runtime Environment. Rozbalení programových souborů Portecle z archivu. - 4 -
28. Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN CHYBA 1 29. Vydání certifikátu a uložení do souboru v kódování DER. 30. Import certifikátu do souboru s klíči. CHYBA 3 31. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 5.4 Ověření funkčnosti v OpenSUSE 11.4 Datum testování: 2. 10. 2011 Použitý testovací stroj: č. 4 32. Spuštění Portecle za použití předinstalované Java OpenJDK 6. 6 33. Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN 34. Vydání certifikátu a uložení do souboru v kódování DER. 35. Import certifikátu do souboru s klíči. CHYBA 7 36. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 37. Smazání konfiguračního souboru Portecle. Instalace Java Runtime Environment 7 a spuštění Portecle za použití této Javy. 38. Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN 8 CHYBA 1 39. Vydání certifikátu a uložení do souboru v kódování DER. 40. Import certifikátu do souboru s klíči. CHYBA 7 41. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 5.5 Ověření funkčnosti v Mac OS X Datum testování: 12. 10. 2011 Použitý testovací stroj: č. 5 42. Spuštění Portecle za použití předinstalovaného prostředí Java. - 5 -
43. Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN 44. Vydání certifikátu a uložení do souboru v kódování DER. 45. Import certifikátu do souboru s klíči. CHYBA 9 46. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu 5.6 Otestování dalších funkcionalit Portecle ve Windows 7 Datum testování: 2. 10. 2011 Použitý testovací stroj: č. 1 47. Opětovné vygenerování žádosti za použití existujícího souboru s klíči z kroku 2. 48. Porovnání souborů se žádostmi z kroku 2 a 47. Měly by být shodné. 49. Vygenerování DSA klíčů a žádosti o certifikát. rozšíření žádosti: žádná velikost klíčů: 1024 bitů podpisový algoritmus: SHA256withDSA 50. Vygenerování klíčů do úložiště typu JCEKS. typ úložiště klíčů: JCEKS CHYBA 5 51. Vydání certifikátu a uložení do souboru v kódování DER. 52. Import certifikátu do souboru s klíči. 53. Konverze úložiště klíčů typu JCEKS do PKCS#12. 54. Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu Použití obou úložišť klíčů: JCEKS i PKCS#12. 55. Vytvoření vlastního úložiště cacerts (typ JKS) s certifikáty testovací certifikační autority. Nastavení prázdného hesla k úložišti. Nastavení programu Portecle, aby používal toto úložiště místo systémového úložiště Java. 56. est importu certifikátu, vytvořeného v kroku 3, do úložiště klíčů z kroku 2. Je zapnuto ověřování vůči úložišti cacerts z kroku 55. eoreticky by import certifikátu mohl proběhnout bez dotazu na heslo k úložišti cacerts. NE 10-6 -
6 Poznámky k testovacím scénářům 1. Při pokusu o uložení prvního souboru typu PKCS#12 s vygenerovanými klíči se zobrazila chybová hláška Illegal key size. Bylo potřeba nakopírovat tzv. neomezené politiky JCE do adresáře Java\jre7\lib\security. Dojde k přepsání stejnojmenných souborů novými. Program Portecle je potřeba znovu spustit. Uložení vygenerovaných klíčů do souboru typu PKCS#12 pak již proběhne bez problémů. Bylo zjištěno, že k této chybě nedojde, pokud se uživatel rozhodne uložit soubor typu PKCS#12 bez nastaveného hesla. 2. Instalace certifikátu ve formátu PEM se nezdařila, protože program nemohl najít v úložišti klíčů důvěryhodné certifikáty certifikační autority, která vydala certifikát. Pokud se do souboru s certifikátem přidá certifikát autority (také v kódování PEM), je uživatel při instalaci certifikátu vyzván k potvrzení důvěryhodnosti certifikátu CA. Do souboru typu PKCS#12 s klíči je importován certifikát i certifikáty certifikační autority. 3. Instalace certifikátu ve formátu DER se rovněž nezdařila z důvodu nedůvěryhodného certifikátu. Stačí však nejprve ke klíčům importovat certifikáty certifikační autority pomocí položky Import rusted Certificate v menu ools. Pak se vydaný certifikát bez problémů nainstaluje. Druhou možností je přidat certifikáty certifikační autority do systémového úložiště Java (soubor cacerts v adresáři Java\jre7\lib\security ). Program Portecle má funkci pro přímé otevření tohoto úložiště (menu File, položka Open CA Certs Keystore ). Heslo k úložišti cacerts je changeit. Poté již stačí přidat certifikáty pomocí položky Import rusted Certificate v menu ools a uložit změny v úložišti. Ve Windows Vista/7 se však nepodaří kvůli omezeným přístupovým právům změněné úložiště uložit. Je potřeba program Portecle spustit jako správce. o se provede tak, že v nabídce Start se spustí Příkazový řádek pomocí položky Spustit jako správce v kontextovém menu a následně se zadá příkaz: 1 java jar portecle.jar Před importem vydaného uživatelského certifikátu je ještě potřeba v konfiguraci programu Portecle nastavit, aby používal důvěryhodné úložiště cacerts. Při importu uživatelského certifikátu ke klíčům je pak uživatel vyzván k zadání hesla k úložišti cacerts. Kromě uživatelského certifikátu jsou ke klíčům importovány také certifikáty certifikační autority z úložiště cacerts. - 7 -
4. Instalace certifikátu ve formátu PKCS#7 si vyžádala potvrzení, že certifikát kořenové CA, umístěný v souboru s certifikátem, je důvěryhodný. (Před instalací certifikátu bylo deaktivováno používání úložiště cacerts.) 5. Podařilo se vygenerovat klíče a v samopodepsaném certifikátu byl použit požadovaný podepisovací algoritmus, ale již se nepodařilo vygenerovat žádost o certifikát. Zobrazila se chyba Unknown signature type requested. 6. Příkaz pro spuštění Portecle pomocí předinstalované Java OpenJDK v OpenSUSE je: 1 /usr/bin/java jar portecle.jar 7. Instalace certifikátu ve formátu DER pod operačním systémem OpenSUSE vykazovala stejné problémy jako ve Windows. Opět bylo potřeba importovat certifikáty certifikační autority do souboru typu PKCS#12 nebo do systémového úložiště cacerts. Program Portecle ale bylo potřeba spustit pod účtem root, aby bylo možné kvůli přístupovým právům uložit změny v souboru cacerts. 8. Příkaz pro spuštění Portecle pomocí JRE 7 v OpenSUSE: 1 /usr/java/jre1.7.0/bin/java jar portecle.jar 9. Instalace certifikátu ve formátu DER v Mac OS (stejně jako na ostatních operačních systémech) neproběhla úspěšně, dokud se do úložiště cacerts neimportovaly certifikáty autorit a v programu se neaktivovalo používání tohoto úložiště důvěryhodných certifikátů. Kvůli omezeným právům k souboru cacerts je potřeba spustit program Portecle pod účtem root. Na operačním systému Mac OS je však účet root standardně zakázán a je potřeba jej povolit v systémovém nastavení podle postupu uvedeného na webové stránce: http://support.apple.com/kb/ht1528 10. Přestože neměl vytvořený soubor cacerts nastaveno žádné heslo, program Portecle zobrazil při importu certifikátu okno pro zadání hesla k souboru cacerts. Jinak ale proběhl import certifikátu úspěšně. Lze tedy programu nastavit také jiný soubor cacerts, ale uživatel bude muset stejně zadávat heslo k souboru. Generování RSA klíčů o velikosti 8192 bitů již trvalo znatelně delší dobu (řádově minuty až desítky minut). Program Portecle si ukládá své nastavení do počítače. Způsob uložení konfigurace programu závisí na použitém operačním systému: - 8 -
Operační systém Windows Způsob uložení konfigurace v registrech Windows Kde? HKEY_CURREN_USER\Software\JavaSoft\Prefs\ne t\sf\portecle OpenSUSE v souboru ~/.java/.userprefs/net/sf/portecle/prefs.xml Mac OS X v souboru ~/Library/Preferences/net.sf.portecle.plist - 9 -