Dobré odpoledne!. Poslední dva dny jsem měl zajímavý úkol najít řešení takové situace, existuje fyzický nebo virtuální server, na kterém je pravděpodobně nainstalováno známé CryptoPRO. Připojeno k serveru , který se používá k podepisování dokumentů pro VTB24 DBO. Lokálně na Windows 10 vše funguje, ale na serverové platformě Windows Server 2016 a 2012 R2, Cryptopro nevidí klíč JaCarta. Pojďme zjistit, v čem je problém a jak jej opravit.
Popis prostředí
Na Vmware ESXi 6.5 je virtuální stroj, jako operační systém je nainstalován Windows Server 2012 R2. Na serveru běží CryptoPRO 4.0.9944, aktuálně nejnovější verze. Klíč JaCarta se připojuje ze síťového rozbočovače USB pomocí technologie USB over ip. Zadejte systém vidí, ale ne v CryptoPRO.
Algoritmus pro řešení problémů s JaCartou
CryptoPRO velmi často způsobuje různé chyby ve Windows, jednoduchý příklad (nebylo možné získat přístup k instalační službě Windows). Takto vypadá situace, kdy utilita CryptoPRO certifikát v kontejneru nevidí.
Jak můžete vidět v utilitě UTN Manager, klíč je připojen, je v systému vidět na čipových kartách jako zařízení Microsoft Usbccid (WUDF), ale CryptoPRO tento kontejner nedetekuje a nemáte možnost nainstalovat osvědčení. Lokálně byl token připojen, vše bylo při starém. Začal přemýšlet, co dělat.
Možné příčiny s definicí kontejneru
- Za prvé se jedná o problém s ovladačem, například ve Windows Server 2012 R2 by JaCarta měla být v seznamu čipových karet v ideálním případě uvedena jako JaCarta Usbccid Smartcard, nikoli Microsoft Usbccid (WUDF)
- Za druhé, pokud je zařízení považováno za Microsoft Usbccid (WUDF), pak může být verze ovladače zastaralá a vaše nástroje proto chráněnou jednotku USB nezjistí.
- Starší verze CryptoPRO
Jak vyřešit problém, že kryptopro nevidí USB klíč?
Vytvořili jsme nový virtuální stroj a začali instalovat software vše v pořadí.
Před instalací jakéhokoli softwaru, který pracuje s médii USB obsahujícími certifikáty a soukromé klíče. Nutné NUTNĚ deaktivujte token, pokud je zaseknutý lokálně, pak jej deaktivujte, pokud přes síť, přerušte relaci
- Nejprve aktualizujeme váš operační systém všemi dostupnými aktualizacemi, protože Microsoft opravuje mnoho chyb a chyb, včetně ovladačů.
- Druhým bodem je v případě fyzického serveru nainstalovat všechny nejnovější ovladače na základní desku a všechna periferní zařízení.
- Dále nainstalujte sjednoceného klienta JaCarta.
- Nainstalujte nejnovější verzi CryptoPRO
Instalace jednoho klienta JaCarta PKI
Single Client JaCarta je speciální utilita od společnosti Aladdin pro správnou práci s tokeny JaCarta. Nejnovější verzi tohoto softwarového produktu si můžete stáhnout z oficiálního webu nebo z mého cloudu, pokud to nefunguje z webu výrobce.
Dále rozbalíte výsledný archiv a spustíte instalační soubor pro vaši architekturu Windows, mám to 64bitové. Začněme s instalací ovladače Jacarta. Jediný klient Jacarta, velmi snadná instalace (PŘIPOMEŇTE, že váš token v době instalace musí být deaktivován). V prvním okně průvodce instalací stačí kliknout na další.
Přijměte licenční smlouvu a klikněte na „Další“
Aby vám ovladače tokenů JaCarta fungovaly správně, stačí provést standardní instalaci.
Pokud zvolíte "Vlastní instalace", nezapomeňte zaškrtnout políčka:
- Řidiči
- Podpůrné moduly
- Podpůrný modul pro CryptoPRO
Po několika sekundách je sjednocený klient Jacarta úspěšně nainstalován.
Nezapomeňte restartovat server nebo počítač, aby systém viděl nejnovější ovladače.
Po instalaci JaCarta PKI je třeba nainstalovat CryptoPRO, k tomu přejděte na oficiální web.
https://www.cryptopro.ru/downloads
V tuto chvíli je nejnovější verze CryptoPro CSP 4.0.9944. Spusťte instalační program, zaškrtněte „Instalovat kořenové certifikáty“ a klikněte na „Instalovat (doporučeno)“
Instalace CryptoPRO bude provedena na pozadí, po které se zobrazí návrh na restartování prohlížeče, ale radím restart úplně.
Po restartu připojte USB token JaCarta. Mám síťové připojení ze zařízení DIGI přes . V klientovi Anywhere View je můj USB disk Jacarta úspěšně definován, ale jako Microsoft Usbccid (WUDF) a ideálně by měl být definován jako JaCarta Usbccid Smartcard, ale musíte to stejně zkontrolovat, protože vše může fungovat.
Při otevření nástroje Jacarta PKI Unified Client nebyl připojený token nalezen, což znamená, že něco není v pořádku s ovladači.
Microsoft Usbccid (WUDF) je standardní ovladač společnosti Microsoft, který se standardně instaluje na různé tokeny a stává se, že vše funguje, ale ne vždy. Operační systém Windows je ve výchozím nastavení pamatuje na svou architekturu a nastavení, osobně to v tuto chvíli nepotřebuji. Musíme odinstalovat ovladače Microsoft Usbccid (WUDF) a nainstalovat ovladače pro médium Jacarta.
Otevřete Správce zařízení Windows, najděte "Čtečky chytrých karet", klikněte na Microsoft Usbccid (WUDF) a vyberte "Vlastnosti". Klepněte na kartu Ovladače a klepněte na Odinstalovat
Souhlaste s odebráním ovladače Microsoft Usbccid (WUDF).
Budete upozorněni, že aby se změny projevily, musíte restartovat systém, nezapomeňte souhlasit.
Po restartu systému můžete vidět instalaci zařízení ARDS Jacarta a ovladačů.
Otevřete správce zařízení, měli byste vidět, že vaše zařízení je nyní definováno jako JaCarta Usbccid Smartcar a pokud přejdete do jeho vlastností, uvidíte, že čipová karta jacarta nyní používá verzi ovladače 6.1.7601 od ALADDIN RDZAO, jak by měla být .
Pokud otevřete jednoho klienta Jacarta, uvidíte svůj elektronický podpis, což znamená, že čipová karta byla správně identifikována.
Otevřeme CryptoPRO a vidíme, že kryptopro nevidí certifikát v kontejneru, ačkoli všechny ovladače jsou definovány podle potřeby. Je tu ještě jedna funkce.
- V relaci RDP neuvidíte svůj token, pouze lokálně, takto token funguje, nebo jsem nenašel, jak to opravit. Můžete vyzkoušet návrhy k vyřešení chyby „Nelze se připojit ke službě správy čipových karet“.
- V CryptoPRO musíte zrušit zaškrtnutí jednoho políčka
MUSÍ zrušit zaškrtnutí "Nepoužívat zastaralé šifrovací sady" a restartovat.
Po těchto manipulacích CryptoPRO vidělo můj certifikát a čipová karta Jacarta začala fungovat, můžete podepisovat dokumenty.
Své zařízení JaCarta můžete také vidět v části Zařízení a tiskárny,
Pokud máte jako já na virtuálním stroji nainstalován token jacarta, budete muset certifikát nainstalovat přes konzolu virtuálního stroje a také k němu udělit práva odpovědné osobě. Pokud se jedná o fyzický server, budete muset udělit práva řídicímu portu, který má také virtuální konzoli.
Když jste nainstalovali všechny ovladače pro tokeny Jacarta, může se při připojování přes RDP a otevření nástroje Jacarta PKI Unified Client zobrazit následující chybová zpráva:
- Služba čipových karet není spuštěna na místním počítači. Architektura relace RDP vyvinutá společností Microsoft neumožňuje použití klíčových médií připojených ke vzdálenému počítači, proto v relaci RDP vzdálený počítač používá službu čipové karty místního počítače. Z toho vyplývá, že spuštění služby čipové karty v rámci relace RDP pro normální provoz nestačí.
- Služba správy čipových karet na místním počítači je spuštěna, ale není pro program v relaci RDP dostupná kvůli nastavení Windows a/nebo klienta RDP.\
Jak opravit chybu „Nelze se připojit ke službě správy čipových karet“.
- Spusťte službu čipové karty na místním počítači, ze kterého spouštíte relaci vzdáleného přístupu. Nastavte jej tak, aby se spouštěl automaticky při spuštění počítače.
- Povolit používání místních zařízení a zdrojů během vzdálené relace (zejména čipové karty). Chcete-li to provést, v dialogovém okně „Připojení ke vzdálené ploše“ vyberte v nastavení kartu „Místní zdroje“, poté ve skupině „Místní zařízení a zdroje“ klikněte na tlačítko „Podrobnosti...“ a v dialogovém okně otevře, vyberte položku "Smart karty" a klikněte na "OK" a poté na "Připojit".
- Ujistěte se, že jsou uložena nastavení připojení RDP. Ve výchozím nastavení jsou uloženy v souboru Default.rdp v adresáři „My Documents.“ Ujistěte se, že v tomto souboru je řádek „redirectsmartcards: i: 1“.
- Ujistěte se, že na vzdáleném počítači, ke kterému vytváříte připojení RDP, nejsou aktivovány zásady skupiny
-[Konfigurace počítače\Šablony pro správu\Součásti systému Windows\Služby vzdálené plochy\Hostitel relace vzdálené plochy\Přesměrování zařízení a prostředků\Nepovolit přesměrování čtečky čipových karet]. Pokud je povoleno (Enabled), pak jej deaktivujte a restartujte počítač. - Pokud máte nainstalovaný Windows 7 SP1 nebo Windows 2008 R2 SP1 a používáte RDC 8.1 pro připojení k počítačům se systémem Windows 8 a vyšším, musíte nainstalovat aktualizaci operačního systému https://support.microsoft.com/en-us / kb/2913751
Zde bylo řešení problémů s nastavením tokenu Jacarta, CryptoPRO na terminálovém serveru, pro podepisování dokumentů ve VTB24 RBS. Pokud máte připomínky nebo opravy, napište je do komentářů.
Médium Jacarta PKI/GOST je blokováno několika pokusy o zadání nesprávného kódu PIN. V tomto případě dojde ke ztrátě spojení se serverem FSRAR a data na fakturách se nedostanou do vašeho účetního systému. Jak rychle odemknout klíč a obnovit práci s EGAIS?
Ve výchozím nastavení jsou pro všechna nová média nastavena následující hesla:
PKI | 11 11 11 11 |
Správce PKI | 00 00 00 00 |
GOST | 0987654321 |
Správce GOST | 1234567890 |
K odemknutí počítače musí být nainstalován program Jacarta Unified Client. Pokud nastavení a instalaci EGAIS provedli naši specialisté, pak tento program již máte.
Spusťte program a počkejte, dokud se v okně Unified Client neobjeví informace o médiu Jacarta PKI/GOST.
Odblokujte GOST
Sekce GOST obsahuje certifikát QEP vydaný certifikační autoritou. buď opatrný- z této sekce nelze odstranit žádné součásti. Po smazání budete muset znovu požádat certifikační autoritu o vydání klíče.
Chcete-li odemknout PIN kód GOST, vyberte v horní nabídce „Aplikační operace“ první položku „Odemknout uživatelský PIN kód“. Na obrazovce se objeví upozornění, že odemknutí vynuluje počítadlo chybných pokusů o zadání.
Klikněte na "OK" a v nově otevřeném okně zadejte PIN kód správce Jacarta GOST 1234567890. Po vynulování počítadla chyb zadejte standardní uživatelský PIN kód GOST 0987654321.
Důležité: tento postup pomůže pouze vynulovat počítadlo, ale nezmění zapomenuté heslo na nové. Pokud jste změnili výchozí heslo GOST a zapomněli jste ho, budete muset inicializovat a zapsat klíč znovu v certifikačním centru.
Odblokovat PKI
Kontejner PKI obsahuje klíč RSA, který je vygenerován ve vašem účtu na webu egais.ru. V případě ztráty PIN kódu lze tuto sekci inicializovat (zcela vymazat), protože klíč můžete přepsat sami a zdarma, aniž byste museli kontaktovat certifikační autoritu.
Všechny funkce z implementace standardu PKCS#11 vracejí různé chybové kódy. Všechny vrácené chybové kódy jsou rozděleny do dvou velkých skupin:
Všechny funkce z implementace standardu PKCS#11 vracejí speciální chybové kódy (definované výrobcem).
Všechny funkce z implementace standardního rozšíření PKCS#11 vracejí speciální chybové kódy (definované výrobcem).
Standardní chybové kódy
Vzhledem ke zvláštnostem implementace knihoven rtPKCS11 a rtPKCS11ECP mohou některé standardní funkce vracet standardní chybový kód PKCS#11, který není uveden v seznamu platných pro tuto funkci. Tato situace je výjimkou. Standardní chybové kódy vrácené každou funkcí ve výjimečných situacích jsou uvedeny v popisu pro každou funkci zvlášť.
Tabulka 2.29 uvádí standardní chybové kódy PKCS#11 a jejich popisy podporované zařízeními Rutoken. Podrobné informace o každém chybovém kódu naleznete ve standardu (v angličtině) nebo v příloze (v ruštině).
stůl2.29 . Standardní chybové kódy
Chybový kód | Popis |
CKR_ARGUMENTS_BAD | Neplatný argument |
CKR_ATTRIBUTE_READ_ONLY | Nelze nastavit nebo změnit hodnotu atributu podle aplikace |
CKR_ATTRIBUTE_SENSITIVE | Atribut není čitelný |
CKR_ATTRIBUTE_TYPE_INVALID | Nesprávný typ atributu |
CKR_ATTRIBUTE_VALUE_INVALID | Nesprávná hodnota atributu |
CKR_BUFFER_TOO_SMALL | Velikost zadané vyrovnávací paměti je nedostatečná k zobrazení výsledků provádění funkce |
Knihovna nepodporuje zamykání pro ochranu vláken; vrátí pouze při volání funkce C_Initialize |
|
CKR_CRYPTOKI_ALREADY_INITIALIZED | Knihovna již byla inicializována (předchozí volání funkce C_Initialize nebylo následováno odpovídajícím voláním funkce C_Dokončit); vrátí pouze při volání funkce C_Initialize |
CKR_CRYPTOKI_NOT_INITIALIZED | Funkci nelze provést, protože knihovna nebyla inicializována; je vráceno pouze při volání jakékoli funkce, kromě C_Initialize A C_Dokončit |
CKR_DATA_INVALID | Nesprávná vstupní data pro provádění kryptografické operace |
CKR_DATA_LEN_RANGE | Vstupní data nemají správnou velikost pro provedení kryptografické operace |
CKR_DEVICE_ERROR | Chyba při přístupu k tokenu nebo slotu |
CKR_DEVICE_MEMORY | Nedostatek paměti tokenu k provedení požadované funkce |
CKR_DEVICE_REMOVED | Token byl odstraněn ze slotu během provádění funkce |
CKR_DOMAIN_PARAMS_INVALID | Nesprávné nebo nepodporované parametry domény předané funkci |
CKR_ENCRYPTED_DATA_INVALID | Pro operaci dešifrování byla odeslána nesprávně zašifrovaná data |
CKR_ENCRYPTED_DATA_LEN_RANGE | Šifrovaná data nesprávné velikosti předána k operaci dešifrování |
CKR_FUNCTION_CANCELED | Funkce byla přerušena |
CKR_FUNCTION_FAILED | Při provádění funkce došlo k chybě |
CKR_FUNCTION_NOT_SUPPORTED | Požadovaná funkce není knihovnou podporována |
CKR_FUNCTION_REJECTED | Požadavek na podpis byl uživatelem zamítnut |
CKR_GENERAL_ERROR | Kritická chyba související s hardwarem |
Na pracovní stanici, kde je knihovna nainstalována, není dostatek paměti pro provedení funkce |
|
CKR_KEY_FUNCTION_NOT_PERMITTED | Klíčové atributy neumožňují operaci |
CKR_KEY_HANDLE_INVALID | Funkce byl předán neplatný identifikátor klíče (handle). |
CKR_KEY_NOT_WRAPPABLE | Klíč nelze zašifrovat |
CKR_KEY_SIZE_RANGE | Neplatná velikost klíče |
CKR_KEY_TYPE_INCONSISTENT | Typ klíče neodpovídá tomuto mechanismu |
CKR_KEY_UNEXTRACTABLE | Klíč nelze zašifrovat, protože atribut CKA_UNEXTRACTABLE je nastaven na CK_TRUE |
CKR_MECHANISM_INVALID | Byl zadán nesprávný mechanismus pro provedení kryptografické operace |
CKR_MECHANISM_PARAM_INVALID | Zadané nesprávné parametry stroje pro provedení kryptografické operace |
CKR_NEED_TO_CREATE_THREADS | Program nepodporuje interní metody operačního systému pro vytváření nových vláken |
CKR_OBJECT_HANDLE_INVALID | Nesprávný identifikátor objektu (handle) předaný funkci |
CKR_OPERATION_ACTIVE | Operaci nelze provést, protože operace již probíhá |
CKR_OPERATION_NOT_INITIALIZED | V této relaci nelze provést operaci |
Platnost kódu PIN vypršela |
|
CKR_PIN_INCORRECT | PIN kód předaný funkci neodpovídá kódu uloženému na tokenu |
Hodnota PIN obsahuje neplatné znaky |
|
CKR_PIN_LEN_RANGE | Neplatná délka PIN |
CKR_RANDOM_NO_RNG | Tento token nepodporuje generování náhodných čísel |
CKR_SESSION_CLOSED | Během provádění funkce byla relace uzavřena |
CKR_SESSION_COUNT | Bylo dosaženo maximálního počtu otevřených relací pro tento token |
CKR_SESSION_EXISTS | Relace s tokenem je již otevřená, a proto token nelze inicializovat |
CKR_SESSION_HANDLE_INVALID | Neplatné ID relace (handle) předané funkci |
CKR_SESSION_PARALLEL_NOT_SUPPORTED | Tento token nepodporuje paralelní relace |
CKR_SESSION_READ_ONLY | Nelze provést akci, protože se jedná o relaci R/O |
CKR_SESSION_READ_WRITE_SO_EXISTS | Relace R/W je již otevřena, takže není možné otevřít relaci R/O |
CKR_SIGNATURE_INVALID | Neplatná hodnota EDS |
CKR_SIGNATURE_LEN_RANGE | Hodnota EDS má nesprávnou délku |
CKR_SLOT_ID_INVALID | Slot s daným ID neexistuje |
CKR_TEMPLATE_INCOMPLETE | K vytvoření objektu není dostatek atributů |
CKR_TEMPLATE_INCONSISTENT | Uvedené atributy si vzájemně odporují |
CKR_TOKEN_NOT_PRESENT | Během volání funkce není token ve slotu |
CKR_UNWRAPPING_KEY_HANDLE_INVALID | Funkce byl předán nesprávný identifikátor (handle) dešifrovacího klíče |
CKR_UNWRAPPING_KEY_SIZE_RANGE | Neplatná velikost dešifrovacího klíče |
CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT | Typ dešifrovacího klíče neodpovídá tomuto mechanismu |
CKR_USER_ALREADY_LOGGED_IN | |
CKR_USER_ANOTHER_ALREADY_LOGGED_IN | |
CKR_USER_NOT_LOGGED_IN | |
CKR_USER_PIN_NOT_INITIALIZED | Uživatelský PIN není inicializován |
CKR_USER_TOO_MANY_TYPES | |
CKR_USER_TYPE_INVALID | Byl zadán neplatný typ uživatele |
CKR_WRAPPED_KEY_INVALID | Byl zadán neplatný šifrovaný klíč |
CKR_WRAPPED_KEY_LEN_RANGE | Nesprávně zadaná délka šifrovaného klíče |
CKR_WRAPPING_KEY_HANDLE_INVALID | Funkce byl předán nesprávný identifikátor (handle) šifrovacího klíče |
CKR_WRAPPING_KEY_SIZE_RANGE | Neplatná velikost šifrovacího klíče |
CKR_WRAPPING_KEY_TYPE_INCONSISTENT | Typ šifrovacího klíče neodpovídá tomuto mechanismu |
Speciální chybové kódy
Tabulka 2.30 uvádí všechny rozšířené chybové kódy PKCS #11 spolu s jejich popisy. Rozšířené chybové kódy mohou vracet standardní funkce i rozšiřující funkce.
Tabulka 2.30. Standardní chybové kódyPKCS #11 podporovaný zařízeními Rutoken
Chybový kód | Popis |
CKR_CORRUPTED_MAPFILE | Tato chyba se vrátí, když je soubor MAP poškozen (při čtení souboru MAP byla značka záhlaví souboru MAP (2 bajty) shledána neplatnou) |
CKR_RTPKCS11_DATA_CORRUPTED | Tato chyba se vrátí, pokud bylo na tokenu zjištěno porušení integrity dat (při čtení souboru obsahujícího objekt PKCS#11 byla značka záhlaví objektu (2 bajty) shledána neplatnou) |
CKR_WRONG_VERSION_FIELD | Tato chyba se vrátí, pokud má soubor obsahující objekt PKCS#11 neplatnou verzi (při čtení jakéhokoli souboru (soubor MAP nebo soubor obsahující objekt PKCS#11) byla verze záhlaví (4 bajty) shledána neplatnou) |
CKR_WRONG_PKCS1_KÓDOVÁNÍ | Tato chyba se vrátí, pokud dešifrovaná zpráva není ve správném tvaru. |
CKR_RTPKCS11_RSF_DATA_CORRUPTED | Tato chyba se vrátí, pokud selže pokus o použití souboru RSF. |
Popis problému. Pro práci s EGAIS se používá nosič JaCarta PKI / GOST / SE. Často je jeden z oddílů blokován (oddíl PKI). V tomto případě je další práce s EGAIS nemožná.
Důvod zablokování– častý přístup univerzálního transportního modulu k nosiči JaCarta. Při deseti neúspěšných pokusech o autorizaci médium uzamkne oddíl a vyloučí další práci.
Problém lze vyřešit dvěma způsoby:
- Obraťte se na certifikační úřad, který nosič vydal.
- Odemkněte médium JaCarta sami podle pokynů.
Návod na příkladu Microsoft Windows 10.
Pokyny krok za krokem, jak odemknout oddíl PKI
Krok 1: Přepnutí do režimu správce
V nabídce Start najděte aplikaci JaCarta Unified Client a otevřete ji.
Rýže. 1. Jediný klient JaCarta
Otevře se pracovní plocha programu.
Rýže. 2. Přepněte do administračního režimu
Otevře se pracovní plocha programu. Pokud je sekce PKI uzamčena, karta PKI bude červená.
Rýže. 3. Informace o tokenu
Krok 2: Kontrola zámku PKI na oddílu
Chcete-li pochopit, že sekce PKI je skutečně blokována, klikněte na odkaz „Úplné informace ...“ v záložce „Informace o tokenu“.
Otevře se „Podrobné informace o tokenu“. V novém okně najděte sekci "Informace o aplikaci PKI". Pokud je v řádku "PIN-kód" stav "Blokováno", zavřete okno a pokračujte dalším odstavcem instrukce.
Rýže. 4. Podrobné informace o tokenu
Krok 3 Odemkněte oddíl PKI
Přejděte na kartu "PKI". Na panelu Akce aplikace vyberte možnost Odemknout PIN uživatele....
Otevře se okno „Odemknutí PIN uživatele“, ve kterém můžete zadat:
- Aktuální PIN správce je ve výchozím nastavení 00000000;
- Nový uživatelský PIN je ve výchozím nastavení 11111111;
- Potvrzení kódu (to znamená PIN kód uživatele).
Rýže. 6. Odemknutí PIN uživatele
Po zadání PIN kódů klikněte na „Spustit“.
Pokud je vše zadáno správně, zobrazí se upozornění. Pro dokončení klikněte na "OK".
Rýže. 7. Oznámení o úspěšném odemknutí
Přejděte na kartu „Informace o tokenu“ a kliknutím na odkaz „Úplné informace“ zkontrolujte aktuální stav aplikace PKI. Stav by měl být „Instalováno“.
Rýže. 8. Kontrola stavu
Pokud se stav změnil, odemknutí je dokončeno.