Gói PKCS #12 (.p12)
IETF Tiêu chuẩnPKCS #12 (P12, còn được gọi là PFX) là định dạng lưu trữ được mã hóa, bảo vệ bằng mật khẩu, được thiết kế để lưu trữ và truyền tải khóa riêng tư một cách an toàn cùng với các chứng chỉ công khai X.509 tương ứng và chuỗi chứng thực CA.
Chuyển đổi P12 sang PEM
Trình chuyển đổi từ P12 sang PEM miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.
Kiểm tra & Siêu dữ liệu
Các hệ điều hành và trình phân tích tệp nhận dạng tệp P12 bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
Chữ ký tiêu đề ở cấp độ Byte (Magic Bytes)
Các hệ điều hành và trình phân tích tệp nhận dạng tệp P12 bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
CHỮ KÝ HEX (OFFSET 0):
30 82BIỂU DIỄN ASCII: 0\x82
Tiêu chuẩn hóa: IETF RFC 7292 / PKCS #12 v1.1
Thông số kỹ thuật
| Kiến trúc Container | Password-encrypted ASN.1 PFX structure encapsulating SafeBags holding private keys, certificates, and CRLs |
| Nén | Uncompressed cryptographic data |
| Thứ tự byte Endianness | Big-Endian ASN.1 DER |
| Không gian màu | N/A (Encrypted Key Store) |
| Kênh & Cấu trúc | Private keys, Public certificates, Intermediate CA chains, and Root CA certificates |
| Kích thước tối đa | Typically 5 KB to 25 KB |
| Độ trong suốt | Encrypted container (password-protected) |
| Truyền phát & Tăng dần | Atomic encrypted archive extraction |
Ma trận so sánh kỹ thuật: P12 so với các đối thủ
| Thuộc tính kỹ thuật | P12 (Hiện tại) | PEM | CRT | DER |
|---|---|---|---|---|
| Khả năng gói | Khóa riêng tư + Chuỗi chứng chỉ tất cả trong một | Có thể kết hợp trong văn bản, khóa chưa mã hóa | Chỉ chứng chỉ | Khóa nhị phân hoặc chứng chỉ đơn |
| Mã hóa | Mã hóa bằng mật khẩu (AES-256) | Cụm mật khẩu tùy chọn trên khóa riêng tư | Chứng chỉ công khai chưa mã hóa | Nhị phân chưa mã hóa |
| Apple iOS & macOS | Tiêu chuẩn xuất định danh gốc | Sử dụng qua dòng lệnh | Được nhập dưới dạng chứng chỉ | Được nhập dưới dạng khóa thô |
| Có thể thay thế cho | .pfx (định dạng giống hệt) | .crt, .key | .cer | .asn1 |
Các chế độ hỏng hóc phổ biến & Hướng dẫn khôi phục Hex
Lỗi trích xuất: 'Mac verify error: invalid password' mặc dù đã gõ đúng mật khẩu.
Nguyên nhân gốc rễ: Cài đặt mặc định của OpenSSL 3.0 từ chối các thuật toán mã hóa 3DES/RC2 cũ bên trong các tệp P12 cũ hơn.
Khắc phục: Mã hóa lại bằng AES-256 hiện đại sử dụng Công cụ Chứng chỉ File2File.
Phân tích bảo mật & Các vectơ tấn công bộ phân tích cú pháp
Các vùng chứa P12 lưu giữ các khóa riêng tư quan trọng; các mật mã mã hóa cũ phải được cập nhật theo tiêu chuẩn AES hiện đại.
Các Véc-tơ Tấn công Đã biết
- Tấn công vét cạn mật khẩu đối với các kho lưu trữ P12 được mã hóa yếu với số vòng lặp thấp.
- Khai thác các mật mã yếu RC2-40-CBC cũ trong các tệp P12 cổ điển.
- Rò rỉ bộ nhớ của các khóa riêng tư đã giải nén trong các bộ đệm bộ nhớ không được bảo vệ.
Thực tiễn Tốt nhất về Phòng thủ:
Nguồn gốc lịch sử & Các cột mốc
Ưu điểm & Lợi ích chính
- Đóng gói tất cả trong một: gom khóa riêng tư, chứng chỉ công khai và toàn bộ chuỗi CA trung gian vào một tệp an toàn duy nhất.
- Mã hóa bảo vệ bằng mật khẩu: khóa riêng tư được mã hóa bằng AES-256 hoặc 3DES, giúp truyền tải an toàn.
- Định dạng chứng chỉ khách hàng tiêu chuẩn để xác thực trình duyệt web và cấu hình ký mã nhà phát triển Apple iOS.
Hạn chế & Nhược điểm kỹ thuật
- Yêu cầu mật khẩu để giải nén: quên mật khẩu sẽ khiến khóa riêng tư không thể khôi phục vĩnh viễn.
- Các tệp P12 cũ sử dụng thuật toán mã hóa 3DES hoặc RC2 yếu, gây ra cảnh báo trên OpenSSL 3.0 hiện đại.
- Định dạng nhị phân không thể kiểm tra bằng trực quan mà không có các công cụ trích xuất mật mã.
Thông tin kỹ thuật thú vị
- Phần mở rộng tệp '.p12' và '.pfx' có thể thay thế cho nhau 100% và trỏ đến cùng một định dạng chính xác.
- Chứng chỉ và cấu hình cung cấp cho nhà phát triển Apple iOS được phân phối dưới dạng tệp .p12 để ký ứng dụng iPhone.
- OpenSSL 3.0 đã ngừng hỗ trợ các thuật toán PKCS#12 cũ (RC2-40-CBC), yêu cầu cờ '-legacy' để mở các tệp P12 cũ.
Các câu hỏi kỹ thuật thường gặp
Sự khác biệt giữa .p12 và .pfx là gì?
Không có sự khác biệt. .pfx là định dạng tiền thân của Microsoft được chuẩn hóa bởi RSA Laboratories thành PKCS #12 (.p12). Ngày nay, cả hai phần mở rộng đều đề cập đến cùng một định dạng.
Làm cách nào để trích xuất khóa riêng tư từ tệp .p12?
Bạn có thể trích xuất khóa riêng tư và chứng chỉ công khai thành các tệp .pem sạch sẽ trong vài giây bằng cách sử dụng File2File.app trực tiếp trong trình duyệt web của bạn.
Tại sao tệp P12 của tôi cần mật khẩu?
Bởi vì các tệp P12 chứa khóa riêng tư nhạy cảm của bạn, chúng được mã hóa bằng mật khẩu để ngăn những người không có quyền truy cập đánh cắp danh tính kỹ thuật số của bạn.
Các cặp chuyển đổi P12 liên quan
Chuyển đổi gói PKCS #12 thành chứng chỉ PEM giúp trích xuất các khóa công khai và riêng tư từ kho lưu trữ nhị phân được khóa thành các tệp văn bản rõ ràng cho máy chủ web.
Việc chuyển đổi chứng chỉ PEM thành gói PKCS #12 kết hợp chứng chỉ công khai và khóa riêng tư của bạn thành một tệp duy nhất được bảo vệ bằng mật khẩu để dễ dàng cài đặt trên máy chủ Windows và trình duyệt web.