Tạo tệp chứng chỉ .pfx / .p12 bằng OpenSSL

1. Yêu cầu

  • Private key ban đầu được sử dụng cho chứng chỉ
  • Tệp PEM (.pem, .crt, .cer) hoặc PKCS # 7 / P7B (.p7b, .p7c)
  • OpenSSL (bao gồm Linux / Unix và macOS, và dễ dàng cài đặt trên Windows với Cygwin )

Các lệnh dưới đây trình bày các ví dụ về cách tạo tệp .pfx / .p12 trong dòng lệnh bằng OpenSSL:

* PEM (.pem, .crt, .cer) sang PFX
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.keyin certificate.crt -certfile more.crt

 

Chia nhỏ lệnh:

  • openssl– lệnh thực thi OpenSSL
  • pkcs12– tiện ích tệp cho tệp PKCS # 12 trong OpenSSL
  • -export -out certificate.pfx– xuất và lưu tệp PFX dưới dạng certificate.pfx
  • -inkey privateKey.key– sử dụng tệp khóa riêng privateKey.key làm khóa riêng để kết hợp với chứng chỉ.
  • -in certificate.crt– sử dụng certificate.crt làm chứng chỉ mà khóa cá nhân sẽ được kết hợp với.
  • -certfile more.crt– Đây là tùy chọn, đây là nếu bạn có bất kỳ chứng chỉ bổ sung nào bạn muốn đưa vào tệp PFX.

Nếu bạn đang tạo PFX để cài đặt trên Azure Web Apps hoặc một dịch vụ khác yêu cầu tệp PFX để cài đặt SSL / TLS, bạn nên bao gồm chuỗi tin cậy đầy đủ trong PFX của mình. Bạn có thể thực hiện việc này bằng cách tải xuống liên kết tải xuống Apache, bao gồm cả chứng chỉ trang web của bạn và tệp có tên ca-pack-client.crt trong tệp PFX của bạn. Ví dụ:

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile ca-pack-client.crt

* PKCS # 7 / P7B (.p7b, .p7c) sang PFX

Không thể sử dụng tệp P7B để tạo trực tiếp tệp PFX. Tệp P7B phải được chuyển đổi thành PEM. Sau khi chuyển đổi sang PEM, hãy làm theo các bước trên để tạo tệp PFX từ tệp PEM.

openssl pkcs7 -print_certs – trong chứng chỉ. chứng chỉ p7b -out. crt

Chia nhỏ lệnh:

  • openssl– lệnh thực thi OpenSSL
  • pkcs7– tiện ích tệp cho tệp PKCS # 7 trong OpenSSL
  • -print_certs -in certificate.p7b– in ra bất kỳ chứng chỉ hoặc CRL nào có trong tệp.
  • -out certificate.crt– xuất tệp dưới dạng certificate.crt
Lưu ý: Bạn cũng có thể sử dụng OpenSSL để trích xuất chứng chỉ và khóa cá nhân từ tệp PKCS # 12 / PFX.

 

Leave a Comment