إنشاء الشهادات وتصديرها - Linux - OpenSSL

يمكن تكوين اتصالات نقطة إلى موقع (P2S) لبوابة VPN لاستخدام مصادقة الشهادة. يتم تحميل المفتاح العام للشهادة الجذر إلى Azure ويجب أن يكون لدى كل عميل VPN ملفات الشهادة المناسبة مثبتة محليا للاتصال. تساعدك هذه المقالة على إنشاء شهادة جذر موقعة ذاتيا وإنشاء شهادات العميل باستخدام OpenSSL. لمزيد من المعلومات، راجع تكوين من نقطة إلى موقع - مصادقة الشهادة.

المتطلبات الأساسية

لاستخدام هذه المقالة، يجب أن يكون لديك كمبيوتر يقوم بتشغيل OpenSSL.

شهادة جذر موقعة ذاتيا

يساعدك هذا القسم على إنشاء شهادة جذر موقعة ذاتيا. بعد إنشاء الشهادة، يمكنك تصدير ملف بيانات المفتاح العام للشهادة الجذر.

  1. يساعدك المثال التالي على إنشاء شهادة الجذر الموقعة ذاتيا.

    openssl genrsa -out caKey.pem 2048
    openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
    
  2. طباعة البيانات العامة لشهادة الجذر الموقعة ذاتيا بتنسيق base64. هذا هو التنسيق الذي يدعمه Azure. قم بتحميل هذه الشهادة إلى Azure كجزء من خطوات تكوين P2S.

    openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
    

شهادات العميل

في هذا القسم، تقوم بإنشاء شهادة المستخدم (شهادة العميل). يتم إنشاء ملفات الشهادات في الدليل المحلي الذي تقوم فيه بتشغيل الأوامر. يمكنك استخدام نفس شهادة العميل على كل كمبيوتر عميل، أو إنشاء شهادات خاصة بكل عميل. من المهم أن يتم توقيع شهادة العميل بواسطة شهادة الجذر.

  1. لإنشاء شهادة عميل، استخدم الأمثلة التالية.

    export PASSWORD="password"
    export USERNAME=$(hostnamectl --static)
    
    # Generate a private key
    openssl genrsa -out "${USERNAME}Key.pem" 2048
    
    # Generate a CSR (Certificate Sign Request)
    openssl req -new -key "${USERNAME}Key.pem" -out "${USERNAME}Req.pem" -subj "/CN=${USERNAME}"
    
    # Sign the CSR using the CA certificate and CA key
    openssl x509 -req -days 365 -in "${USERNAME}Req.pem" -CA caCert.pem -CAkey caKey.pem -CAcreateserial -out "${USERNAME}Cert.pem" -extfile <(echo -e "subjectAltName=DNS:${USERNAME}\nextendedKeyUsage=clientAuth")
    
  2. للتحقق من شهادة العميل، استخدم المثال التالي.

    openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
    

الخطوات التالية

لمتابعة خطوات التكوين، راجع مصادقة شهادة من نقطة إلى موقع.