پرش به مطلب اصلی

مدیریت گواهی‌های SSL

هم‌روش به شما این امکان را می‌دهد که از گواهی وایلدکاردی که در اختیار دارید، برای اپ‌های مرتبط با آن استفاده کنید. در این راهنما، نحوه آماده‌سازی، بارگذاری و استفاده از گواهی‌های وایلدکارد به همراه نکات فنی و محدودیت‌های مرتبط توضیح داده شده است.

معرفی

با استفاده از قابلیت بارگذاری گواهی SSL وایلدکارد (Wildcard)، می‌توانید از یک گواهی واحد، برای ایمن‌سازی تمامی زیردامنه‌های آن در اپ‌های دارکوب استفاده کنید. این قابلیت به شما امکان می‌دهد بدون نیاز به تعریف و مدیریت جداگانه گواهی برای هر زیر‌دامنه یا هر اپ، ارتباطات HTTPS را برای دامنه‌هایی مانند *.example.com فعال کنید. به‌عنوان مثال، با دریافت گواهی برای *.example.com می‌توان زیردامنه‌هایی مانند blog.example.com ،api.example.com ،shop.example.com و سایر زیردامنه‌های سطح اول را با همان گواهی ایمن‌سازی کرد.

ایجاد گواهی

برای آپلود گواهی SSL، در نوار جانبی کنسول، منوی «شبکه» را انتخاب کرده و به تب گواهی‌های SSL بروید. از طریق دکمه «افزودن گواهی»، با استفاده از فایل یا متن، گواهی (crt) و کلید خصوصی (key) را وارد کرده و کلاسترهای مورد نظر را مشخص کنید. در صورت معتبر بودن محتوای بارگذاری‌شده، این گواهی در کلاسترهای انتخاب شده ایجاد می‌شود.

فرمت مورد قبول گواهی و کلید خصوصی

برای بارگذاری گواهی SSL، لازم است گواهی و کلید خصوصی با فرمت PEM ارائه شوند. این فرمت رایج‌ترین قالب مورد استفاده برای گواهی‌های SSL است و معمولاً محتوای آن به‌صورت متنی و با ساختار زیر نمایش داده می‌شود:

گواهی:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

کلید خصوصی:

-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

در بسیاری از موارد، گواهی به‌صورت پیش‌فرض با فرمت PEM ارائه می‌شود و مستقیماً قابل استفاده است. اما گاهی ممکن است فرمت فایل گواهی SSL بسته به نحوه صدور یا ابزاری که برای تولید آن استفاده شده است متفاوت باشد. اگر گواهی شما در قالب‌هایی مانند PFX / PKCS#12 ،P7B / PKCS#7 یا DER باشد، لازم است قبل از بارگذاری آن را به فرمت PEM تبدیل کنید.

برای انجام این تبدیل می‌توانید از ابزارهای آنلاین معتبر یا ابزار خط فرمان OpenSSL استفاده کنید.

فایل‌های PFX معمولاً شامل گواهی SSL و کلید خصوصی با همدیگر هستند. بنابراین می‌توان هر دو را از این فایل استخراج کرد.

تبدیل فایل DER به PEM

openssl x509 -inform der -in certificate.cer -out certificate.pem

تبدیل فایل P7B به PEM

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem

استخراج گواهی از فایل PFX

openssl pkcs12 -in certname.pfx -nokeys -out certificate.pem

استخراج کلید خصوصی از فایل PFX

openssl pkcs12 -in certname.pfx -nocerts -out private.key -nodes

پس از تبدیل، اطمینان حاصل کنید که فایل گواهی نهایی به‌صورت Full Chain آماده شده باشد و کلید خصوصی استخراج‌شده با همان گواهی مطابقت داشته باشد.

ساخت فایل Full Chain Certificate

برای اینکه گواهی SSL شما در مرورگرها، سیستم‌عامل‌ها و دستگاه‌های مختلف بدون خطا و هشدار امنیتی شناسایی شود، لازم است گواهی به‌صورت Full Chain بارگذاری شود. در حالت Full Chain، علاوه بر گواهی اصلی دامنه، گواهی‌های میانی (Intermediate Certificates) نیز در همان فایل قرار می‌گیرند تا زنجیره اعتبار گواهی به‌طور کامل در اختیار کلاینت قرار گیرد.

در صورتی که فایل گواهی شما هنوز در قالب PEM نیست، ابتدا آن را به این فرمت تبدیل کنید و سپس مراحل زیر را انجام دهید.

برای ایجاد فایل Full Chain معمولاً به موارد زیر نیاز دارید:

  • فایل گواهی اصلی دامنه (Primary Certificate)
  • فایل یا فایل‌های گواهی میانی (Intermediate Certificates)
  • کلید خصوصی (Private Key)

