> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-revert-104359-revert-104251-parquet-single.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# حل خطأ التحقق من شهادة SSL في ClickHouse

> تعرّف على كيفية حل خطأ SSL ‏CERTIFICATE_VERIFY_FAILED.

<div id="resolving-ssl-certificate-verify-error-in-clickhouse">
  ## حل خطأ التحقق من شهادة SSL ذي الرمز 210 في ClickHouse
</div>

يُبلَّغ عن هذا الخطأ عادةً على النحو التالي:

`Code: 210. DB::NetException: SSL Exception: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED`

<div id="cause-of-the-error">
  ## سبب الخطأ
</div>

يحدث هذا الخطأ أثناء محاولة الاتصال بخادم ClickHouse باستخدام `clickhouse-client`. ويكون سبب الخطأ أحد الأمرين التاليين:

* أن ملف التهيئة `config.xml` يفتقد إلى شهادة الجذر في مخزن شهادات CA الافتراضي على الجهاز، أو
* وجود شهادة CA موقعة ذاتيًا أو شهادة صادرة عن CA داخلية غير مُهيأة

<div id="solution">
  ## الحل
</div>

إذا كنت تستخدم CA داخلية أو موقعة ذاتيًا، فقم بتهيئة شهادة الجذر الخاصة بـ CA في `config.xml` داخل دليل العميل (على سبيل المثال `/etc/clickhouse-client`)، وعطّل تحميل شهادات جذر CA الافتراضية من موقعها الافتراضي.

فيما يلي مثال على التهيئة:

```xml theme={null}
<openSSL>
    <client>
        <loadDefaultCAFile>false</loadDefaultCAFile>
        <caConfig>/etc/clickhouse-server/certs/marsnet_ca.crt</caConfig>
        <cacheSessions>true</cacheSessions>
        <disableProtocols>sslv2,sslv3</disableProtocols>
        <preferServerCiphers>true</preferServerCiphers>
        <invalidCertificateHandler>
            <name>RejectCertificateHandler</name>
        </invalidCertificateHandler>
    </client>
</openSSL>
```

<div id="python-clients-on-macos">
  ## عملاء بايثون على macOS
</div>

يُظهر عملاء بايثون هذا الخطأ بصيغة مختلفة، وعادةً ما تكون كالتالي:

`ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate`

على macOS، يتحقق إصدار بايثون من python.org من الشهادات عبر المسارات الافتراضية لـ OpenSSL بدلًا من سلسلة مفاتيح النظام. في التثبيت الجديد، لا تشير هذه المسارات إلى أي حزمة شهادات الجذر: يرفق المثبّت [certifi](https://pypi.org/project/certifi/)، لكنه لا يربطه بالموقع الافتراضي لـ OpenSSL إلا بعد تشغيل البرنامج النصي المرفق `Install Certificates.command`. وحتى ذلك الحين، لا يتمكن العميل من التحقق من صحة شهادة الخادم الخاصة بـ ClickHouse Cloud، رغم أن هذه الشهادة صالحة. وينطبق ذلك عمومًا على إصدارات python.org المخصّصة لـ macOS (بايثون 3.6 والإصدارات الأحدث)، وليس على بايثون 3.11 فقط.

شغّل `Install Certificates.command` لربط certifi بمسار الشهادات الافتراضي في OpenSSL. وعدّل رقم الإصدار في المسار ليتوافق مع التثبيت لديك:

```bash theme={null}
open "/Applications/Python 3.11/Install Certificates.command"
```

بدلاً من ذلك، وجّه العميل إلى حزمة certifi مباشرةً. لا يلجأ [ClickHouse Connect](/ar/integrations/language-clients/python/index) إلى certifi تلقائيًا، لذا مرّر الحزمة عبر المعامل `ca_cert`:

```python theme={null}
import certifi
import clickhouse_connect

client = clickhouse_connect.get_client(
    host='HOSTNAME.clickhouse.cloud',
    port=8443,
    username='default',
    password='YOUR_SECRET_PASSWORD',
    ca_cert=certifi.where(),
)
```

<div id="additional-resources">
  ## موارد إضافية
</div>

راجع [وثائق تهيئة `clickhouse-client`](/ar/concepts/features/interfaces/client#configuration_files).
