Tạo, quản lý & Chuyển đổi chứng chỉ SSL với OpenSSL

Một trong những lệnh phổ biến nhất trong SSL để tạo nên, đổi, quản lý Chứng chỉ SSL là OpenSSL.

Sẽ có nhiều tình huống bạn phải đối phó với OpenSSL theo nhiều cách khác nhau và ở đây tôi đã liệt kê chúng cho bạn như một bảng cheat tiện dụng.

Trong bài viết này, tôi sẽ nói về các lệnh OpenSSL được sử dụng thường xuyên để giúp bạn trong thế giới thực.

Một số chữ viết tắt liên quan đến chứng chỉ.

  • SSL – Lớp cổng bảo mật
  • CSR – Yêu cầu ký chứng chỉ
  • TLS – Bảo mật lớp vận chuyển
  • PEM – Thư tăng cường bảo mật
  • DER – Quy tắc mã hóa đặc biệt
  • SHA – Thuật toán băm an toàn
  • PKCS – Tiêu chuẩn mã hóa khóa công khai

Ghi chú: Khóa học vận hành SSL / TLS sẽ hữu ích nếu bạn không quen thuộc với các điều khoản.

Tạo Khóa riêng và Yêu cầu ký chứng chỉ

openssl req -out geekflare.csr -newkey rsa: 2048 -nodes -keyout geekflare.key

Lệnh trên sẽ tạo tệp khóa CSR và 2048 bit RSA. Nếu bạn có ý định sử dụng chứng chỉ này trong Apache hoặc Nginx, thì bạn cần gửi tệp CSR này tới cơ quan cấp chứng chỉ và họ sẽ cung cấp cho bạn chứng chỉ đã ký chủ yếu ở định dạng der hoặc pem mà bạn cần định cấu hình trong máy chủ web Apache hoặc Nginx.

Tạo chứng chỉ tự ký

openssl req -x509 -sha256 -nodes -newkey rsa: 2048 -keyout gfelfsign.key -out gfcert.pem

Lệnh trên sẽ tạo chứng chỉ tự ký và tệp chính với RSA 2048 bit. Tôi cũng đã bao gồm sha256 vì nó được coi là an toàn nhất vào lúc này.

Tiền boa: theo mặc định, nó sẽ tạo chứng chỉ tự ký chỉ có hiệu lực trong một tháng để bạn có thể xem xét việc xác định tham số Ngày hôm nay để mở rộng hiệu lực.

Ví dụ: để tự ký có hiệu lực trong hai năm.

openssl req -x509 -sha256 -nodes -day 730 -newkey rsa: 2048 -keyout gfelfsign.key -out gfcert.pem

Xác minh tệp CSR

openssl req -noout -text -in geekflare.csr

Xác minh là điều cần thiết để đảm bảo bạn đang gửi CSR cho cơ quan phát hành với các chi tiết bắt buộc.

Tạo khóa riêng RSA

openssl genrsa -out private.key 2048

Nếu bạn chỉ cần tạo khóa riêng RSA, bạn có thể sử dụng lệnh trên. Tôi đã bao gồm 2048 để mã hóa mạnh hơn.

Xóa cụm mật khẩu khỏi khóa

openssl rsa -in certkey.key -out nopassphrase.key

Nếu bạn đang sử dụng cụm mật khẩu trong tệp chính và sử dụng Apache thì mỗi lần bạn bắt đầu, bạn phải nhập mật khẩu. Nếu bạn cảm thấy khó chịu với việc nhập mật khẩu, thì bạn có thể sử dụng openssl rsa -in geekflare.key -check để xóa khóa cụm mật khẩu khỏi khóa hiện có.

Xác minh khóa riêng

openssl rsa -in certkey.key

Nếu bạn nghi ngờ về tệp chính của mình, bạn có thể sử dụng lệnh trên để kiểm tra.

Xác nhận tập tin chứng chỉ

openssl x509 -in certfile.pem -text Từ chối

Nếu bạn muốn xác thực dữ liệu chứng chỉ như CN, OU, v.v. thì bạn có thể sử dụng một lệnh trên sẽ cung cấp cho bạn chi tiết chứng chỉ.

Xác nhận Cơ quan ký chứng chỉ

openssl x509 -in certfile.pem -noout -issuer -issuer_hash

Cơ quan cấp chứng chỉ ký mọi chứng chỉ và trong trường hợp bạn cần kiểm tra chúng.

Kiểm tra giá trị băm của chứng chỉ A

openssl x509 -noout -hash -in bestflare.pem

Chuyển đổi định dạng DER sang PEM

openssl x509Vinform der derin sslcert.der Cấmout sslcert.pem

Thông thường, tổ chức chứng nhận sẽ cung cấp cho bạn chứng chỉ SSL ở định dạng .der và nếu bạn cần sử dụng chúng ở định dạng apache hoặc .pem thì lệnh trên sẽ giúp bạn.

Chuyển đổi định dạng PEM sang DER

openssl x509 từoutout der derin sslcert.pem ănout sslcert.der

Trong trường hợp bạn cần thay đổi định dạng .pem thành .der

Chuyển đổi Chứng chỉ và Khóa riêng sang định dạng PKCS # 12

openssl pkcs12 từexexportoutout sslcert.pfxTHERinkey key.pem Khănin sslcert.pem

