Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Claude Code: SSL certificate error - jak naprawić certyfikat

W skrócie

  • Problem: Claude Code zgłasza błąd certyfikatu TLS, na przykład self signed certificate in certificate chain albo UNABLE_TO_GET_ISSUER_CERT_LOCALLY.
  • Dlaczego: najczęściej firmowy proxy z inspekcją SSL podstawia własny certyfikat, którego system i Node nie znają; rzadziej brak firmowego CA w magazynie albo antywirus przechwytujący ruch.
  • Rozwiązanie: dodaj firmowe CA do zaufanych w systemie i wskaż je Node przez NODE_EXTRA_CA_CERTS; nigdy nie wyłączaj weryfikacji TLS na stałe.

Claude Code nie ufa certyfikatowi, który dostał przy połączeniu z API, bo nie potrafi domknąć łańcucha do zaufanego wystawcy. Prawie zawsze stoi za tym firmowa inspekcja SSL. Pokazujemy, jak to naprawić bezpiecznie.

Jak to wygląda w praktyce

W terminalu pojawia się błąd certyfikatu, na przykład self signed certificate in certificate chain albo UNABLE_TO_GET_ISSUER_CERT_LOCALLY. Połączenie do API zostaje przerwane na etapie negocjacji TLS.

Objaw pojawia się typowo w sieci firmowej albo na komputerze z korporacyjnym antywirusem, a znika, gdy przełączysz się na sieć domową bez inspekcji ruchu.

Dlaczego tak się dzieje

Błąd oznacza, że Node nie potrafi zweryfikować łańcucha certyfikatów aż do zaufanego wystawcy. Najczęstsza przyczyna to firmowy proxy z inspekcją SSL: przechwytuje szyfrowany ruch, deszyfruje go i podstawia własny certyfikat wystawiony przez firmowe CA. To CA nie jest znane ani systemowi, ani Node, więc łańcuch wygląda na niezaufany albo samopodpisany.

Rzadziej problem wynika z braku firmowego certyfikatu CA w magazynie zaufanych certyfikatów systemu albo z antywirusa, który również przechwytuje i podmienia certyfikaty. Efekt jest ten sam - api.anthropic.com przedstawia certyfikat, którego narzędzie nie umie zaufać.

Jak to rozwiązać krok po kroku

  1. Zdobądź od działu IT plik firmowego certyfikatu CA (zwykle w formacie .pem albo .crt). To ten certyfikat, którym proxy podpisuje przechwytywany ruch.
  2. Dodaj firmowe CA do magazynu zaufanych certyfikatów systemu operacyjnego, żeby cały komputer mu ufał.
  3. Wskaż certyfikat bezpośrednio Node przez zmienną NODE_EXTRA_CA_CERTS ustawioną na ścieżkę do pliku CA, na przykład NODE_EXTRA_CA_CERTS=C:\certs\firma-ca.pem, i uruchom Claude Code ponownie.
  4. Sprawdź, czy antywirus nie przechwytuje ruchu HTTPS. Jeśli tak, dodaj jego CA w ten sam sposób albo wyłącz skanowanie SSL dla ruchu deweloperskiego.
  5. Jeśli nie masz certyfikatu, poproś dział IT wprost o firmowy plik CA używany przez proxy - bez niego nie da się poprawnie domknąć łańcucha.
  6. NIE wyłączaj weryfikacji TLS na stałe. Ustawienie NODE_TLS_REJECT_UNAUTHORIZED=0 otwiera dziurę bezpieczeństwa i naraża Cię na podsłuch - używaj go najwyżej doraźnie do samej diagnozy i natychmiast wycofaj.

Jak sprawdzić, że zadziałało

Po dodaniu CA i ustawieniu NODE_EXTRA_CA_CERTS uruchom krótkie polecenie w Claude Code. Brak błędu certyfikatu oznacza, że łańcuch domyka się do zaufanego wystawcy.

Możesz też sprawdzić samo połączenie: curl -I https://api.anthropic.com powinno wrócić z nagłówkami HTTP bez ostrzeżeń o certyfikacie. Czysty wynik potwierdza, że system i narzędzia ufają teraz certyfikatowi przedstawianemu przez proxy.

Wróć do listy problemów z Claude Code

Szkolenie Claude Code - od zera do zespołu agentów AI, prowadzi Łukasz Matuszewski (JSystems)

Szkolenie Claude Code - od zera do zespołu agentów AI -->

Szkolenie Claude Code - od zera do zespołu agentów AI

Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.

Sprawdź szkolenie Claude Code

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Dlaczego w sieci domowej wszystko działa, a w firmie wyskakuje błąd certyfikatu?
Bo firmowa sieć zwykle stosuje inspekcję SSL - proxy deszyfruje ruch i podstawia własny certyfikat wystawiony przez firmowe CA. W domu takiej inspekcji nie ma, więc certyfikat serwera jest wystawiony przez powszechnie zaufany urząd i Node nie ma z nim problemu.
Co robi zmienna NODE_EXTRA_CA_CERTS?
Wskazuje Node dodatkowy plik z certyfikatami CA, którym ma ufać poza wbudowaną listą. Dzięki temu Node potrafi domknąć łańcuch do firmowego wystawcy, którego nie zna z fabryki, i przestaje odrzucać połączenia przechodzące przez firmowy proxy z inspekcją SSL.
Czy mogę po prostu wyłączyć sprawdzanie certyfikatów?
Nie powinieneś tego robić na stałe. Wyłączenie weryfikacji przez NODE_TLS_REJECT_UNAUTHORIZED z wartością zero sprawia, że narzędzie akceptuje dowolny certyfikat, także podstawiony przez atakującego. To otwarta dziura bezpieczeństwa - dopuszczalna najwyżej na chwilę do diagnozy, nigdy jako docelowe rozwiązanie.
Skąd wziąć firmowy certyfikat CA?
Najprościej poprosić o niego dział IT, który zarządza proxy i inspekcją SSL. To oni wystawiają i dystrybuują firmowe CA. Certyfikat dostaniesz zwykle jako plik pem lub crt, który następnie dodajesz do zaufanych w systemie i wskazujesz Node zmienną NODE_EXTRA_CA_CERTS.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...