---
title: "Firmenproxy-Zertifikatsfehler in npm, Git und curl auf dem Mac · Kilobat-Anleitungen"
url: "https://kilobat.app/de/guides/corporate-proxy-certificates.html"
description: "Behebe „unable to get local issuer certificate“ in npm, Node, Git, curl und Homebrew hinter einem Firmenproxy, ohne die Zertifikatsprüfung abzuschalten."
---

VPN, Proxy und Filter

# Firmenproxy-Zertifikate legen Terminal-Tools auf dem Mac lahm

Manche Firmennetzwerke prüfen HTTPS-Datenverkehr. Der Proxy signiert den Datenverkehr dann mit einem Root-Zertifikat der Firma, und Tools, die ihm nicht vertrauen, brechen ab.

Gilt für: alle aktuellen macOS-Versionen. `NODE_USE_SYSTEM_CA` in Node.js erfordert Node.js 22.19, 24.6 oder neuer. · Geprüft: 29. Oktober 2026

## Symptome

- npm oder Node meldet „self-signed certificate in certificate chain“ oder „unable to get local issuer certificate“.
- Git meldet „SSL certificate problem“ bei HTTPS-Remotes.
- Safari öffnet die Website, curl oder Python aber nicht.
- Die Fehler treten nur im Firmennetzwerk oder im VPN auf.

## Mögliche Ursachen

- **TLS-Inspektion.** Der Proxy ersetzt das Zertifikat der Website durch eines, das ein Root-Zertifikat der Firma signiert.
- **Getrennte Vertrauensspeicher.** Safari nutzt den macOS-Schlüsselbund. Viele Befehlszeilentools nutzen ihre eigene Liste vertrauenswürdiger Zertifikate.
- **Eine fehlende Proxy-Einstellung.** Tools im Terminal nutzen nicht immer den System-Proxy. Sie brauchen Proxy-Variablen oder eine eigene Einstellung.

## So prüfst du es

1. Zeige die Zertifikatskette an, die der Server sendet. Sieh dir den Aussteller des obersten Zertifikats an.

   ```
   openssl s_client -connect registry.npmjs.org:443 -servername registry.npmjs.org -showcerts </dev/null
   ```
2. Zeige den TLS-Handshake mit curl an.

   ```
   curl -v https://registry.npmjs.org/ -o /dev/null
   ```
3. Suche das Root-Zertifikat der Firma in der Schlüsselbundverwaltung. Suche im Schlüsselbund „System“ nach dem Namen deiner Firma.
4. Zeige die Proxy-Variablen in deiner Shell an.

   ```
   env | grep -i proxy
   ```

## So behebst du es

1. Lass dir das Root-Zertifikat der Firma von deinem IT-Team als PEM-Datei geben. Vertraue keinem Zertifikat aus unbekannter Quelle.
2. Gib die Datei für Node.js-Tools in `NODE_EXTRA_CA_CERTS` an. Starte das Tool danach neu.

   ```
   export NODE_EXTRA_CA_CERTS=~/certs/company-root.pem
   ```
3. Ab Node.js 22.19 oder 24.6 kannst du die Zertifikate nutzen, denen der Schlüsselbund vertraut.

   ```
   export NODE_USE_SYSTEM_CA=1
   ```
4. Lege für npm die Zertifikatsdatei fest.

   ```
   npm config set cafile ~/certs/company-root.pem
   ```
5. Lege für Git die Zertifikatsdatei fest.

   ```
   git config --global http.sslCAInfo ~/certs/company-root.pem
   ```
6. Gib die Datei für curl mit `--cacert` an.

   ```
   curl --cacert ~/certs/company-root.pem https://example.com
   ```
7. Richte den Firmenproxy für Terminal-Tools ein, falls dein IT-Team einen nutzt.

   ```
   export https_proxy=http://proxy.example.com:8080
   ```
8. Schalte die Zertifikatsprüfung nicht ab, etwa mit `strict-ssl` oder `http.sslVerify`. Das macht die Verbindung unsicher.

## Mit Kilobat

1. Die Verbindungsprüfung von Kilobat meldet einen TLS-Fehler als eigene Schicht. Sie sagt dir auch, ob der System-Proxy funktioniert, wo der direkte Weg scheitert.

   ```
   kilobat why https://registry.npmjs.org/
   ```
2. Füge `--app` hinzu, um die Proxy-Variablen aus der Umgebung dieser App zu nutzen.

   ```
   kilobat why https://registry.npmjs.org/ --app process:node
   ```

## Fragen

**Warum funktioniert Safari, wenn npm scheitert?**

Safari vertraut den Zertifikaten im macOS-Schlüsselbund. npm nutzt die Zertifikate, die Node.js mitbringt – es sei denn, du fügst das Firmenzertifikat hinzu.

**Ist es sicher, strict-ssl auf false zu setzen?**

Nein. Damit entfallen alle Zertifikatsprüfungen für die Registry. Füge stattdessen das Root-Zertifikat der Firma hinzu.

## Quellen

- [Node.js: Command-line API, NODE_EXTRA_CA_CERTS und --use-system-ca](https://nodejs.org/api/cli.html)
- [npm Docs: config (cafile, proxy, https-proxy, strict-ssl)](https://docs.npmjs.com/cli/v11/using-npm/config)
- git-config(1), http.sslCAInfo und http.proxy, Manpage aus macOS 27.2 (Git 2.56)
- [Apple Support: Vertrauenseinstellungen eines Zertifikats in der Schlüsselbundverwaltung ändern](https://support.apple.com/guide/keychain-access/kyca11871)
- curl(1), Manpage aus macOS 27.2

Quellen geprüft am 29. Oktober 2026. Die Manpages sind die mit macOS installierten; öffne eine mit `man <name>` im Terminal.

## Verwandte Anleitungen

- [Homebrew- oder npm-Downloads scheitern auf dem Mac](https://kilobat.app/de/guides/homebrew-npm-download-fails.html): Homebrew lädt mit curl und Git herunter.
- [Proxy-Einstellungen blockieren App-Verbindungen auf dem Mac](https://kilobat.app/de/guides/proxy-settings-breaking-apps.html): Eine Proxy-Einstellung leitet den Datenverkehr über einen anderen Server.
- [„Diese Verbindung ist nicht privat“ und Zertifikatswarnungen auf dem Mac](https://kilobat.app/de/guides/connection-not-private-mac.html): Safari zeigt eine Zertifikatswarnung, wenn es die Identität einer Website nicht bestätigen kann.
- [SSH und Git laufen auf dem Mac in Timeouts](https://kilobat.app/de/guides/ssh-git-timeouts.html): SSH und Git brauchen eine funktionierende TCP-Verbindung zum Server.
