گواهینامه های SSL خود امضا شده در Chrome 58

از زمان Let's Encrypt ، وب‌سایت‌های رمزگذاری‌شده به رویه استاندارد تبدیل شده‌اند. گواهینامه‌های SSL نیز عملاً در توسعه محلی ضروری هستند (برای مثال، navigator.geolocation نیاز به رمزگذاری SSL به صورت محلی دارد). از نسخه ۵۸ کروم، پشتیبانی از CN (Common Name) حذف شده و SAN (Subject Alternative Name) اکنون اجباری است. در نتیجه، کروم دیگر هیچ گواهینامه SSL ایجاد شده با استفاده از روش‌های سنتی را نمی‌پذیرد.


گواهینامه های SSL خود امضا شده در Chrome 58

اگرچه می‌توانید از ابزارهای آنلاین مانند ZeroSSL برای ایجاد گواهینامه‌ها استفاده کنید، یا با استفاده از پارامترهای راه‌اندازی مانند `--ignore-certificate-errors` یا پرچم `chrome://flags/#allow-insecure-localhost`، کروم را طوری پیکربندی کنید که بدون گواهینامه‌های معتبر کار کند، اما ما می‌خواهیم با استفاده از OpenSSL گواهینامه‌های خودامضا شده محلی ایجاد کنیم که شامل SAN باشند و کاملاً توسط کروم پذیرفته شوند. این کد تک‌خطی همه کارهای لازم را انجام می‌دهد (فقط `www.tld.local` باید با دامنه مورد نظر جایگزین شود).:

61b7be9883ad31712c52a59252a4c9c4

از آنجا که OpenSSL متأسفانه هیچ استدلال مستقیمی برای تعیین SAN ندارد ، ابتدا یک فایل پیکربندی ایجاد می شود ، OpenSSL با آن فراخوانی می شود و سپس پرونده حذف می شود. کاربران ویندوز می توانند به راحتی این دستور را با کمک Cygwin (و bash -c "...") یا با WSL جدید اجرا کنند. سپس دو فایل www.tld.local.key و www.tld.local.cert می توانند در MAMP انتخاب شوند ، به عنوان مثال:

گواهینامه های SSL خود امضا شده در Chrome 58

سپس کاربران ویندوز تحت "مدیریت مجوزهای کاربر" (certmgr) در "مراجع صدور گواهینامه ریشه معتمد" بارگیری می شوند:

گواهینامه های SSL خود امضا شده در Chrome 58

در آخر ، Chrome را دوباره راه اندازی کنید (chrome: // restart) و از قفل سبز لذت ببرید:

گواهینامه های SSL خود امضا شده در Chrome 58

بازگشت