Chuyển đổi chứng chỉ CERT / PEM sang chứng chỉ PFX


184

Tôi đã thấy một vài câu hỏi về cách chuyển đổi PFX thành tệp chứng chỉ, nhưng tôi cần phải đi theo một cách khác.

Tôi có hai tệp:

bob_cert.cert

bob_key.pem

Tôi muốn chuyển đổi chúng thành một tệp .pfx. Có một công cụ làm điều này?


16
serverfault.com/a/9717/3202 là một lời giải thích tuyệt vời về các định dạng tệp cert, chỉ cần fyi
Rory

Câu trả lời:


350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx

7
Làm thế nào tôi có thể đạt được điều tương tự theo chương trình trong C #?
pankajt

2
Bạn có thể chỉ cho tôi theo hướng của những ví dụ này? Tôi dường như không thể tìm thấy bất cứ điều gì.
Nick

10
Phiên bản Windows của OpenSSL có sẵn tại slproweb.com/products/Win32OpenSSL.html . Chỉ cần thử nó, và nó hoạt động đúng cho mục đích này.
BrianFinkel

2
Danh sách tuyệt vời các lệnh OpenSSL phổ biến tại sslshopper.com/article- most
Rory

4
Một vài bổ sung: -name "friendly name"ví dụ, đặt tên (sẽ xuất hiện trong danh sách chứng chỉ trong Windows) và -certfile cacert.pemcó thể được sử dụng để thêm (các) chứng chỉ CA và tạo .pfxtệp với toàn bộ chuỗi.
pvgoran

22

Đây là cách thực hiện việc này trên Windows mà không cần các công cụ của bên thứ ba:

  1. Nhập chứng chỉ vào cửa hàng chứng chỉ. Trong Windows Explorer, chọn "Cài đặt chứng chỉ" trong menu ngữ cảnh. nhập mô tả hình ảnh ở đây Làm theo trình hướng dẫn và chấp nhận các tùy chọn mặc định "Người dùng cục bộ" và "Tự động".

  2. Tìm chứng chỉ của bạn trong cửa hàng chứng chỉ. Trên Windows 10 chạy MMC "Quản lý chứng chỉ người dùng". Trên Windows 2013, MMC được gọi là "Chứng chỉ". Trên Windows 10 theo mặc định, chứng chỉ của bạn phải ở dưới nút "Cá nhân" -> "Chứng chỉ".

  3. Giấy chứng nhận xuất khẩu. Trong menu ngữ cảnh, chọn menu "Xuất ...": nhập mô tả hình ảnh ở đây

    Chọn "Có, xuất khóa riêng": nhập mô tả hình ảnh ở đây

    Bạn sẽ thấy tùy chọn .PFX được bật trong trường hợp này: nhập mô tả hình ảnh ở đây

    Chỉ định mật khẩu cho khóa riêng.


11
Ở bước 2, chứng chỉ của tôi không "Cá nhân" -> "Chứng chỉ". Nó xuất hiện trong "Người khác" -> "Chứng chỉ" và khi xuất, "Trao đổi thông tin cá nhân (PFX)" sẽ bị tắt. Bạn có biết làm thế nào để kích hoạt nó?
Gabrielizalo

Tôi đã sửa lỗi với trình chuyển đổi chứng chỉ di động từ DigiCert: digicert.com/util/ từ
Gabrielizalo

13
bạn không thể nhập PEM.
Ross Presser

1
Trước tiên, bạn cần đổi tên .pem thành .cer để Windows nhận ra tệp dưới dạng tệp chứng chỉ / khóa riêng. Cả hai phần mở rộng tệp có thể chứa chứng chỉ và / hoặc khóa trong định dạng nhị phân được bọc thép ASCII hoặc định dạng nhị phân được mã hóa Base64 / DER, nhưng bạn có thể sử dụng các tệp cer với các tiện ích tích hợp trong Windows.
Mastacheata

9
Câu hỏi của OP là làm thế nào để nhập nó khi khóa riêng không được bao gồm trong tệp chứng chỉ nhưng bạn có hai tệp: crt và pem (pem chứa khóa riêng). Câu trả lời này không hoạt động trong trường hợp đó.
Masi

16

Tôi đã tạo tệp .pfx từ các tệp .key và .pem.

Như thế này openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

Đó không phải là câu trả lời trực tiếp nhưng vẫn có thể nó giúp được người khác.


5

Nếu bạn có chứng chỉ tự ký được tạo bởi makecert.exetrên máy Windows, bạn sẽ nhận được hai tệp: cert.pvkcert.cer. Chúng có thể được chuyển đổi thành pfx bằng cách sử dụngpvk2pfx

pvk2pfxđược tìm thấy ở cùng vị trí với makecert(ví dụ C:\Program Files (x86)\Windows Kits\10\bin\x86hoặc tương tự)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.