إنشاء وتصدير الشهادات - Linux (strongSwan)

توضح لك هذه المقالة كيفية إنشاء شهادة جذر موقعة ذاتيًا وإنشاء شهادات العميل باستخدام strongSwan. تساعدك الخطوات الواردة في هذا التمرين على إنشاء ملفات الشهادة .pem . إذا كنت بحاجة إلى ملفات .pfx وملفات .cer بدلا من ذلك، فشاهد إرشادات Windows- PowerShell .

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

تثبيت strongSwan

الخطوات التالية تساعدك على تثبيت strongSwan.

تم استخدام التكوين التالي عند تحديد الأوامر:

  • الكمبيوتر: Ubuntu Server 18.04
  • التبعيات: strongSwan

استخدم الأوامر التالية لتثبيت تكوين strongSwan المطلوب:

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

تعليمات Linux CLI (strongSwan)

الخطوات التالية تساعدك على إنشاء الشهادات وتصديرها باستخدام Linux CLI (strongSwan). لمزيد من المعلومات، راجع إرشادات إضافية لتثبيت Azure CLI.

إنشاء شهادة المرجع المصدق.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

طباعة شهادة المرجع المصدق بتنسيق base64. هذا هو التنسيق الذي يدعمه Azure. يمكنك تحميل هذه الشهادة إلى Azure كجزء من خطوات تكوين P2S.

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

إنشاء شهادة المستخدم.

export PASSWORD="password"
export USERNAME=$(hostnamectl --static)

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

يمكنك إنشاء مجموعة p12 تحتوي على شهادة المستخدم. وسيتم استخدام هذه المجموعة في الخطوات التالية عند العمل باستخدام ملفات تكوين العميل.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

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

تابع التكوين من نقطة إلى موقع. راجع تكوين عملاء P2S VPN: مصادقة الشهادة - Linux.