در اغلب موارد، شرکت صادرکننده SSL فایل‌های Intermediate را به‌همراه گواهی اصلی ارائه می‌کند. اگر این فایل‌ها را در اختیار ندارید، معمولاً می‌توانید آن‌ها را از وب‌سایت صادرکننده گواهی دانلود کنید.

در بسیاری از سناریوها نیازی به قرار دادن Root Certificate در فایل Full Chain نیست، مگر اینکه صادرکننده گواهی به‌صورت مشخص آن را توصیه کرده باشد.

برای ساخت فایل Full Chain، کافی است محتوای فایل‌ها را با ترتیب صحیح در یک فایل متنی واحد قرار دهید. می‌توانید از ابزارهایی مانند vim ،nano یا Notepad استفاده کنید.

ترتیب صحیح قرارگیری گواهی‌ها به شکل زیر است:

  1. گواهی اصلی دامنه
  2. گواهی یا گواهی‌های میانی
  3. گواهی ریشه (Root)

نمونه ساختار فایل:

-----BEGIN CERTIFICATE-----
...Primary Certificate Data...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...Intermediate Certificate Data...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...Additional Intermediate Certificate Data...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...ًRoot Certificate Data...
-----END CERTIFICATE-----

پس از تکمیل فایل، آن را با پسوندی مانند pem. یا crt. ذخیره و در پلتفرم بارگذاری کنید. همچنین اطمینان حاصل کنید که کلید خصوصی ارائه‌شده مربوط به همین گواهی باشد. در غیر این صورت مورد قبول قرار نخواهد گرفت.

استفاده از گواهی

گواهی ایجاد شده به دو شیوه می‌تواند مورد استفاده قرار بگیرد:

در حالت اول، به محض ایجاد گواهی، گواهی وایلدکارد برای دامنه‌های شخصی آن دسته از اپ‌های دارکوب که شرایط زیر را داشته باشند، تنظیم می‌شود:

  • حداقل یکی از دامنه‌های شخصی اپ با دامنه(های) موجود در گواهی منطبق باشد.
  • گزینه «تنظیم گواهی SSL» اپ روشن باشد. شیوه تنظیم گواهی SSL انتخاب شده اهمیتی نداشته و صرفا فعال بودن این گزینه اهمیت دارد.

اگر اپی شرایط بالا را داشته باشد، روش تنظیم گواهی SSL برای تمام دامنه‌های شخصی منطبق با وایلدکارد آن به روش Manual تغییر می‌کند و شیوه‌های تنظیم گواهی دیگر از کار خواهند افتاد.

در حالت دوم، می‌توانید از طریق منوی «آدرس دامنه» در تنظیمات اپ دارکوب، گزینه «تنظیم گواهی SSL» را فعال کرده و شیوه «Manual» را انتخاب کنید. سپس، لازم است گواهی مورد نظر را از بین گواهی‌هایی که قبلا بارگذاری کردید و با دامنه‌های شخصی این اپ مطابقت دارد، انتخاب کنید.

حذف گواهی

در صورتی که قصد حذف یک گواهی را دارید، امکان آن در صفحه گواهی‌های SSL فراهم شده است. بدیهی است که در صورت حذف یک گواهی، تمام اپ‌هایی که در حال استفاده از آن هستند تحت تاثیر قرار می‌گیرند و گواهی SSL برای آن‌ها غیرفعال می‌شود.

معایب و محدودیت‌ها

نداشتن تمدید خودکار

یکی از معایب بارگذاری دستی گواهی SSL این است که امکان تمدید خودکار آن وجود ندارد. بنابراین، لازم است که برنامه‌ریزی‌های لازم برای تمدید آن در زمان مناسب را در نظر داشته باشید تا سرویس‌های شما دچار اختلال نشود.

عدم امکان استفاده همزمان از روش‌های خودکار و دستی تنظیم گواهی

اگر چند دامنه شخصی به یک اپ دارکوب خود متصل کرده‌اید که زیردامنه‌های یک دامنه مشترک نیستند و تحت یک وایلدکارد قرار نمی‌گیرند، در حال حاضر این امکان وجود ندارد که برای برخی از آن‌ها از روش Manual و برای بقیه از روش‌های خودکار مانند HTTP یا DNS استفاده شود. بنابراین، زمانی که یک گواهی وایلدکارد برای یک اپ استفاده شود، گواهی‌های موجود که از روش‌های دیگر اخذ شده‌اند، دیگر مورد استفاده قرار نمی‌گیرند.

این صفحه مفید بود؟

با ثبت بازخوردتان در بهبود کیفیت مستندات مشارکت داشته باشید.