گواهی PEM (.pem)
IETF استانداردپست پیشرفته از نظر حریم خصوصی (PEM) استاندارد متنی جهانی و قابل خواندن توسط انسان برای داراییهای رمزنگاری است که گواهیها و کلیدهای خصوصی باینری DER را به عنوان متن Base64 پیچیده شده در بنرهای متمایز '-----BEGIN...-----' رمزگذاری میکند.
تبدیل CRT به PEM
مبدل رایگان CRT به PEM درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای PEM را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای PEM را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
2D 2D 2D 2D 2D 42 45 47 49 4Eنمایش ASCII: -----BEGIN
استانداردسازی: IETF RFC 7468 / RFC 1421
مشخصات فنی
| معماری کانتینر | Base64 ASCII armored container bounded by '-----BEGIN [LABEL]-----' and '-----END [LABEL]-----' encapsulating DER binary structures |
| فشردهسازی | Uncompressed text format |
| ترتیب بایتها (Endianness) | ASCII / UTF-8 text stream |
| فضاهای رنگی | N/A (Cryptographic Container) |
| کانالها و ساختار | Certificates, Private Keys (RSA/EC/DSA), CSRs, Public Keys, and Certificate Revocation Lists |
| حداکثر ابعاد | Unbounded text stream (supports multiple chained certificates) |
| شفافیت مشخصات | Cleartext ASCII armored envelope |
| استریمینگ و پیشرونده | Sequential banner-by-banner streaming extraction |
ماتریس مقایسه فنی: PEM در برابر رقبا
| ویژگی فنی | PEM (فعلی) | DER | P12 | CRT |
|---|---|---|---|---|
| متن در مقابل باینری | متن Base64 قابل خواندن توسط انسان | فقط بایتهای باینری خام | آرشیو باینری رمزگذاری شده | معمولاً متن Base64 |
| استفاده در ابر و دوآپس | استاندارد ۱۰۰٪ جهانی (AWS، K8s) | توکنهای سختافزاری / جاوا | وارد کردن سرور IIS ویندوز | پیکربندیهای سرور وب |
| محتویات مجاز | گواهیها، کلیدهای خصوصی، زنجیرهها، CSRها | تک گواهی یا کلید | گواهی دستهای + کلید رمزگذاری شده | معمولاً فقط گواهیهای عمومی |
| قابل کپی-پست | بله (مستقیماً در تکستآریاها پیست کنید) | خیر (باینری) | خیر (باینری) | بله (در صورت رمزگذاری PEM) |
حالتهای رایج خرابی و راهنمای بازیابی هگز
خطای OpenSSL: 'PEM_read_bio: no start line'.
علت ریشهای: بنر هدر گم شده یا خراب '-----BEGIN ...-----'، یا خرابی نویسه خط جدید CRLF ویندوز.
بازیابی: با استفاده از ابزار گواهی File2File، بنر هدر ۵ خط تیره استاندارد را بازیابی کنید.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
فایلهای PEM اغلب حاوی کلیدهای خصوصی رمزگذاری نشده ('-----BEGIN RSA PRIVATE KEY-----') هستند که در صورت افشا، دسترسی کامل به سرور را اعطا میکنند.
بردارهای حمله شناختهشده
- commit کردن کلیدهای خصوصی PEM رمزگذاری نشده به مخازن کنترل نسخه عمومی.
- حملات پیمایش دایرکتوری که کلیدهای PEM سرور را از طریق گنجاندن فایل محلی (LFI) میخوانند.
- عبارات عبور ضعیف روی فایلهای PEM کلید خصوصی رمزگذاری شده.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- قابل خواندن توسط انسان و قابلیت کپی-پست: میتوان آن را در فرمهای وب، ورودیهای کنسول ابری (AWS، GCP) و ایمیل کپی کرد.
- استاندارد جهانی در OpenSSL، لینوکس، داکر، رازهای کوبرنتیز و زیرساخت ابری.
- پشتیبانی از چند گواهی: امکان ذخیره کامل زنجیرههای اعتماد گواهی را در یک فایل متنی واحد با روی هم چیدن بلوکها فراهم میکند.
محدودیتها و معایب فنی
- به دلیل سربار رمزگذاری Base64، تقریباً ۳۳٪ بزرگتر از DER باینری خام است.
- خرابی تصادفی: تغییرات خط یا خط تیره گم شده در بنرها میتواند باعث خرابی تجزیه (parsing) شود.
- فایلهای PEM کلید خصوصی رمزگذاری نشده در صورت افشا، خطرات امنیتی شدیدی ایجاد میکنند.
نکات فنی جالب
- اگرچه برای یک سیستم ایمیل رمزگذاری شده ایجاد شد که نتوانست محبوبیت کسب کند، اما زرهپوش ASCII آن به محبوبترین فرمت امنیتی روی زمین تبدیل شد.
- هر فایل PEM معتبر با پنج خط تیره شروع میشود: '-----BEGIN'.
- یک زنجیره کامل گواهی SSL به سادگی با چسباندن چندین بلوک 'BEGIN CERTIFICATE' پشت سر هم در یک فایل .pem واحد ایجاد میشود.
سوالات فنی متداول
فایل .pem چیست؟
فایل .pem یک فرمت مبتنی بر متن برای ذخیرهسازی گواهیهای امنیتی، کلیدهای خصوصی، یا کل زنجیرههای گواهی در فرمت خوانای Base64 با بنرهای '-----BEGIN...-----' است.
چگونه PEM را به P12 یا PFX تبدیل کنم؟
شما میتوانید با استفاده از File2File.app مستقیماً در مرورگر وب خود، گواهی PEM و کلید خصوصی خود را با یک کلیک به یک فایل P12/PFX محافظتشده با رمز عبور تبدیل کنید.
چگونه میتوانم تاریخ انقضای یک گواهی PEM را بررسی کنم؟
فایل .pem خود را در File2File.app باز کنید تا تاریخ انقضا، صادرکننده و نامهای دامنه را بدون ارسال هیچگونه دادهای به سرورهای خارجی رمزگشایی کنید.
جفتهای تبدیل مرتبط با PEM
تبدیل یک گواهی امنیتی باینری CRT به فرمت متنی PEM با کدگذاری Base64، آن را با وبسایتهای آپاچی، Nginx و سرورهای مدرن لینوکس سازگار میکند.
تبدیل یک گواهی متنی PEM به یک گواهی باینری CRT به سرورهای آپاچی و سیستمهای ویندوز اجازه میدهد تا اعتبارنامههای امنیتی وب شما را به درستی بخوانند.
تبدیل یک بسته PKCS #12 به گواهی PEM، کلیدهای عمومی و خصوصی شما را از یک آرشیو باینری قفل شده به فایلهای متنی پاک برای سرورهای وب استخراج میکند.
تبدیل گواهی PEM به یک بسته PKCS #12، گواهی عمومی و کلید خصوصی شما را در یک فایل محافظتشده با رمز عبور ادغام میکند تا نصب آن روی سرورهای ویندوز و مرورگرهای وب آسانتر شود.
تبدیل یک گواهی باینری DER به گواهی PEM، کدگذاری آن را از بایتهای باینری خام به متن Base64 ASCII تغییر میدهد تا توسط سرورهای وب و ویرایشگرهای متن بهراحتی خوانده شود.
تبدیل یک گواهی امنیتی باینری CER به یک فایل متنی PEM کدگذاری شده با Base64 به مدیران اجازه میدهد تا بهراحتی کلیدهای امنیتی را بخوانند و در سرورهای وب و پیکربندیهای برنامه جایگذاری کنند.