Błąd krytyczny przy podpisywaniu deklaracji i wysyłce z programów Insert GT „Klasa niezarejestrowana Rewizor GT”
Omawiany temat dotyczy problemów technicznych związanych z wysyłką deklaracji z programu Rewizor GT.
Problem objawia się komunikatem podana klasa niezarejestrowana w momencie, kiedy deklaracji, którą chcemy wysłać do bramki Ministerstwa Finansów po wygenerowaniu deklaracji elektronicznej chcemy podpisać ją podpisem kwalifikowanym.
Pojawiający się komunikat jest dość lakoniczny i brzmi po prostu jako „podana klasa niezarejestrowana”. Błąd, o którym mowa nie jest bezpośrednio spowodowany błędnym działaniem programu, ale występuje przypadku, gdy dla systemu Windows dokonaliśmy modyfikacji uprawnień użytkownika, na którym pracujemy za pomocą polityki GPO lub jakiś innych zmian w uprawnieniach która to spowodowała zmianę identyfikatora użytkownika systemu Windows który i jest dla każdego użytkownika w naszym systemie nadawany indywidualnie.
Rozwiązanie problemu dla użytkowników Windows pracujących w domenie lokalnej pod kontrolą kontrolera domeny opartego o Windows Serwer
Problem ten był omawiany na jednym z forum internetowych z których to zaciągnęliśmy część rozwiązania jednak jest ono niekompletne w przypadku, gdy nasz system operacyjny pracuje pod kontrolą serwera domeny Windows w obrębie lokalnej domeny.
Podany poniżej przykład usunięcia odpowiednich plików z lokalizacji związanej z naszym użytkownikiem należy skorygować o konieczność usunięcia całego katalogu z tak zwanym SID naszego użytkownika, który znajduje się pod obsługą kontrolera domeny Windows.
Dopiero usunięcie całego katalogu z lokalizacji:
C:\Users\[nasza nazwa użytkownika]\appdata\Roaming\Microsoft\Crypto\RSA\
Spowoduje ponowne wygenerowanie odpowiedniego pliku zawierającego klucz umożliwiający systemowi Windows obsługę zainstalowanych już w naszym systemie podpisów kwalifikowanych.
Niejednokrotnie podawane przez niektórych użytkowników rozwiązanie polegające na stworzeniu nowego użytkownika w systemie i zalogowaniu się na niego uruchomieniu programu Rewizor a następnie dokonaniu wysyłki deklaracji elektronicznej nie powiedzie się pomimo tego, iż nowy Użytkownik posiada uprawnienia administratora. Dlatego zalecane jest dla pracy lokalnej bez kontrolera domeny fizyczne usunięcie pliku z podanego poniżej przykładu. Natomiast w przypadku pracy na naszym systemie pod kontrolą kontrolera domeny Windows niezbędne jest usunięcie całego katalogu z SID naszego użytkownika co musi dokonać administrator systemu.
Zwrócę szczególną uwagę na to, iż w naszym wypadku na przykładzie klienta, u którego wyniku problem z podpisem elektronicznym i błędem opisanym powyżej problem pojawił się w momencie, gdy dokonywaliśmy kopiowania/przenoszenia kont użytkowników pomiędzy kontrolerami domeny lokalnej systemu Windows przy przejściu na inną domenę lokalną. Należy pamiętać, że nie możemy skasować nazwijmy to pierwszego lepszego katalogu z SID tylko katalog, który jest oznaczony za pomocą SID naszego starego użytkownika. Sprawdzenie właściwego numeru SID jest możliwe jedynie na kontrolerze domeny do którego dostęp ma administrator domeny.
A oto rozwiązanie problemu dla użytkowników pracujących lokalnie dla „Klasa niezarejestrowana Rewizor GT” :
C:\Users\[nasza nazwa użytkownika]\appdata\Roaming\Microsoft\Crypto\RSA\
znaleźć plik zaczynający się od:
99e66e4c466bb33a18bd87bcdea64ad7.
i go usunąć.
Jest to klucz wewnętrzny biblioteki. Następnie należny ponownie uruchomić program i już podpisywanie, wysyłanie itp. zacznie normalnie działać bez zwracania komunikatów o błędach.
Ponowne załadowanie biblioteki Podpis.dll powinno ponownie utworzyć ten klucz, tym razem poprawny i nie powinno być więcej problemu z podpisem. Gdyby sytuacja się powtórzyła należy ponownie usunąć ten klucz.
Uwaga nie warto usuwać czy zmieniać nazwy całego katalogu z SID użytkownika przy pracy w systemie Windows opartej na użytkownikach lokalnych bez kontrolera domeny. Może to spowodować nieprawidłowe działanie innych certyfikatów, które przechowują klucze prywatne w
systemie. Tak jak wspominaliśmy wcześniej usunięcie katalogu ze starym numerem SID należy dokonać wyłącznie w momencie, gdy pracujemy na domenie i zmienił się identyfikator naszego użytkownika na przykład w przypadku przenoszenia kont pomiędzy domenami na inny kontroler domeny.