#language cs ---- '''česky''' | [[QualifiedCertificateRequest|english]] ---- = Kvalifikovaná žádost o certifikát = Kvalifikovaná CSR (Certificate Signing Request) je potřebná, aby byl CAcert schopen poskytovat kvalifikované certifikáty. Prodejce musí zajistit metodu dodání nezfalšovatelné identifikace žádostí o certifikát, vygenerované s zabezpečeným privátním klíčem, uloženým na SmartCard, který nemůže nikdy opustit SmartCard. Například: žádost o certifikát může být digitálně podepsána prodejcovým klíčem, který je integrován do SmartCard. == Referenční implementace == Vytvořili jsme referenční implementaci pro kvalifikované CSR: [[http://www2.futureware.at/svn/sourcerer/CAcert/QCSR/]] (v úložišti subverzí) === Popis implementace === S "make" můžete projít celým testovacím systémem. vendor.pl generuje nebo zavádí tajný klíč prodejce (vender*.pem). Smažete-li všechny soubory *.pem před spuštěním (rm *.pem), vytvoří se automaticky nový klíč prodejce. token.pl generuje pár klíčů (privátní-veřejný) uživatele, extrahuje veřejný klíč a podepíše ho tajným klíčem prodejce. Potom vygeneruje CSR s podpisem jako přídavným polem CSR, pojmenovaným "qcsr". ca.pl vezme žádost, extrahuje veřejný klíč a pole "qcsr", ověří podpis a rozhodne, zda je to platná žádost o kvalifikovaný certifikát, nebo není. Úkolem prodejce SmartCard je nyní bezpečně implementovat funkčnost v token.pl do SmartCard. Implementace bude muset být auditována (certifikační autoritou nebo nezávislým auditorem) k ujištění, že je implementace správná a bezpečná. === Další náměty === Následující záležitosti jsou stále otevřeny a prodejce je může změnit: * Kryptografický algoritmus (zde jsme zvolili RSA) * Zakódování veřejného klíče (zvolili jsme kódování PEM z OpenSSL) * Metoda podepisování (zvolili jsme podpis RSA z OpenSSL, což normálně dává 128 binárních bytů jako podpis) * Kódování do pole "qcsr" v CSR (zvolili jsme hexa-kódování, protože jsme nenašli snadný způsob, jak použít přímo binárku) * OID (ID objektu) pro pole "qcsr" (alokovali jsme OID od CAcert) Chce-li prodejce změnit něco v implementaci, musí poskytnout softwarovou referenci implementace, tj. bitově kompatibilní s navrhovanou hardwarovou implementací, aby mohlo být vyhodnoceno zabezpečení. (Bude nejlépe, když bude založena na naší referenční implementaci.)