- Các định dạng .cer và .crt thường chứa chứng chỉ công khai X.509 ở định dạng PEM hoặc DER, trong khi .pfx và .p12 là các vùng chứa PKCS#12 với chứng chỉ, chuỗi chứng chỉ và khóa riêng được bảo vệ bằng mật khẩu.
- PEM và PKCS#7 (.p7b) sử dụng mã hóa Base64 ASCII, DER và PKCS#12 là mã nhị phân; tất cả đều biểu diễn cùng một thông tin mật mã với các định dạng và mục đích sử dụng khác nhau.
- Khóa riêng tư được lưu trữ trong các tệp .key hoặc bên trong các tệp .pfx/.p12, chứ không bao giờ trong các tệp .p7b; việc xác định vị trí của khóa là rất cần thiết để cài đặt, xuất hoặc gia hạn chứng chỉ.
- OpenSSL cho phép chuyển đổi giữa các định dạng PEM, DER, PKCS#7 và PKCS#12, giúp dễ dàng điều chỉnh bất kỳ chứng chỉ nào cho phù hợp với định dạng mà mỗi máy chủ hoặc hệ thống yêu cầu.

Nếu bạn đến đây để tìm kiếm Sự khác biệt giữa các định dạng .pfx, .p12, .cer và .crtChắc hẳn bạn đã từng gặp phải không ít những tập tin lạ khi cài đặt chứng chỉ số hoặc SSL trên máy chủ. Bạn không phải là người duy nhất: giữa các từ viết tắt, phần mở rộng và định dạng, rất dễ bị nhầm lẫn và không biết mỗi tập tin làm gì hoặc cần tập tin nào trong từng trường hợp.
Tin vui là, mặc dù tên gọi có vẻ khó hiểu, nhưng tất cả điều này có thể được giải thích khá đơn giản nếu chúng ta hiểu rằng tất cả các tập tin này không gì khác hơn là... hộp đựng chứng chỉ và chìa khóa ở các định dạng khác nhau (văn bản hoặc nhị phân) và được thiết kế cho các hệ thống khác nhau (Cửa sổ, Linux(Java, trình duyệt, v.v.). Chúng ta sẽ xem xét từng cái một, một cách bình tĩnh, và liên hệ chúng với nhau để bạn hiểu chính xác mỗi thứ là gì, dùng để làm gì và cách sử dụng hoặc chuyển đổi chúng khi cần thiết.
Chứng chỉ số là gì và các định dạng .pfx, .p12, .cer và .crt liên quan đến nhau như thế nào?
Chứng chỉ số không gì khác hơn là một tài liệu điện tử được ký bởi Cơ quan chứng nhận. (CA hoặc, theo quy định eIDAS, Nhà cung cấp dịch vụ đủ điều kiện) liên kết danh tính với khóa công khai. Danh tính đó có thể là một cá nhân, một công ty, một máy chủ web, một tên miền, v.v.
Để thiết lập kết nối này, người ta sử dụng các phương pháp sau: mật mã khóa công khai hoặc mật mã bất đối xứngCó một cặp khóa: khóa công khai (mà bất kỳ ai cũng có thể biết) và khóa riêng tư (chỉ chủ sở hữu mới được phép có). Dữ liệu được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa riêng tư, và ngược lại, cho phép xác thực, mã hóa và chữ ký điện tử.
Đằng sau tất cả những chứng chỉ này là một điều gì đó. cơ sở hạ tầng khóa công khai hoặc PKIĐiều này bao gồm cơ quan chứng nhận, cơ quan đăng ký, kho lưu trữ chứng chỉ, danh sách thu hồi chứng chỉ (CRL) và, trong nhiều môi trường, cơ quan ghi dấu thời gian (TSA) để ghi lại thời điểm ký kết.
Cấu trúc bên trong của phần lớn các chứng chỉ đa năng tuân theo tiêu chuẩn. X, 509Được định nghĩa bởi ITU và mô tả chi tiết trong RFC 5280. Tiêu chuẩn này định nghĩa các trường như phiên bản, số sê-ri, thuật toán chữ ký, tổ chức phát hành, thời hạn hiệu lực, đối tượng, khóa công khai của người sở hữu và các phần mở rộng bổ sung có thể có.
Về thuật toán, chứng chỉ thường sử dụng mật mã bất đối xứng với RSA, DSA hoặc ECDSARSA và ECDSA được sử dụng cho cả việc ký điện tử và mã hóa, trong khi DSA tập trung vào việc ký và xác thực chữ ký điện tử.
Các định dạng và phần mở rộng nội bộ: PEM, DER, CER, CRT và các định dạng khác.
Khi chúng ta nói về các phần mở rộng như... .cer, .crt, .pem, .der, .pfx, .p12 hoặc .p7bTrên thực tế, chúng ta đang lẫn lộn hai khái niệm: định dạng mã hóa của chứng chỉ (văn bản Base64 hoặc nhị phân) và chức năng của tệp tin đó (chỉ chứng chỉ, chứng chỉ + khóa riêng, chuỗi chứng chỉ, v.v.).
Ở cấp độ định dạng nội bộ, chứng chỉ X.509 được biểu diễn bằng ASN.1 và thường được mã hóa bằng DER (nhị phân) hoặc biến thể văn bản của nó là PEM (DER được chuyển đổi sang Base64 và được bao bọc bởi các tiêu đề như...) BẮT ĐẦU/KẾT THÚCTừ đó, các hệ thống và tiêu chuẩn khác nhau đã được định nghĩa. thùng chứa cụ thể chẳng hạn như PKCS#7 (.p7b) hoặc PKCS#12 (.pfx, .p12).
Mấu chốt để tránh nhầm lẫn là hãy nhớ rằng phần mở rộng tệp thường chỉ có một trong số đó. quy ước đặt tênVí dụ, một tập tin .cer hoặc .crt có thể chứa cùng một nội dung, chỉ khác ở chỗ một loại được sử dụng nhiều hơn trong Windows và loại kia được sử dụng nhiều hơn trong môi trường Unix/Linux.
Trong nhóm chung này, có một số định dạng chính Việc hiểu rõ những điều này rất quan trọng, bởi vì bạn sẽ thường xuyên gặp phải chúng khi làm việc với SSL/TLS hoặc chứng chỉ cá nhân.
Định dạng PEM: "văn bản dễ đọc" của chứng chỉ
Định dạng PEM là định dạng phổ biến nhất cho chứng chỉ SSL/TLS trên các máy chủ như Apache hoặc Nginx và trong hầu hết các công cụ bảo mật. Một tệp PEM đơn giản chỉ là một... DER được mã hóa lại dưới dạng Base64 và được bao quanh bởi các tiêu đề văn bản.Điều này cho phép bạn mở và sao chép nó bằng bất kỳ trình soạn thảo nào (Notepad, nano, vim, v.v.).
Một tệp PEM được nhận dạng vì nội dung của nó được phân tách bởi các dòng như... —– GIẤY CHỨNG NHẬN—– y —– CHỨNG CHỈEND—– khi nó chứa chứng chỉ, hoặc —–BẮT ĐẦU KHÓA RIÊNG—– y —–KẾT THÚC KHÓA RIÊNG—– Khi nó chứa khóa riêng tư. Mọi thứ nằm giữa hai thái cực đó là chuỗi Base64 biểu diễn dữ liệu nhị phân gốc.
Trong một tệp PEM duy nhất, bạn có thể có chỉ có chứng chỉCó thể cung cấp chứng chỉ kèm theo chuỗi CA trung gian, khóa riêng tư riêng lẻ, hoặc thậm chí toàn bộ gói (khóa riêng tư, chứng chỉ máy chủ, chứng chỉ trung gian và chứng chỉ gốc). Yêu cầu ký chứng chỉ cũng được cung cấp ở định dạng PEM. CSRChúng chẳng qua chỉ là các cấu trúc PKCS#10 được mã hóa lại thành văn bản.
Định dạng này ban đầu được định nghĩa trong các RFC 1421-1424 như một phần của dự án Thư điện tử tăng cường quyền riêng tư, dự án này không được sử dụng rộng rãi cho email, nhưng đã để lại một định dạng văn bản tuyệt vời cho dữ liệu mật mã vận chuyển ở định dạng thoải mái, dễ đọc và dễ sao chép/dán.
Trên thực tế, các tệp có phần mở rộng .pem, .crt, .cer hoặc .key Trong các hệ thống Unix/Linux, chúng thường là các tệp PEM. Thông thường, tệp .key chứa khóa riêng, tệp .crt hoặc .cer chứa chứng chỉ máy chủ, và đôi khi một tệp PEM bổ sung bao gồm chuỗi CA trung gian.
Định dạng DER: nhị phân thuần túy và đơn giản
DER (Distinguished Encoding Rules) là định dạng mã hóa nhị phân Đây là cấu trúc ASN.1 mô tả chứng chỉ X.509. Nó không phải là văn bản, vì vậy nếu bạn mở nó bằng trình soạn thảo, bạn sẽ thấy các ký tự lạ thay vì chuỗi Base64 thông thường.
Tệp DER có thể chứa bất kỳ loại chứng chỉ hoặc khóa riêng tư nàoThông thường, tệp này được nhận dạng bằng phần mở rộng .der hoặc .cer, đặc biệt là trong môi trường Windows hoặc trên các nền tảng Java. Trên Windows, tệp .der được nhận dạng trực tiếp là tệp chứng chỉ và mở bằng trình xem mặc định khi nhấp đúp chuột.
Sự khác biệt thực tế với PEM là, trong khi PEM có thể dễ dàng sao chép và gửi qua email hoặc dán vào các biểu mẫu trên web, thì DER lại là một dạng khác. khối nhị phân đóng Được thiết kế để các ứng dụng sử dụng trực tiếp. Tuy nhiên, về mặt nội bộ, thông tin vẫn giống nhau: một PEM không gì khác hơn là một DER được mã hóa lại thành văn bản Base64.
Các công cụ như OpenSSL cho phép bạn chuyển đổi từ DER sang PEM và ngược lại chỉ bằng một lệnh duy nhất, mà không làm thay đổi nội dung logic của chứng chỉ, chỉ thay đổi hình thức biểu diễn của nó.
Các phần mở rộng .cer và .crt: cùng một con chó nhưng đeo vòng cổ khác nhau
Các phần mở rộng .cer và .crt được sử dụng để chỉ định các tệp chứa chứng chỉ công khaiThường ở định dạng PEM hoặc DER, tùy thuộc vào hệ thống mà chúng được tạo ra hoặc cài đặt.
Trong một số trường hợp, tệp .crt trên máy chủ Apache sẽ là một được chứng nhận về PEM Được bao quanh bởi các tiêu đề BEGIN/END CERTIFICATE và sẵn sàng để dán vào khối cấu hình. Trong Windows, tệp .cer có thể là định dạng PEM hoặc DER, mặc dù thông thường nó thuộc một trong hai loại tùy thuộc vào công cụ đã tạo ra nó.
Điều quan trọng cần hiểu là phần mở rộng không hoàn toàn xác định định dạng bên trong: một tệp .cer có thể là văn bản PEM hoặc nhị phân DER, và trình xem hoặc tiện ích như OpenSSL sẽ xác định cách đọc nó. Trong trình duyệt và hệ thống Windows, nhấp đúp chuột sẽ mở... trình xem chứng chỉTại đây bạn có thể xem thông tin về đơn vị phát hành, đối tượng, ngày hết hạn, cách sử dụng khóa, v.v.
Khi bạn xuất chứng chỉ không có khóa riêng từ trình duyệt hoặc kho chứng chỉ Windows, bạn thường sẽ nhận được tệp .cer, được sử dụng cho xác thực chữ ký, chuỗi tin cậy hoặc mã hóa thông tinnhưng tuyệt đối không được ký thay mặt chủ sở hữu (để làm điều đó, bạn cần khóa riêng, khóa này được tách biệt hoặc nằm trong một vùng chứa được bảo vệ).
CSR, KEY, CA và các tệp trung gian: các tệp khác đi kèm với chứng chỉ
Khi xử lý chứng chỉ SSL hoặc chứng chỉ cá nhân, bạn sẽ không chỉ thấy các tệp .pfx, .p12 hoặc .cer. Toàn bộ quy trình còn liên quan đến các tệp như... chứng chỉ .csr, .key hoặc CA (gốc và các chất trung gian), đều quan trọng như nhau để mọi thứ hoạt động.
Yêu cầu chữ ký hoặc CSR (.csr) Đây là một tập tin thường được tạo trên máy chủ nơi chứng chỉ SSL sẽ được cài đặt. Nó chứa khóa công khai, tên miền, tổ chức, quốc gia và các thông tin khác mà cơ quan cấp chứng chỉ sẽ sử dụng để cấp chứng chỉ. Tập tin này tuân theo tiêu chuẩn PKCS#10 và thường được mã hóa ở định dạng PEM để bạn có thể sao chép và dán vào biểu mẫu của nhà cung cấp.
Khóa riêng tư hoặc KHÓA (.key) Đây là tập tin lưu trữ khóa bí mật liên kết với chứng chỉ. Nó thường ở định dạng PEM, được phân tách bởi BEGIN PRIVATE KEY và END PRIVATE KEY. Đây là một tập tin cực kỳ nhạy cảm, không nên chia sẻ hoặc tải lên các kho lưu trữ công cộng, và trong nhiều trường hợp, nó còn được bảo vệ bằng mật khẩu.
Tệp của CA hoặc giấy chứng nhận thẩm quyền Nó chứa khóa công khai của tổ chức phát hành hoặc trung gian cấp chứng chỉ. Trình duyệt và hệ điều hành Chúng đi kèm với một danh sách mặc định các CA đáng tin cậy, nhưng đôi khi bạn cần cài đặt các chứng chỉ trung gian để hoàn thiện chuỗi tin cậy, nhờ đó máy khách có thể xác thực chứng chỉ máy chủ của bạn mà không gặp lỗi.
Các chứng chỉ trung gian này có thể được cung cấp dưới dạng tệp PEM (.pem, .crt, .cer) hoặc trong một vùng chứa như... .p7bTrong cấu hình hosting, việc yêu cầu cung cấp CRT (chứng chỉ tên miền), KEY (khóa riêng) và chứng chỉ CA hoặc chứng chỉ trung gian để cài đặt SSL đúng cách là rất phổ biến.
PKCS#7 / P7B: chuỗi chứng chỉ không có khóa riêng
PKCS#7, thường được biểu diễn bằng các phần mở rộng .p7b hoặc .p7cĐây là định dạng được thiết kế để nhóm một hoặc nhiều chứng chỉ vào một vùng chứa có cấu trúc, mà không bao gồm khóa riêng. Nó thường được sử dụng cho phân phối chuỗi chứng chỉ (Chứng chỉ máy chủ cộng với các chứng chỉ trung gian) trong môi trường Windows hoặc Java (Tomcat, kho khóa, v.v.).
Tệp .p7b thường được mã hóa bằng Base64 ASCII, tương tự như tệp PEM, và ban đầu được định nghĩa trong RFC 2315 như một phần của các tiêu chuẩn mật mã khóa công khai. Ngày nay, định dạng kế nhiệm của nó là CMS (Cryptographic Message Syntax), nhưng tên PKCS#7 vẫn được sử dụng rộng rãi trong thế giới chứng chỉ SSL.
Định dạng này rất hữu ích khi bạn cần thiết lập toàn bộ chuỗi tin cậy Trên máy chủ hoặc trong hệ thống quản lý chứng chỉ thông qua kho lưu trữ (ví dụ: kho khóa Java). Thông thường, nhà cung cấp SSL sẽ cung cấp chứng chỉ máy chủ và tệp .p7b chứa toàn bộ chuỗi CA, hoặc một tệp .p7b duy nhất chứa tất cả mọi thứ.
Nếu bạn muốn chuyển đổi tệp .p7b sang định dạng PEM, các công cụ như OpenSSL cho phép bạn trích xuất chứng chỉ bằng một lệnh duy nhất và lưu chúng vào một hoặc nhiều tệp văn bản. Sau đó, bạn có thể tách các khối BEGIN/END CERTIFICATE nếu cần tải chúng lên máy chủ một cách riêng biệt.
Điều quan trọng cần lưu ý là tệp PKCS#7 không bao giờ chứa khóa riêng tưDo đó, bản thân nó không hữu ích cho việc ký hoặc giải mã: nó chỉ cung cấp phần công khai của chuỗi chứng chỉ để xác thực độ tin cậy.
PKCS#12: Chính xác thì .pfx và .p12 là gì?
Tiêu chuẩn PKCS#12 định nghĩa một vùng chứa nhị phân được bảo vệ bằng mật khẩu có thể bao gồm... chứng chỉ công khai, chuỗi CA hoàn chỉnh và khóa riêng tư Liên quan. Các phần mở rộng phổ biến nhất cho định dạng này là .pfx và .p12, về cơ bản là tương đương nhau.
Về mặt lịch sử, PKCS#12 ban đầu là một định dạng gắn bó chặt chẽ với Microsoft, nhưng với el tiempo Nó đã được tiêu chuẩn hóa trong RFC 7292 và hiện đang được sử dụng trong tất cả các loại hệ thống, chính xác là vì nó cho phép vận chuyển an toàn cặp chứng chỉ + khóa riêng tư từ đội này sang đội khác.
Trong môi trường Windows, khi bạn xuất chứng chỉ "khóa riêng" từ kho chứng chỉ người dùng hoặc máy tính, trình hướng dẫn sẽ tạo ra một tệp .pfx (hoặc .p12) bao gồm mọi thứ bạn cần để nhập nó vào hệ thống khác: khóa riêng, chủ sở hữu chứng chỉ và thường là chuỗi chứng chỉ trung gian.
Trong quá trình tạo hoặc xuất tệp PKCS#12, hệ thống sẽ yêu cầu bạn chỉ định một mật khẩu bảo vệMật khẩu này sẽ cần thiết sau này để nhập tệp vào trình duyệt khác, IIS, ứng dụng email hoặc thậm chí là hệ điều hành khác. Bằng cách này, nếu ai đó đánh cắp tệp .pfx, họ sẽ không thể sử dụng nó nếu không biết mật khẩu đó.
Các công cụ như OpenSSL cho phép bạn chuyển đổi tệp .pfx hoặc .p12 sang định dạng PEM, nhờ đó bạn nhận được một tệp văn bản mà từ đó bạn có thể dễ dàng định vị khối khóa riêng, chứng chỉ máy chủ và các chứng chỉ trung gian, rồi sao chép chúng vào nơi thích hợp (ví dụ: trong bảng điều khiển lưu trữ chỉ chấp nhận CRT, KEY và CA riêng biệt).
Gia hạn, xuất nhập khẩu chứng chỉ .pfx và .p12
Trong lĩnh vực giấy tờ cá nhân (ví dụ: giấy tờ do FNMT hoặc các cơ quan khác cấp cho mục đích nhận dạng), cách sao lưu và gia hạn chúng có liên quan chặt chẽ đến việc sử dụng... các tệp .pfx hoặc .p12, được lưu trữ trên các thẻ mã hóa, mã thông báo USB hoặc trực tiếp dưới dạng các tệp được bảo vệ trên máy tính.
Nếu giấy chứng nhận cá nhân của bạn chưa hết hạn, nhiều cơ quan chức năng cho phép bạn làm như vậy. Gia hạn trực tuyếnViệc gia hạn được thực hiện từ điểm đăng ký (hiệp hội nghề nghiệp, công ty, nhà cung cấp dịch vụ chứng nhận, v.v.) và bạn sẽ nhận được một liên kết qua email để hoàn tất quy trình từ máy tính của mình.
Tuy nhiên, nếu chứng chỉ đã hết hạn, thông thường bạn sẽ phải tham dự trực tiếp Hãy đến điểm đăng ký đó với thẻ mã hóa hoặc thiết bị nơi lưu trữ chứng chỉ đã hết hạn, xác minh danh tính và yêu cầu cấp chứng chỉ mới. Bạn có thể xuất chứng chỉ này ở định dạng .pfx hoặc .p12 để nhập vào bất cứ nơi nào bạn cần.
Trong các trình duyệt như Edge hoặc ChromeQuá trình nhập khẩu diễn ra thông qua... Kho chứng chỉ WindowsTừ phần cài đặt quyền riêng tư và bảo mật, bạn có thể mở trình quản lý chứng chỉ, chọn tab Cá nhân và nhập tệp .pfx hoặc .p12. Trình hướng dẫn sẽ yêu cầu mật khẩu vùng chứa và đề nghị đánh dấu khóa là có thể xuất để sao lưu trong tương lai.
Nếu thay vì tệp .pfx, bạn có tệp .cer mà không có khóa riêng (biểu tượng chứng chỉ không có khóa), thì tệp đó chỉ hữu ích cho mục đích nào đó. cài đặt chứng chỉ công khai (Nó xuất hiện trong mục “Những người khác”), nhưng không dùng để ký hoặc xác thực. Trong trường hợp đó, bạn sẽ không thể lấy lại khóa riêng từ đó, và nếu bạn không có bản sao hợp lệ khác, lựa chọn duy nhất là yêu cầu cấp chứng chỉ mới.
Cách các định dạng này được sử dụng trong chứng chỉ SSL máy chủ
Trong công việc hàng ngày với máy chủ web, VPNDù sử dụng máy chủ proxy hay ứng dụng Java, các định dạng chứng chỉ khác nhau được sử dụng phụ thuộc vào hệ thống và loại cài đặt. Việc thiết lập Apache trên Linux không giống như thiết lập IIS trên Windows hay Tomcat trên Java.
Trong môi trường Unix/Linux (Apache, Nginx, HAProxy, v.v.), việc làm việc với là điều bình thường. Tệp PEM Các tệp riêng biệt: một tệp cho khóa riêng (.key), một tệp khác cho chứng chỉ máy chủ (.crt hoặc .cer), và đôi khi còn một tệp nữa chứa chuỗi CA trung gian. Tất cả các tệp này được tham chiếu trong cấu hình máy chủ để thiết lập TLS.
Trên các nền tảng Windows (IIS, dịch vụ máy tính từ xa, v.v.), việc được yêu cầu cung cấp thông tin là rất phổ biến. .pfx hoặc .p12 Chứa cả chứng chỉ, khóa riêng và chuỗi chứng chỉ. Trình hướng dẫn nhập liệu sẽ tự động đặt từng thành phần vào kho lưu trữ tương ứng, vì vậy bạn không cần phải lo lắng về các chi tiết nội bộ.
Trong môi trường Java (Tomcat, các ứng dụng có kho khóa riêng), các kho lưu trữ thuộc loại này JKS hoặc PKCS#12Trong nhiều trường hợp, tệp .pfx được nhập trực tiếp hoặc chứng chỉ .p7b được sử dụng để cấu hình chuỗi tin cậy trong kho khóa, tùy thuộc vào công cụ và phiên bản Java.
Khi mua chứng chỉ SSL từ nhà cung cấp bên thứ ba, bạn có thể nhận được nhiều tổ hợp tệp khác nhau: tệp CRT + CA ở định dạng PEM, tệp .p7b chứa chuỗi xác thực, hoặc thậm chí là tệp .pfx đã được chuẩn bị sẵn. Điều quan trọng là phải xác định đúng loại tệp. Khóa riêng tư nằm ở đâu? (nếu bạn mang theo chứng chỉ đó và nó không được máy chủ tạo ra) và tệp nào chứa chứng chỉ máy chủ và chuỗi chứng chỉ trung gian.
Trong bảng điều khiển quản trị máy chủ, bạn thường được yêu cầu điền vào các trường cho CRT, KEY và tùy chọn, CA hoặc chứng chỉ trung gian. Nếu bạn chỉ có tệp .pfx, bạn có thể chuyển đổi nó sang PEM bằng OpenSSL và trích xuất từng khối từ đó, sao chép cẩn thận từ BEGIN đến END của mỗi loại.
Chuyển đổi giữa các định dạng chứng chỉ bằng OpenSSL
Khi bạn đã hiểu rõ từng loại tệp là gì, bước tiếp theo cần làm là tìm hiểu thêm. cách chuyển đổi chúng Khi máy chủ hoặc ứng dụng yêu cầu định dạng khác với định dạng do nhà cung cấp dịch vụ Internet (ISP) hoặc tổ chức cấp chứng chỉ (CA) của bạn cung cấp, công cụ tiêu chuẩn cho việc này là OpenSSL, có sẵn trong hầu hết các bản phân phối Linux và cũng có thể cài đặt trên Windows.
Ví dụ, nếu bạn có chứng chỉ về DER (.der, .cer) Và nếu bạn cần chuyển đổi nó sang định dạng PEM, chỉ cần một lệnh duy nhất lấy dữ liệu nhị phân đó và mã hóa lại thành Base64 với các tiêu đề thích hợp là đủ. Tương tự, bạn có thể chuyển đổi PEM sang DER nếu hệ thống của bạn chỉ chấp nhận dữ liệu nhị phân.
Với tệp PKCS#7 (.p7b), bạn có thể sử dụng OpenSSL để trích xuất chứng chỉ ở định dạng PEM với một lệnh đơn giản in ra các chứng chỉ có trong đó và lưu chúng vào một tệp văn bản. Từ đó, bạn có thể tách các khối BEGIN/END CERTIFICATE khác nhau nếu cần các tệp riêng biệt.
Đối với PKCS#12 (.pfx, .p12), OpenSSL cho phép bạn chuyển đổi vùng chứa thành tệp PEM chứa khóa riêng và tất cả các chứng chỉ. Trong quá trình này, bạn sẽ được yêu cầu nhập mật khẩu vùng chứa và có thể chọn giữ nguyên khóa riêng được mã hóa hoặc ở dạng văn bản thuần trong tệp PEM, tùy thuộc vào mục đích sử dụng.
Các kiểu chuyển đổi này tạo ra các kịch bản khả thi như tải tệp .pfx lên máy chủ Linux, chuyển đổi nó sang định dạng PEM, và sau đó tách riêng CRT và KEY Điền vào biểu mẫu cài đặt SSL không hỗ trợ trực tiếp các container PKCS#12.
Ngoài các chuyển đổi trực tiếp DER↔PEM, PEM↔PKCS#7, PKCS#7↔PKCS#12 và PKCS#12↔PEM, tiện ích này còn có thể tạo yêu cầu chứng chỉ (CSR), quản lý khóa, kiểm tra chứng chỉ và xem ngày hết hạn, trở thành công cụ cơ bản trong bất kỳ môi trường nào làm việc với chứng chỉ.
Các loại chứng chỉ số và lĩnh vực sử dụng
Ngoài định dạng tệp, việc hiểu rõ về các yếu tố khác cũng rất hữu ích. các loại chứng chỉ Tùy thuộc vào mục đích sử dụng hoặc loại thực thể mà chúng đại diện, điều đó sẽ ảnh hưởng đến cách quản lý việc sao lưu, gia hạn và cài đặt của chúng.
Ở cấp độ quy định của châu Âu (Quy định eIDAS), người ta phân biệt giữa... Chứng chỉ điện tử "đơn giản" và chứng chỉ đủ điều kiệnLoại thứ nhất đáp ứng các yêu cầu cơ bản về nhận dạng và cấp phát, trong khi loại thứ hai đòi hỏi quy trình xác minh danh tính nghiêm ngặt hơn và các điều kiện kỹ thuật và tổ chức khắt khe hơn từ phía nhà cung cấp. Một ví dụ điển hình ở Tây Ban Nha là thẻ căn cước điện tử (DNIe).
Nếu chúng ta xem xét người sở hữu là ai, chúng ta có thể có các chứng chỉ về cá nhân, pháp nhân hoặc thực thể không có tư cách pháp nhânMỗi loại được sử dụng để ký hoặc xác thực trong các lĩnh vực khác nhau: thủ tục cá nhân, giao dịch thay mặt công ty hoặc nghĩa vụ thuế, tương ứng.
Trong thế giới máy chủ web, họ chứng chỉ nổi tiếng nhất là chứng chỉ của... Chứng chỉ SSL/TLSCác chứng chỉ này được cài đặt trên máy chủ để mã hóa kênh liên lạc với người dùng. Chúng bao gồm các biến thể như chứng chỉ một miền, chứng chỉ ký tự đại diện và chứng chỉ đa miền (SAN), khác nhau về số lượng tên miền được bảo vệ và mức độ xác thực.
Bất kể loại nào, tất cả các chứng chỉ này đều có thể được lưu trữ và phân phối ở cùng một định dạng: các tệp .cer, .crt, .pem, .p7b hoặc các vùng chứa .pfx/.p12, tùy thuộc vào hệ thống mà chúng sẽ được sử dụng và phương pháp được chọn để vận chuyển hoặc sao lưu chúng.
Tính hữu ích của chứng chỉ số là vô cùng to lớn: Họ đảm bảo tính bảo mật và tính xác thực. Trong lĩnh vực truyền thông, chúng cho phép tạo chữ ký điện tử hợp lệ về mặt pháp lý, đơn giản hóa các thủ tục hành chính và thương mại, đồng thời giúp nhiều dịch vụ mạng hoạt động an toàn mà người dùng không cần phải lo lắng về các chi tiết mã hóa.
Đến đây, rõ ràng là các phần mở rộng như .pfx, .p12, .cer hoặc .crt chỉ đơn giản là những cách khác nhau để đóng gói cùng một thứ: chứng chỉ X.509, khóa riêng và, nếu có, chuỗi tin cậy, tùy thuộc vào môi trường, được biểu diễn dưới dạng văn bản Base64, nhị phân DER hoặc vùng chứa PKCS để tạo điều kiện thuận lợi cho việc cài đặt và triển khai. vận chuyển giữa các hệ thống.
Người viết đam mê về thế giới byte và công nghệ nói chung. Tôi thích chia sẻ kiến thức của mình thông qua viết lách và đó là những gì tôi sẽ làm trong blog này, cho bạn thấy tất cả những điều thú vị nhất về tiện ích, phần mềm, phần cứng, xu hướng công nghệ, v.v. Mục tiêu của tôi là giúp bạn điều hướng thế giới kỹ thuật số một cách đơn giản và thú vị.
