+/= . Hex văn bản mật mã sử dụng 0-9 và a-f , với hai ký tự trên mỗi byte. Nếu bạn tải lên tệp .enc nhị phân, bộ chọn mã hóa sẽ tự động bị bỏ qua. 1️⃣ PEM là gì?
PEM (Thư nâng cao quyền riêng tư) là định dạng văn bản được sử dụng để lưu trữ và chuyển khóa và chứng chỉ. Nó mã hóa Base64 dữ liệu DER nhị phân và bao bọc nó bằng các dòng đầu trang và chân trang chẳng hạn như -----BEGIN PRIVATE KEY----- và -----END PRIVATE KEY----- . Các nhãn phổ biến bao gồm PUBLIC KEY , PRIVATE KEY và CERTIFICATE . Vì là văn bản thuần túy nên PEM dễ dàng sao chép, dán và trao đổi giữa các hệ thống.
2️⃣ Bạn có thể thấy những định dạng nào khác?
- DER : một định dạng nhị phân thô lưu trữ trực tiếp các cấu trúc ASN.1 và phổ biến trong Java hoặc công cụ chứng chỉ.
- HEX : biểu diễn chuỗi thập lục phân của byte DER, hữu ích để gỡ lỗi hoặc nhúng dữ liệu byte vào mã.
- Base64 không có tiêu đề : tải trọng DER được mã hóa dưới dạng Base64 nhưng không có trình bao bọc PEM, thường được sử dụng trong các định dạng cấu hình nhỏ gọn.
- PKCS#12 (PFX) : một thùng chứa nhị phân có thể đóng gói khóa chung và khóa riêng cùng nhau, thường được bảo vệ bằng mật khẩu.
3️⃣ Mỗi định dạng nên được sử dụng khi nào?
- PEM : sự lựa chọn phổ biến nhất cho OpenSSL, máy chủ web, trao đổi API và xử lý khóa thủ công.
- DER : hữu ích khi công cụ dành riêng cho nền tảng yêu cầu hoặc ưu tiên lưu trữ nhị phân.
- HEX : tiện dụng để gỡ lỗi và trong các tình huống cần kiểm tra mức byte.
- Base64 không có tiêu đề : hữu ích khi định dạng xung quanh không cho phép trình bao bọc PEM và bạn muốn có tải trọng văn bản nhỏ gọn.
- PKCS#12 : tốt nhất khi bạn cần vận chuyển chứng chỉ và khóa riêng cùng với bảo vệ bằng mật khẩu.