[PKI] Hướng dẫn kiểm tra cặp private key và chứng chỉ SSL certificate có khớp nhau không ?

Khi bạn quản lý khá nhiều các chứng chỉ SSL (certificate) khác nhau, sẽ có lúc bạn dễ dàng mất kiểm soát sự quản lý liên kết của các thông tin file private keycertificate hoặc cũng có khi bạn nhận được certificateprivate key nhưng mà không biết cả 2 thông tin đó có khớp với nhau hay không ? Trường hợp khác, thì  các Web Server sẽ thông báo lỗi không thể cấu hình HTTPS SSL nếu thông tin Certificateprivate key được cấu hình không khớp với nhau.

Lúc đó bạn chỉ còn nước đi kiểm tra xem thông tin private keycertificate bạn muốn kiểm tra khớp nhau ra sao ? Thông tin nào sẽ giúp điều đó ? Bạn sẽ làm cách nào ?

Ok, ở đây mình sẽ hướng dẫn bạn làm việc đấy, chủ yếu là sử dụng câu lệnh “openssl” trên Linux để kiểm tra điều đó nhé.

 
1. Kiểm tra file Certificate và private key

Bạn kiểm tra hoặc lưu thông tin Certificate ở 1 file (vd: certificate.crt) và private key ở 1 file (vd: private_key.key). Lưu ý :

+ File chứa thông tin Certificate thường có cấu trúc sau

-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----

 
+ File chứa thông tin private key thường có cấu trúc sau

-----BEGIN PRIVATE KEY-----
....
-----END PRIVATE KEY-----

 

2. Thực hiện kiểm tra bằng “openssl”

Bạn hãy thực hiện 3 câu lệnh sau :
+ Đối với file chứng chỉ SSL (certificate)

# openssl x509 -noout -modulus -in certificate.crt | openssl md5

 
+ Đối với file private key

# openssl rsa -noout -modulus -in private_key.key | openssl md5

 
+ Đối với file CSR khi đăng ký SSL (cái này cũng không cần thiết lắm)

# openssl req -noout -modulus -in CSR.csr | openssl md5

Openssl sẽ hash md5 kết quả được xuất ra bởi câu lệnh trước đó (xuất thông tin modulus trong private key và certificate). Nếu cả 2 hoặc 3 kết quả xuất ra của câu lệnh trên đều trả về cùng 1 giá trị thông tin hash thì chứng tỏ các private key, certificate và file CSR là khớp với nhau, có thể an tâm sử dụng. Còn nếu không khớp với nhau ? @.@ , haiz thì kiểm tra lại thông tin private key đi , còn không đúng nữa thì khỏi sài thôi.

Thế thông tin “modulus” là gì ?

Nhìn chung thì bạn nào học về Mã Hoá thì rành hơn mình, theo mình hiểu thì có thể coi đó là một giá trị được sử dụng trong quá trình mã hoá và giải mã, chứa trong cả public keyprivate key. Nên nếu hai giá trị này không khớp nhau thì không thể nào giải mã thành công được.

Cám ơn các bạn đã theo dõi bài viết.

Previous article[Ebook] OpenVPN 2 Cookbook – Download PDF
Next article[Wireless] Lab 1 – Cấu hình cơ bản cho Access Point Cisco Aironet 1130AG
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !