پرش به محتوای اصلی
امنیت

ساخت CSR برای SSL

برای صدور گواهی SSL باید یک Certificate Signing Request (CSR) به‌همراه یک زوج کلید (عمومی/خصوصی) تولید کنید که اطلاعات هویت سایت شما را به صادرکننده گواهی منتقل می‌کند. این ابزار CSR و کلید خصوصی را با کتابخانه node-forge کاملا در مرورگر شما می‌سازد و هیچ کلیدی به سرور ارسال یا در آن ذخیره نمی‌شود.

RSA 2048/4096کلید خصوصی امندر مرورگر

دامنه اصلی گواهی، مثل example.com

دامنه‌های اضافی، با کاما جدا. CN به‌طور خودکار افزوده می‌شود.

پرسش‌های متداول

پرسش‌های متداول

پاسخ پرسش‌های پرتکرار درباره این سرویس را این‌جا بخوانید

CSR (Certificate Signing Request) یک فایل متنی است که اطلاعات هویت سایت شما (دامنه، سازمان، کشور) به‌همراه کلید عمومی یک زوج کلید را در قالب PKCS#10 نگه می‌دارد. CA (صادرکننده گواهی) این CSR را دریافت می‌کند، اطلاعات را تایید می‌کند و روی کلید عمومی شما امضای دیجیتال می‌گذارد. نتیجه همان گواهی SSL شماست. بدون CSR، CA راهی برای دانستن کلید عمومی شما ندارد.

هیچ‌کجا جز مرورگر شما. همه عملیات رمزنگاری (تولید زوج کلید، ساخت CSR، امضا) کاملا در مرورگر شما با استفاده از کتابخانه node-forge انجام می‌شود و هیچ داده‌ای به سرور پویاسازان ارسال نمی‌شود. یعنی مسئولیت نگه‌داری امن کلید خصوصی کاملا بر عهده شماست. بعد از بستن این صفحه، کلید از حافظه مرورگر پاک می‌شود و دیگر قابل بازیابی نیست.

RSA 2048 استاندارد صنعت است و تا سال ۲۰۳۰ طبق NIST کاملا امن است. ساخت کلید و عملیات رمزنگاری روی سرور سریع‌تر است و بیشتر وقت‌ها انتخاب درست است. RSA 4096 حاشیه امنیتی بیشتری دارد، ولی تولید کلید چند برابر کندتر است و هر handshake TLS هم به‌طور محسوسی کندتر می‌شود. برای سایت عمومی RSA 2048 معمولا بهتر است.

CN (دامنه اصلی) و C (کشور) الزامی‌اند. CAهای رایگان مثل Let's Encrypt و ZeroSSL تقریبا همه فیلدهای دیگر (O، OU، ST، L، email) را نادیده می‌گیرند و فقط CN + SANs را می‌پذیرند. در گواهی‌های OV و EV از CAهای تجاری (DigiCert، Sectigo) اطلاعات سازمان باید دقیق باشد، چون CA آن را اعتبارسنجی می‌کند. اگر مطمئن نیستید، اطلاعات را دقیق پر کنید. این کار ضرری ندارد.

فایل .csr را در پنل CA (یا سرویس هاست) آپلود کنید. خروجی آن فایل گواهی (.crt یا .pem) است. هم فایل گواهی و هم کلید خصوصی (.key) را روی سرور نصب کنید. در nginx معمولا در دایرکتیوهای ssl_certificate و ssl_certificate_key مشخص می‌شوند، در Apache در SSLCertificateFile و SSLCertificateKeyFile. بعد از نصب گواهی دیگر به CSR نیازی نیست، ولی کلید خصوصی را هرگز پاک نکنید.

پرسش دیگری دارید؟

تماس با پشتیبانی