مبدل گواهی CRT به گواهی PEM
تبدیل یک گواهی امنیتی باینری CRT به فرمت متنی PEM با کدگذاری Base64، آن را با وبسایتهای آپاچی، Nginx و سرورهای مدرن لینوکس سازگار میکند.
مقایسه فرمتها و مشخصات فنی
| مشخصات | CRT | PEM |
|---|---|---|
| نوع MIME | application/x-x509-ca-cert | application/x-pem-file |
| نوع | X.509 public certificate | Base64 ASCII certificate container |
| فشردهسازی | none | none (Base64 armored) |
| مشخصات استاندارد | ITU-T X.509 / RFC 5280 | IETF RFC 7468 |
| هدر بایتهای جادویی | 30 82 (DER SEQUENCE) or -----BEGIN CERTIFICATE----- (PEM text) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
نمای کلی فرمت و کاربردها
گواهیهای امنیتی، دادههای ارسالی بین مرورگرهای وب و سرورها را ایمن میکنند. یک فایل CRT اغلب از یک فرمت باینری به نام DER استفاده میکند یا میتواند یک فایل متنی ساده باشد. بسیاری از سرورهای وب لینوکس، لود بالانسرها و کلاینتهای ایمیل به گواهیهای امنیتی نیاز دارند تا به جای آن از فرمت PEM استفاده کنند. فایلهای PEM از کاراکترهای متنی استاندارد استفاده میکنند و دادههای امنیتی را در برچسبهای مرزی خاصی قرار میدهند. مدیران سیستم اغلب هنگام انتقال گواهیهای امنیتی از محیطهای ویندوز به سیستمهای لینوکس با این نیاز فرمت مواجه میشوند. سرورهای وب آپاچی و Nginx انتظار دارند که کلید عمومی و کلید خصوصی در فایلهای متنی PEM قرار داشته باشند. تبدیل گواهی CRT تضمین میکند که نرمافزار سرور میتواند دادههای رمزنگاری شده را در طول دستدهی SSL به درستی بخواند.
مشخصات فنی و تحلیل کدک
یک فایل CRT از نوع MIME application/x-x509-ca-cert استفاده میکند. اگر در فرمت DER ذخیره شده باشد، حاوی دادههای باینری خام است یا اگر از مراکز صادرکننده گواهی خاصی صادر شده باشد، متنی است. فرمت PEM از نوع MIME application/x-pem-file استفاده میکند. عبارت PEM مخفف Privacy Enhanced Mail است و به عنوان یک فرمت کانتینر برای ذخیره کلیدهای رمزنگاری عمل میکند. هیچکدام از فرمتها از فشردهسازی استفاده نمیکنند، بنابراین تبدیل باعث کاهش کیفیت فایل نمیشود. یک فایل باینری CRT هیچ متن قابل خواندنی ندارد، در حالی که یک فایل PEM دارای هدرهای خوانایی مانند -----BEGIN CERTIFICATE----- به دنبال کاراکترهای ASCII با Base64 و یک تگ پایان -----END CERTIFICATE----- است. تبدیل به سادگی بایتهای خام را به متن قابل خواندن ASCII بدون تغییر ریاضیات کلید عمومی زیرین ترجمه میکند.
سازگاری با سیستمعامل و مرورگر
فرمتهای PEM و CRT به طور کامل در تمام سیستمعاملهای اصلی از جمله ویندوز، مکاواس و توزیعهای لینوکس مانند اوبونتو و سنتاوس پشتیبانی میشوند. مرورگرهای وب مانند کروم، فایرفاکس، سافاری و اج هر دو فرمت را به صورت بومی در طول اتصال امن HTTPS پردازش میکنند. برنامههای سروری مانند OpenSSL، آپاچی، Nginx و جاوا کیتول متن PEM را به صورت بومی میپذیرند، در حالی که ابزارهای ویندوز سرور اغلب کانتینرهای CRT یا PFX را ترجیح میدهند.
💡 اطلاعات مفید
همیشه قبل از راهاندازی مجدد سرور وب تولیدی خود، مطابقت کلید خصوصی خود را با گواهی PEM تازه تبدیل شده با استفاده از دستورات OpenSSL تأیید کنید.
مقایسه فرمتها و مشخصات فنی
فایلهای گواهی بسیار کوچک هستند و معمولاً بین ۱ کیلوبایت تا ۴ کیلوبایت اندازه دارند. انتقال یک فایل گواهی PEM تبدیل شده کمتر از یک میلیثانیه در شبکههای 4G، 5G و فیبر نوری طول میکشد.
پرسشهای متداول
چگونه گواهی CRT را بدون از دست دادن کیفیت به گواهی PEM تبدیل کنیم؟
تبدیل کاملاً بدون افت کیفیت است. گواهیهای امنیتی به کلیدهای ریاضی دقیق متکی هستند، بنابراین تغییر کانتینر فایل از CRT باینری به ASCII PEM فقط نحوه نمایش بایتها را تغییر میدهد و دادههای رمزنگاری را دستنخورده باقی میگذارد.
تفاوت بین گواهی CRT و گواهی PEM چیست؟
یک گواهی CRT اغلب از کدگذاری باینری استفاده میکند که در ویرایشگرهای متن غیرقابل خواندن به نظر میرسد. یک گواهی PEM همان دادههای امنیتی را در متن Base64 ASCII پیچیده و برچسبهای مرزی روشنی را برای خواندن آسان توسط سرورهای وب اضافه میکند.