Příloha č. 11
Testovací protokol 1
Informace o testování
Testovaný generátor:
2
Portecle 1.7
Testovací prostředí
Testovací stroj č. 1:
HW: virtuální stroj ve VirtualBox 4.0.10; emulovaná čipová sada PIIX3; 1 GB RAM; harddisk 20 GB SATA OS: Windows 7 Service Pack 1 SW: Java Runtime Environment 7 (b147); JSignPDF 1.1.1
Testovací stroj č. 2:
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
Testovací stroj č. 3:
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
Testovací stroj č. 4:
HW: virtuální stroj ve VirtualBox 4.0.10; emulovaná čipová sada PIIX3; 756 MB RAM; harddisk 8 GB SATA OS: OpenSUSE 11.4 SW: Java Runtime Environment 7 (b147); Java OpenJDK 1.6.0; JSignPDF 1.1.1
Testovací stroj č. 5:
HW: MacBook Pro 7,1; Intel Core 2 Duo 2.4 GHz; 4GB RAM DDR3; harddisk 250GB SATA OS: Mac OS X 10.6.8 SW: Java Runtime Environment 1.6.0_26; JSignPDF 1.1.1
Certifikáty vydány autoritou:
vlastní testovací certifikační autorita
3
Vlastnosti generátoru klíčů
Kompatibilita Podporované operační systémy:
Windows XP Windows Vista Windows 7 Linux Solaris Mac OS X
Podporované webové prohlížeče:
není relevantní
Další vyžadovaný SW:
Java Runtime Environment 6 a vyšší
-1-
V, T
V, T
Generované klíče Algoritmus generovaných klíčů:
RSA DSA
T
Velikost generovaných klíčů:
RSA: 512 bitů, 1024 bitů, 2048 bitů, 4096 bitů, 8192 bitů DSA: 512 bitů, 1024 bitů
T
Podporovaná úložiště klíčů:
softwarová1
T
Podporovaná API pro hardwarová úložiště klíčů:
není relevantní
Žádost o certifikát Struktura žádosti o certifikát:
pevně daná, nepovinné položky
T
Položky v dname žádosti:
CN, OU, O, L, state, C, emailAddress
T
Rozšíření žádosti:
žádná
T
Podepisovací algoritmus žádosti:
MD2withRSA MD5withRSA SHA1withRSA SHA224withRSA SHA256withRSA SHA384withRSA SHA512withRSA RIPEMD128withRSA2 RIPEMD160withRSA2 RIPEMD256withRSA2 SHA1withDSA SHA224withDSA2 SHA256withDSA2
T
Kódování souboru se žádostí:
PEM
T
Opětovné vygenerování žádosti pro existující klíče:
ano
T
Způsob instalace certifikátu:
import souboru s certifikátem do souboru s uloženými klíči
T
Podporovaná kódování souboru s certifikátem:
DER PEM PKCS#7
T
Instalace certifikátu
Legenda ke třetímu sloupci: V ..... tato informace pochází od výrobce generátoru (webové stránky, uživ. podpora, atd.) T ...... tato informace byla zjištěna na základě tohoto testování
4 1.
Doplňující informace 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
Testovací scénáře
5.1 Podrobné testování ve Windows 7 Datum testování: 2. 10. 2011
Použitý testovací stroj: č. 1
Činnost
Výsledek
1.
Instalace Java Runtime Environment. Rozbalení programových souborů Portecle z archivu.
OK
2.
Vygenerování klíčů a žádosti o certifikát. Základní dname žádosti. položky dname žádosti: CN, C velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA256withRSA
3.
Vydání certifikátu a uložení do souboru v kódování PEM.
4.
Import certifikátu do souboru s klíči.
5.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
OK
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ů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA384withRSA
OK
7.
Vydání certifikátu a uložení do souboru v kódování DER.
OK
8.
Import certifikátu do souboru s klíči.
9.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
OK
10.
Vygenerování klíčů a žádosti o certifikát. položky dname žádosti: CN, C velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA512withRSA
OK
11.
Vydání certifikátu a uložení do souboru v kódování PKCS#7.
OK
12.
Import certifikátu do souboru s klíči.
OK4
13.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
OK
CHYBA1
OK CHYBA2
CHYBA3
-3-
Činnost
Výsledek
14.
Vygenerování klíčů a žádosti o certifikát. položky dname žádosti: CN, C velikost klíčů: 8192 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA1withRSA
OK
15.
Vydání certifikátu a uložení do souboru v kódování DER.
OK
16.
Import certifikátu do souboru s klíči.
17.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
18.
Vygenerování klíčů a žádosti o certifikát. Použití „ne-SHA“ podepisovacího algoritmu. položky dname žádosti: CN, C velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: RIPEMD160withRSA
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 JSignPDF.
-
CHYBA3 OK CHYBA5
5.2 Ověření funkčnosti ve Windows Vista Datum testování: 2. 10. 2011
Použitý testovací stroj: č. 2
Činnost
Výsledek
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 velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA256withRSA
24.
Vydání certifikátu a uložení do souboru v kódování DER.
25.
Import certifikátu do souboru s klíči.
26.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
OK CHYBA1
OK CHYBA3 OK
5.3 Ověření funkčnosti ve Windows XP Datum testování: 2. 10. 2011
Použitý testovací stroj: č. 3
Činnost 27.
Výsledek
Instalace Java Runtime Environment. Rozbalení programových souborů Portecle z archivu.
-4-
OK
Činnost
Výsledek
28.
Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA256withRSA
29.
Vydání certifikátu a uložení do souboru v kódování DER.
30.
Import certifikátu do souboru s klíči.
31.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
CHYBA1
OK CHYBA3 OK
5.4 Ověření funkčnosti v OpenSUSE 11.4 Datum testování: 2. 10. 2011
Použitý testovací stroj: č. 4
Činnost
Výsledek
32.
Spuštění Portecle za použití předinstalované Java OpenJDK 6.
OK6
33.
Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA256withRSA
OK
34.
Vydání certifikátu a uložení do souboru v kódování DER.
OK
35.
Import certifikátu do souboru s klíči.
36.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
OK
37.
Smazání konfiguračního souboru Portecle. Instalace Java Runtime Environment 7 a spuštění Portecle za použití této Javy.
OK8
38.
Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA256withRSA
39.
Vydání certifikátu a uložení do souboru v kódování DER.
40.
Import certifikátu do souboru s klíči.
41.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
CHYBA7
CHYBA1
OK CHYBA7 OK
5.5 Ověření funkčnosti v Mac OS X Datum testování: 12. 10. 2011
Použitý testovací stroj: č. 5
Činnost 42.
Výsledek
Spuštění Portecle za použití předinstalovaného prostředí Java.
-5-
OK
Činnost
Výsledek
43.
Vygenerování klíčů a žádosti o certifikát. Kompletní dname žádosti. položky dname žádosti: C, state, L, O, OU, CN velikost klíčů: 2048 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA256withRSA
OK
44.
Vydání certifikátu a uložení do souboru v kódování DER.
OK
45.
Import certifikátu do souboru s klíči.
46.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF.
CHYBA9 OK
5.6 Otestování dalších funkcionalit Portecle ve Windows 7 Datum testování: 2. 10. 2011
Použitý testovací stroj: č. 1
Činnost
Výsledek
47.
Opětovné vygenerování žádosti za použití existujícího souboru s klíči z kroku 2.
OK
48.
Porovnání souborů se žádostmi z kroku 2 a 47. Měly by být shodné.
OK
49.
Vygenerování DSA klíčů a žádosti o certifikát. položky dname žádosti: CN, C rozšíření žádosti: žádná velikost klíčů: 1024 bitů typ úložiště klíčů: PKCS#12 podpisový algoritmus: SHA256withDSA
50.
Vygenerování klíčů do úložiště typu JCEKS. položky dname žádosti: CN, C velikost klíčů: 2048 bitů typ úložiště klíčů: JCEKS podpisový algoritmus: SHA256withRSA
OK
51.
Vydání certifikátu a uložení do souboru v kódování DER.
OK
52.
Import certifikátu do souboru s klíči.
OK
53.
Konverze úložiště klíčů typu JCEKS do PKCS#12.
OK
54.
Ověření funkčnosti klíčů a certifikátu podepsáním PDF v programu JSignPDF. Použití obou úložišť klíčů: JCEKS i PKCS#12.
OK
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.
OK
56.
Test 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. Teoreticky by import certifikátu mohl proběhnout bez dotazu na heslo k úložišti „cacerts“.
NE10
-6-
CHYBA5
6 1.
Poznámky k testovacím scénářům 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 Trusted Certificate“ v menu „Tools“. 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 Trusted Certificate“ v menu „Tools“ 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. To 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 OpenSUSE Mac OS X
Způsob uložení konfigurace v registrech Windows v souboru v souboru
Kde? HKEY_CURRENT_USER\Software\JavaSoft\Prefs\ne t\sf\portecle ~/.java/.userPrefs/net/sf/portecle/prefs.xml ~/Library/Preferences/net.sf.portecle.plist
-9-