Błąd ERRPKCS12IMPORTINVALIDMAC występuje podczas importu pliku certyfikatu w formacie PKCS#12 (PFX lub P12) i oznacza, że integralność pliku została zakwestionowana – najczęściej z powodu problemów z hasłem, niekompatybilności algorytmów szyfrowania lub uszkodzenia pliku. Poniżej znajdziesz rozbudowany poradnik z wyjaśnieniami przyczyn, omówieniem technicznym i instrukcjami krok po kroku zarówno dla webmastera lub web dewelopera, jak i dla użytkownika końcowego.
Wyjaśnienie techniczne błędu
- PKCS#12 to standard do przechowywania klucza prywatnego oraz certyfikatów (np. *.p12 lub *.pfx*).
- MAC (Message Authentication Code) to kontrolny kod integralności chroniący zawartość archiwum przed modyfikacją.
- Błąd INVALID_MAC sygnalizuje, że sprawdzenie MAC nie powiodło się: wskazuje na niezgodność hasła, uszkodzenie pliku lub nieobsługiwany przez aplikację/środowisko algorytm.
Typowe przyczyny błędu
- Nieprawidłowe hasło podczas importu.
- Uszkodzenie pliku PKCS#12 (błędny eksport, przerwane pobieranie, błędna konwersja).
- Stare lub nieobsługiwane algorytmy szyfrowania (np. RC2, SHA1 z OpenSSL 3+ nie są już wspierane w nowych środowiskach).
- Brak hasła, gdy plik został zaszyfrowany z hasłem albo odwrotnie – ustawiono hasło podczas importu, ale plik był wyeksportowany bez niego.
- Różnice w sposobie obsługi plików PKCS#12 w różnych aplikacjach/przeglądarkach (Firefox i Chromium bazują na innych bibliotekach niż np. Internet Explorer czy system Windows).
Diagnoza – co sprawdzić na początku?
- Zweryfikuj hasło – upewnij się, że używasz dokładnie tego samego hasła, którego użyto przy eksporcie pliku PKCS#12.
- Przetestuj plik w różnych aplikacjach – importuj plik np. do narzędzi systemowych (Windows), innej przeglądarki (Internet Explorer, Chrome, Firefox).
- Sprawdź czy plik nie jest uszkodzony – uruchom poniższe polecenie w katalogu z plikiem, podając swoją nazwę pliku:
openssl pkcs12 -info -in twoj_cert.p12
Jeśli pojawi się błąd invalid MAC lub „could not parse PKCS12 file”, problem dotyczy pliku, hasła albo algorytmów szyfrowania.
Instrukcja naprawy krok po kroku
Dla webmastera lub web dewelopera
Krok 1 – Analiza i diagnoza pliku PKCS#12
- Pobierz lub przekopiuj plik PKCS#12 na swój komputer.
- Uruchom terminal (np. Linux/Mac, Windows z OpenSSL).
- Wykonaj:
openssl pkcs12 -info -in twoj_cert.p12
- Jeśli pojawi się komunikat „MAC verified OK” – plik jest prawidłowy, szukaj problemu w aplikacji/importerze.
- Jeśli „MAC verify error: invalid password?” lub „could not parse PKCS12 file, check password” – spróbuj z innym hasłem albo ponownie wyeksportuj plik.
Krok 2 – Reeksport certyfikatu z poprawnymi ustawieniami
- Wyodrębnij certyfikat i klucz prywatny:
openssl pkcs12 -nokeys -in twoj_cert.p12 -out certs.pem openssl pkcs12 -nocerts -in twoj_cert.p12 -out key.pem
- Stwórz nowy plik PKCS#12 ze wspieranymi algorytmami (np. AES-256-CBC):
openssl pkcs12 -export -in certs.pem -inkey key.pem -out nowy_cert.p12 -certpbe AES-256-CBC -keypbe AES-256-CBC
- Sprawdź, czy nowy plik poprawnie się importuje.
Krok 3 – Przesyłanie certyfikatu — uwagi praktyczne
- Zawsze używaj hasła przy eksporcie i imporcie.
- Jeśli broker aplikacyjny obsługuje tylko nowe algorytmy (np. OpenSSL 3+), stare RC2/TripleDES nie będą działać.
- Gdy plik nie importuje się w Firefoksie, a w systemie Windows tak — problem zwykle dotyczy niekompatybilności algorytmów lub struktury PKCS#12 z biblioteką NSS.
Dla użytkownika końcowego
Import certyfikatu do systemu Windows
- Otwórz Eksplorator plików i kliknij dwukrotnie na plik .p12.
- Uruchomi się Kreator importu certyfikatów.
- Wybierz miejsce magazynowania certyfikatu (najczęściej „Osobisty”).
- Zostaniesz poproszony o hasło. Wpisz dokładnie takie samo hasło, jakie ustawiłeś przy eksporcie pliku.
- Zakończ import — jeśli otrzymasz błąd hasła, spróbuj ponownie, upewniając się, że wpisujesz je poprawnie.
Import certyfikatu do Firefoksa
- Otwórz Ustawienia → Prywatność i bezpieczeństwo → Certyfikaty → Wyświetl certyfikaty → Twoje certyfikaty → Importuj.
- Wybierz plik .p12, kliknij Otwórz.
- Wprowadź hasło ochrony pliku.
- Jeśli pojawi się błąd „Failed to restore the PKCS#12 file for unknown reasons” — skontaktuj się z osobą, która wygenerowała plik, lub spróbuj importu po reenkrypcji pliku zgodnie z instrukcjami dla webmastera.
Dodatkowe zalecenia i wyjaśnienia
- Pliki PKCS#12 generowane w Microsoft CA oraz OpenSSL mogą różnić się obsługą domyślnych algorytmów — dlatego nie zawsze będą wymienne między wszystkimi programami i systemami.
- Nowoczesne aplikacje mogą nie akceptować starszych szyfrów — eksportuj z nowoczesnymi algorytmami AES (np. AES-256-CBC).
- Nie przesyłaj plików PKCS#12 bez użycia hasła — to naraża klucz prywatny na kradzież!
- Aktualizuj narzędzia i przeglądarki, aby zapewnić kompatybilność z nowymi certyfikatami.
Podsumowanie – szybka checklista
- Sprawdź hasło do pliku PKCS#12.
- Zweryfikuj integralność pliku przez polecenie OpenSSL.
- Przeeksportuj plik PKCS#12 z aktualnymi algorytmami i nowym hasłem.
- Zawsze używaj bezpiecznych i kompatybilnych narzędzi po obu stronach procesu (eksport/import).
Stosując powyższe kroki, praktycznie każdy błąd ERRPKCS12IMPORTINVALIDMAC można skutecznie zdiagnozować i naprawić. Jeśli problem będzie się powtarzał, zawsze skontaktuj się ze wsparciem technicznym lub administratorem certyfikatów.