Nếu bạn cần sử dụng chứng chỉ với ứng dụng java hoặc với bất kỳ ai khác chỉ chấp nhận định dạng PKCS # 12, bạn có thể sử dụng lệnh trên, sẽ tạo chứng chỉ chứa pfx duy nhất & tài liệu quan trọng.

Tiền boa: bạn cũng có thể bao gồm chứng chỉ chuỗi bằng cách chuyển qua Bitcoinchain như dưới đây.

openssl pkcs12 từexexportoutout sslcert.pfx mậtinkey key.pem Khănin sslcert.pem -chain cacert.pem

Tạo CSR bằng khóa riêng hiện có

openssl reqiêuout cert.csriêukey hiện.key

Nếu bạn không muốn tạo khóa riêng mới thay vì sử dụng khóa hiện có, bạn có thể thực hiện bằng lệnh trên.

Kiểm tra nội dung của chứng chỉ định dạng PKCS12

openssl pkcs12 từ chối thông tin điện tử certin cert.p12

PKCS12 là định dạng nhị phân, do đó, bạn đã giành chiến thắng có thể xem nội dung trong notepad hoặc trình chỉnh sửa khác. Lệnh trên sẽ giúp bạn xem nội dung của tệp PKCS12.

Chuyển đổi định dạng PKCS12 sang chứng chỉ PEM

openssl pkcs12 hungin cert.p12 hungout cert.pem

Nếu bạn muốn sử dụng định dạng pkcs12 hiện có với Apache hoặc chỉ ở định dạng pem, điều này sẽ hữu ích.

Kiểm tra chứng chỉ SSL của URL cụ thể

openssl s_client -connect yoururl.com:443

Tôi sử dụng điều này khá thường xuyên để xác thực chứng chỉ SSL của URL cụ thể từ máy chủ. Điều này rất thuận tiện để xác nhận các chi tiết về giao thức, mật mã và chứng chỉ.

Tìm hiểu phiên bản OpenSSL

phiên bản openssl

Nếu bạn chịu trách nhiệm đảm bảo OpenSSL an toàn thì có lẽ một trong những điều đầu tiên bạn phải làm là xác minh phiên bản.

Kiểm tra ngày hết hạn chứng chỉ tệp PEM

openssl x509 -noout -in cert.pem -dates

Hữu ích nếu bạn đang dự định đặt một số giám sát để kiểm tra tính hợp lệ. Nó sẽ hiển thị cho bạn ngày theo cú pháp notB Before và notAfter. Không phải sau khi bạn sẽ phải xác minh để xác nhận xem chứng chỉ đã hết hạn hay vẫn còn hiệu lực.

Ví dụ:

[[email được bảo vệ] opt] # openssl x509 -noout -in bestflare.pem -dates
không phải trước= 4 tháng 4 14:02:45 2015 GMT
không phải sau khi= Ngày 4 tháng 8 09:46:42 2015 GMT
[[email được bảo vệ] opt]#

Kiểm tra ngày hết hạn chứng chỉ của URL SSL

openssl s_client -connect safeurl.com:443 2>/ dev / null | openssl x509 -không raendendendate

Một cách hữu ích khác nếu bạn dự định theo dõi ngày hết hạn chứng chỉ SSL hoặc URL cụ thể.

Ví dụ:

[[email được bảo vệ] opt] # openssl s_client -connect google.com:443 2>/ dev / null | openssl x509 -không ra -enddate

không phải sau khi= Ngày 8 tháng 12 00:00:00 GMT GMT

Kiểm tra xem SSL V2 hoặc V3 có được chấp nhận trên URL không

Để kiểm tra SSL V2

openssl s_client -connect safeurl.com:443 -ssl2

Để kiểm tra SSL V3

openssl s_client -connect safeurl.com:443 Mạnhssl3

Để kiểm tra TLS 1.0

openssl s_client -connect safeurl.com:443

Để kiểm tra TLS 1.1

openssl s_client -connect safeurl.com:443 Khăntls1_1

Để kiểm tra TLS 1.2

openssl s_client -connect safeurl.com:443 Khăntls1_2

Nếu bạn đang bảo mật máy chủ web và cần xác thực nếu SSL V2 / V3 được bật hay không, bạn có thể sử dụng lệnh trên. Nếu được kích hoạt, bạn sẽ nhận đượcKẾT NỐIKhác người khácthất bại bắt tay.Giáo dục

Xác minh nếu mật mã cụ thể được chấp nhận trên URL

openssl s_client -codes ‘ECDHE-ECDSA-AES256-SHA’ -connect an toàn: 443

Nếu bạn đang làm việc trên các kết quả bảo mật và kết quả kiểm tra bút cho thấy một số mật mã yếu được chấp nhận sau đó để xác thực, bạn có thể sử dụng lệnh trên.

Tất nhiên, bạn sẽ phải thay đổi mật mã và URL mà bạn muốn kiểm tra. Nếu mật mã được đề cập được chấp nhận, thì bạn sẽ nhận đượcKẾT NỐIKhác người khácthất bại bắt tay.Giáo dục

Tôi hy vọng các lệnh trên giúp bạn biết thêm về OpenSSL để quản lý Chứng chỉ SSL cho trang web của bạn.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me