Các lệnh OpenSSL để chuyển đổi định dạng SSL

Các lệnh OpenSSL để chuyển đổi định dạng SSL

Sau khi mua chứng chỉ SSL, nhà cung cấp sẽ cấp cho bạn các file cần thiết để sử dụng (.key, .crt, CA, Root, hoặc .pem,…). Tùy từng nhà cung cấp họ sẽ cung cấp cho bạn các file SSL theo định dạng nào. Để sử dụng được chúng, đôi khi bạn phải chuyển đổi sang định dạng khác để phù hợp với Server của bạn. Ví dụ như:

  • Server IIS của Windows tôi thường sử dụng file .pfx.
  • nginx, apache tôi thường sử dụng .key, .crt, CA.
  • Hoặc khi bạn muốn lấy khóa (file .key), Certificate (file .crt) từ file có định dạng .pfx, pem,…

Tôi thường sử dụng OpenSSL chạy trên windows để chuyển đổi định dạng SSL và không sử dụng các tools hoặc phần mềm chuyển đổi khác. Hiện nay có một số đơn vị cung cấp site chuyển đổi SSL. Trường hợp khẩn cấp, tôi có thể cân nhắc sử dụng trên site của một số đơn vị uy tín mà tôi biết.

Tại sao lại sử dụng OpenSSL?

OpenSSL là công cụ miễn phí, có thể chạy được trên Windows hoặc Linux.

Dưới đây là một số lệnh OpenSSL chuyển đổi SSL thường dùng.

Lệnh OpenSSL chuyển đổi định dạng SSL

Chuyển đổi .key và .crt sang pfx

File .PFX dùng để làm gì?

File .pfx sử dụng để bạn cài đặt ssl lên server IIS của Windows hoặc các dịch vụ hỗ trợ như: Firewall Kerio,…

Câu lệnh:

pkcs12 -export -out domain.pfx -inkey domain.key -in domain.crt

Trong đó: (Sửa chuỗi domain thành tên bạn muốn xuất ra (với .pfx) và tên file đang có trên thư mục bin của OpenSSL).

  • domain.pfx là tên file và đuôi mở rộng .pfx bạn muốn xuất ra.
  • domain.key là tên file và đuôi mở rộng .key có trên thư mục bin của OpenSSL.
  • domain.crt là tên file mà đuôi mở rộng .crt của Certificate có trên thư mục bin của OpenSSL.

Lưu lý: domain.key và domain.crt phải là các file key và Certificate của cùng 1 tên miền.

Chuyển đổi định dạng khóa từ .pfx sang .key

File .pfx chứa thông tin cả Certificate và khóa key. Để lấy khóa từ file .pfx bạn làm 2 bước như sau:

pkcs12 -in certname.pfx -nocerts -out key.pem -nodes

Hoặc

pkcs12 -in certname.pfx -out key.pem -nodes

  • Sửa certname thành tên file .pfx bạn đang có.
  • Sửa key thành tên file key (định dạng .pem) bạn muốn xuất ra.

Chuyển định dạng khóa từ .pem sang .key

rsa -in key.pem -out server.key

  • Sửa key thành tên file .pem bạn mới xuất ra
  • Sửa server thành tên file .key bạn muốn chuyển đổi sang.

Chuyển đổi .pfx sang crt (Certificate):

pkcs12 -in certname.pfx -nokeys -out cert.pem

Hoặc xuất bao gồm cả khóa key:

pkcs12 -in certname.pfx -out cert.pem

  • Sửa certname thành tên file .pfx bạn muốn chuyển đổi.
  • Sửa cert thành tên file .pem bạn muốn xuất ra.

File cert.pem sẽ chưa nội dung của CA, Root,… bạn cần copy chuỗi Certificate để lưu lại thành 1 file riêng theo định dạng cert.crt. Thông thường, chuỗi Certificate nằm ở đầu file .pem được đánh dấu theo subject=tenmien. Nếu bạn cần sử dụng cả các file CA, Root,… bạn copy chuỗi CA, Root,… ra 1 file riêng. Phần mở rộng cũng là .crt.

Fix lỗi khi chạy OpenSSL:

Câu lệnh:

set OPENSSL_CONF=D:\SSL\OpenSSL\bin\openssl.cnf

Sửa đường dẫn thành đường dẫn tới file openssl.cnf trên máy tính của bạn.

Ghi chú thêm:

 

TÌNH HÌNH DỊCH BỆNH CORONA MỚI NHẤT

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *