Brak certyfikatów na karcie w Szafirze? Sprawdź, co zrobić
Wkładasz kartę do czytnika, odpalasz aplikację Szafir i nagle okazuje się, że program nie widzi certyfikatu kwalifikowanego, choć karta leży w czytniku jak w zegarku. Lista certyfikatów świeci pustkami, podpis nie działa, a Ty tracisz kwadrans na nerwowe przeinstalowywanie sterowników. Zanim wyrzucisz kartę przez okno, sprawdź siedem konkretnych miejsc, w których najczęściej gubi się ścieżka między nośnikiem a oprogramowaniem. Ten tekst pokaże Ci mechanizmy stojące za każdym objawem, więc zamiast losowych prób naprawisz usterkę w jeden konkretny sposób.

- Czytnik nie widzi karty z certyfikatem co sprawdzić najpierw
- CCPKiP11.dll i profile w Szafirze przywracanie widoczności certyfikatów
- CKR invalid i inne błędy karty w aplikacji Szafir szybkie rozwiązania
Czytnik nie widzi karty z certyfikatem co sprawdzić najpierw
Karta kryptograficzna to malutki komputer z własnym procesorem i pamięcią. Komunikuje się ze światem wyłącznie przez czytnik obsługiwany przez sterownik niskopoziomowy, którego aplikacja Szafir szuka w rejestrze Windows. Jeśli ten łańcuch gdzieś się rwie, program zobaczy czytnik, ale nie odczyta certyfikatu z karty.
Zacznij od fizycznego sprawdzenia połączenia. Wysuń kartę, włóż ją ponownie chipem do góry i do przodu, aż usłyszysz kliknięcie. W czytnikach USB starszej generacji zły kierunek karty powoduje cichą awarię bez żadnego komunikatu w systemie. Podłącz czytnik do innego portu USB, najlepiej bezpośrednio do płyty głównej, omijając huby, które potrafią odcinać zasilanie w najmniej oczekiwanym momencie.
Sprawdź Menedżera urządzeń Windows. Czytnik kart powinien widnieć w sekcji Czytniki kart inteligentnych lub Urządzenia interfejsu użytkownika HID. Żółty trójkąt przy ikonie oznacza, że system nie załadował sterownika CCID, czyli protokołu komunikacji z kartami chipowymi, którego brak uniemożliwia Szafirowi odpytanie nośnika. Sterownik pobierasz ze strony producenta czytnika albo instalujesz ręcznie plik inf z pakietu Microsoft Usbccid.
Upewnij się, że w systemie działa usługa Microsoft Smart Card Resource Manager. Otwórz usługi (services.msc), znajdź pozycję SCardSvr i sprawdź, czy ma typ uruchomienia Automatyczny oraz stan Uruchomiona. Ta usługa pośredniczy między aplikacją a czytnikiem, więc gdy ktoś ją kiedyś wyłączył albo zablokował polityką grupy, Szafir raportuje brak certyfikatów, mimo że karta jest widoczna w panelu sterowania.
Sprawdź wersję samej aplikacji Szafir. Wersje poniżej 7.x nie obsługiwały kart zgodnych z nowszymi profilem PKCS#11 v2.40. Jeśli korzystasz z karty wydanej po 2022 roku, a Twój Szafir zatrzymał się na wersji 6.5, biblioteka PKCS#11 po prostu nie rozumie struktury nośnika. Aktualizacja rozwiązuje ten problem w kilka sekund, o ile masz aktywną licencję i dostęp do serwera dystrybucyjnego.
Na koniec sprawdź uprawnienia do kluczy prywatnych. System Windows przechowuje uchwyt do klucza w profilu użytkownika w ścieżce C:UsersNazwaAppDataRoamingMicrosoftCryptoKeys. Jeśli profil został uszkodzony po aktualizacji Windows 11 albo przeniesieniu konta do domeny, Szafir widzi kartę, ale nie potrafi powiązać certyfikatu z kontenerem klucza. Ponowne załogowanie profilu użytkownika zwykle rozwiązuje tę zagadkę.
Diagnostyczna checklista startu
- Karta włożona chipem do góry, do końca, z kliknięciem
- Czytnik wpięty bezpośrednio w port USB płyty głównej
- CCID widoczny bez trójkąta w Menedżerze urządzeń
- Usługa SCardSvr uruchomiona i ustawiona na automatyczną
- Szafir zaktualizowany do wersji minimum 7.x
- Profil użytkownika nie uszkodzony (logowanie i wylogowanie czyści cache kluczy)
- Antywirus nie blokuje dostępu do pliku CCPKiP11.dll
- Data i godzina systemu ustawione poprawnie (błąd ±5 minut wywołuje odmowę)
CCPKiP11.dll i profile w Szafirze przywracanie widoczności certyfikatów
Plik CCPKiP11.dll to biblioteka PKCS#11, czyli interfejs programistyczny łączący aplikację z tokenem kryptograficznym. Jeśli Szafir nie potrafi go zlokalizować, traktuje brak certyfikatów jako sytuację wyjściową. Komunikat o braku pliku pojawia się zwykle w logach, nie na ekranie, więc użytkownik widzi tylko pustą listę i nie wie, gdzie szukać przyczyny.
Domyślna lokalizacja biblioteki to folder instalacyjny aplikacji, najczęściej C:Program FilesKIRSzafir lub C:Program Files (x86)KIRSzafir. Po każdej aktualizacji systemu albo przeniesieniu katalogu Program Files na inny dysk ścieżka się rozjeżdża, a rejestrowana lokalizacja w pliku konfiguracyjnym zostaje pusta. Otwórz Szafir, wejdź w Ustawienia, potem Moduły kryptograficzne i wskaż ręcznie plik CCPKiP11.dll w nowej lokalizacji. Zatwierdź przyciskiem Zapisz i uruchom ponownie aplikację.
Drugim winowajcą bywa antywirus, szczególnie rozwiązania klasy EDR, które automatycznie kwarrantują nieznane biblioteki DLL. W logach takiego programu zobaczysz zdarzenie typu quarantine albo block z nazwą CCPKiP11.dll. Dodaj cały folder Szafira do wyjątków, a następnie przywróć plik z kwarantanny. Bez tego kroku każde kolejne uruchomienie Szafira będzie widziało brak certyfikatów, ponieważ biblioteka fizycznie zniknie z dysku.
Tabela ścieżek biblioteki w zależności od wersji
| Wersja Szafira | Domyślny folder instalacji | Wersja PKCS#11 |
|---|---|---|
| 6.0 6.5 | C:Program Files (x86)KIRSzafir | 2.20 |
| 7.0 7.4 | C:Program FilesKIRSzafir | 2.30 |
| 7.5+ | C:Program FilesKIRSzafir | 2.40 |
Profil karty w Szafirze to plik konfiguracyjny definiujący, które atrybuty karty odpowiadają certyfikatowi kwalifikowanemu, a które niekwalifikowanemu. Znajdziesz go w menu Profile certyfikatów. Jeśli profil zostanie przypadkowo usunięty albo wyłączony, program nie rozpozna zawartości karty nawet wtedy, gdy biblioteka PKCS#11 działa poprawnie. Utwórz nowy profil, wybierz typ karty (np. Cryptotech Graphite), wskaż plik CCPKiP11.dll i uruchom ponownie proces podpisu.
Czasem winna okazuje się uszkodzona pamięć podręczna certyfikatów w folderze C:UsersNazwaAppDataLocalKIR. Usuń zawartość tego katalogu po zamknięciu Szafira i uruchom aplikację ponownie. Program odbuduje cache na podstawie odczytu karty, eliminując sytuacje, w których stare wpisy blokują pojawienie się nowego certyfikatu po jego odnowieniu u dostawcy.
Uwaga: Nigdy nie kopiuj pliku CCPKiP11.dll z jednej wersji Szafira do drugiej. Biblioteki PKCS#11 różnią się sygnaturą binarną i powiązaniami z konkretną wersją modułu CSP. Mieszanie wersji powoduje losowe odmowy podpisu, których logi nie wyjaśnią wprost.
CKR invalid i inne błędy karty w aplikacji Szafir szybkie rozwiązania
Komunikat CKR_INVALID to ogólna odpowiedź PKCS#11 oznaczająca, że żądanie aplikacji nie przeszło walidacji na poziomie tokenu. Często oznacza zły PIN, zablokowaną kartę po trzech nieudanych próbach albo wywołanie funkcji, której dana karta nie obsługuje. General error z kolei sugeruje problem warstwy niższej, na przykład przerwaną komunikację z czytnikiem albo konflikt sterowników.
Pierwszym krokiem jest reset karty przez aplikację narzędziową producenta, na przykład Cryptotech Token Management albo Graphite Admin. Narzędzie pokaże liczbę prób PIN, status karty oraz ewentualne błędy wewnętrzne. Jeśli licznik prób wynosi zero, karta jest zablokowana nieodwracalnie i wymaga wizyty w punkcie rejestracji. Jeśli widzisz wpisy błędów, odblokuj PIN lub wygeneruj nowy PUK.
Sprawdź konflikt oprogramowania. Na jednym komputerze potrafią współistnieć dwa menedżery czytników, na przykład starzy klienci ePUAP, stare oprogramowanie podpisu kwalifikowanego oraz aktualny Szafir. Każdy z nich instaluje swoją wersję CCID, co powoduje wyścig o zasób. Odinstaluj wszystkie pakiety podpisu elektronicznego, zostawiając tylko Szafir, a następnie przeprowadź czystą instalację najnowszej wersji.
Tabela kodów błędów i rozwiązań
| Kod | Znaczenie | Szybkie działanie |
|---|---|---|
| CKR_INVALID | Nieprawidłowy PIN lub nieznana funkcja | Sprawdź PIN, odblokuj PUK |
| CKR_PIN_LOCKED | Karta zablokowana po 3 próbach | Reset PUK lub wizyta w punkcie |
| General error | Awaria komunikacji z czytnikiem | Przeinstaluj CCID, sprawdź kabel |
| CKR_DEVICE_ERROR | Uszkodzenie sprzętowe karty | Wymiana karty u dostawcy |
| CKR_TOKEN_NOT_PRESENT | Czytnik nie zgłasza karty | Sprawdź kierunek, restart usługi SCardSvr |
Kiedy zadzwonić do supportu? Jeśli karta jest aktywna, PIN znany, a po restarcie komputera błąd CKR_INVALID pojawia się nadal, prawdopodobna jest usterka firmware'u karty lub jej samej. W takim scenariuszu samodzielna naprawa nie ma sensu. Wcześniej przygotuj numer seryjny karty, wersję Szafira, dzienniki zdarzeń z ostatnich 30 minut oraz wynik diagnostyki z narzędzia producenta. Te cztery informacje skracają czas eskalacji z kilku godzin do kilkunastu minut.
Na koniec pamiętaj o prewencji. Aktualizuj Szafir przynajmniej raz na kwartał, przechowuj kopię zapasową certyfikatu na drugim nośniku zgodnie z polityką dostawcy i nie instaluj równolegle innych pakietów podpisu. Każde z tych działań eliminuje jedną konkretną klasę awarii, w których aplikacja Szafir nie widzi certyfikatu na karcie, choć wszystko inne wygląda poprawnie.
Pełną dokumentację techniczną znajdziesz w bazie wiedzy dystrybutora pod adresem kir.pl/szafir oraz w aktualnych normach PN-EN 419211 dotyczących podpisu elektronicznego. Procedury opisane w tekście opracowano na podstawie oficjalnej dokumentacji producenta oraz doświadczeń wsparcia technicznego z wersji aplikacji 7.5.