---
title: "أخطاء شهادة وكيل الشركة في npm وGit وcurl على Mac · أدلة Kilobat"
url: "https://kilobat.app/ar/guides/corporate-proxy-certificates"
description: "أصلح «unable to get local issuer certificate» في npm وNode وGit وcurl وHomebrew خلف وكيل شركة، دون إيقاف فحص الشهادات."
---

VPN والوكيل والفلاتر

# شهادات وكيل الشركة تعطل أدوات Terminal على Mac

تفحص بعض شبكات الشركات حركة HTTPS. يوقّع الوكيل حركة البيانات بعد ذلك بشهادة جذر الشركة، وتتوقف الأدوات التي لا تثق بها.

ينطبق على: جميع إصدارات macOS الحالية. يتطلب Node.js `NODE_USE_SYSTEM_CA` إصدار Node.js 22.19 أو 24.6 أو أحدث. · تاريخ التحقق: 29 أكتوبر 2026

## الأعراض

- يعرض npm أو Node رسالة «self-signed certificate in certificate chain» أو «unable to get local issuer certificate».
- يعرض Git رسالة «SSL certificate problem» للمستودعات البعيدة عبر HTTPS.
- يفتح Safari الموقع، لكن curl أو Python لا يفتحه.
- تحدث الأخطاء فقط على شبكة الشركة أو VPN.

## الأسباب المحتملة

- **فحص TLS.** يستبدل الوكيل شهادة الموقع بشهادة توقّعها شهادة جذر الشركة.
- **مخازن ثقة منفصلة.** يستخدم Safari سلسلة مفاتيح macOS. تستخدم أدوات سطر الأوامر الكثيرة قائمة شهادات موثوقة خاصة بها.
- **إعداد وكيل مفقود.** لا تستخدم الأدوات في Terminal وكيل النظام دائمًا. فهي تحتاج إلى متغيرات الوكيل أو إعداد خاص بها.

## كيفية التحقق

1. اعرض سلسلة الشهادات التي يرسلها الخادم. انظر إلى جهة إصدار الشهادة العليا.

   ```
   openssl s_client -connect registry.npmjs.org:443 -servername registry.npmjs.org -showcerts </dev/null
   ```
2. اعرض مصافحة TLS باستخدام curl.

   ```
   curl -v https://registry.npmjs.org/ -o /dev/null
   ```
3. اعثر على شهادة جذر الشركة في الوصول إلى سلسلة المفاتيح. ابحث عن اسم شركتك في سلسلة مفاتيح النظام.
4. اعرض متغيرات الوكيل في الصدفة.

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

## كيفية الإصلاح

1. احصل على شهادة جذر الشركة من فريق تقنية المعلومات كملف PEM. لا تثق بشهادة من مصدر مجهول.
2. لأدوات المبنية على Node.js، أعطِ الملف في `NODE_EXTRA_CA_CERTS`. أعد تشغيل الأداة بعد ضبطه.

   ```
   export NODE_EXTRA_CA_CERTS=~/certs/company-root.pem
   ```
3. باستخدام Node.js 22.19 أو 24.6 أو أحدث، يمكنك استخدام الشهادات التي تثق بها سلسلة المفاتيح.

   ```
   export NODE_USE_SYSTEM_CA=1
   ```
4. في npm، اضبط ملف الشهادة.

   ```
   npm config set cafile ~/certs/company-root.pem
   ```
5. في Git، اضبط ملف الشهادة.

   ```
   git config --global http.sslCAInfo ~/certs/company-root.pem
   ```
6. في curl، أعطِ الملف باستخدام `--cacert`.

   ```
   curl --cacert ~/certs/company-root.pem https://example.com
   ```
7. اضبط وكيل الشركة لأدوات Terminal إذا كان فريق تقنية المعلومات يستخدم واحدًا.

   ```
   export https_proxy=http://proxy.example.com:8080
   ```
8. لا توقف فحص الشهادات، مثل `strict-ssl` أو `http.sslVerify`. فهذا يجعل الاتصال غير آمن.

## باستخدام Kilobat

1. يبلغ فحص اتصال Kilobat عن فشل TLS كطبقة مستقلة. ويبيّن أيضًا ما إذا كان وكيل النظام يعمل عندما لا يعمل المسار المباشر.

   ```
   kilobat why https://registry.npmjs.org/
   ```
2. أضف `--app` لاستخدام متغيرات الوكيل من بيئة ذلك التطبيق.

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

## الأسئلة

**لماذا يعمل Safari بينما يفشل npm؟**

يثق Safari بالشهادات الموجودة في سلسلة مفاتيح macOS. يستخدم npm الشهادات التي يتضمنها Node.js، ما لم تضف شهادة الشركة.

**هل من الآمن ضبط strict-ssl على false؟**

لا. يوقف ذلك جميع عمليات فحص شهادات السجل. أضف شهادة جذر الشركة بدلًا من ذلك.

## المصادر

- [Node.js: واجهة سطر الأوامر، NODE_EXTRA_CA_CERTS و--use-system-ca](https://nodejs.org/api/cli.html)
- [توثيق npm: config (cafile وproxy وhttps-proxy وstrict-ssl)](https://docs.npmjs.com/cli/v11/using-npm/config)
- صفحة دليل git-config(1)، http.sslCAInfo وhttp.proxy، المثبتة مع macOS 27.2 (Git 2.56)
- [دعم Apple: تغيير إعدادات الثقة لشهادة في الوصول إلى سلسلة المفاتيح](https://support.apple.com/guide/keychain-access/kyca11871)
- صفحة دليل curl(1) المثبتة مع macOS 27.2

تم التحقق في 29 أكتوبر 2026.

## أدلة ذات صلة

- [فشل تنزيلات Homebrew أو npm على Mac](https://kilobat.app/ar/guides/homebrew-npm-download-fails): ينزّل Homebrew باستخدام curl وGit.
- [إعدادات الوكيل تمنع التطبيقات من الاتصال على Mac](https://kilobat.app/ar/guides/proxy-settings-breaking-apps): يرسل إعداد الوكيل حركة البيانات عبر خادم آخر.
- [«هذا الاتصال ليس خاصًا» وتحذيرات الشهادات على Mac](https://kilobat.app/ar/guides/connection-not-private-mac): يعرض Safari تحذير شهادة عندما يتعذر عليه تأكيد هوية موقع الويب.
- [انتهاء مهلة SSH وGit على Mac](https://kilobat.app/ar/guides/ssh-git-timeouts): يحتاج SSH وGit إلى اتصال TCP يعمل بالخادم.
