Làm thế nào để tìm được private key của chứng chỉ SSL?

Bài viết cung cấp thông tin về khóa private key của chứng chỉ SSL từ định nghĩa lẫn cách có được private key.

Trước hết, chúng ta hãy đi qua một số vấn đề cơ bản. Toàn bộ khái niệm Cơ sở hạ tầng khóa công khai (PKI) dựa trên ý tưởng có hai khóa duy nhất – khóa công khai được mã hóa trong chứng chỉ SSL và khóa riêng được tạo trên máy chủ và được giữ bí mật. Tất cả thông tin được gửi từ khách truy cập trang web đến máy chủ được mã hóa bằng khóa công cộng và được giải mã ở phía máy chủ bằng khóa riêng. Để giữ tin nhắn riêng tư và không thể tiếp cận được đối với người thứ ba, cần phải sử dụng cặp khóa duy nhất và không thể tháo rời. Về cơ bản, một chìa khóa sẽ không hoạt động nếu không có một khóa khác.

Tôi lấy chìa khóa ở đâu?

Khóa riêng tư được tạo cùng với Yêu cầu ký chứng chỉ (CSR) của bạn. CSR được gửi đến cơ quan cấp chứng chỉ ngay sau khi bạn kích hoạt chứng chỉ của mình, trong khi khóa riêng phải được giữ an toàn và bảo mật trên máy chủ hoặc thiết bị của bạn. Sau đó, khóa này được sử dụng để cài đặt chứng chỉ của bạn.

Tôi có thể tạo một khóa riêng mới cho chứng chỉ của mình nếu tôi bị mất chứng chỉ cũ không?

Bạn chắc chắn có thể tạo khóa riêng và CSR mới, tuy nhiên, khóa sẽ không khớp với chứng chỉ đã được cấp. Để thực hiện công việc này, bạn sẽ cần sử dụng cặp CSR / khóa cá nhân mới để phát hành lại chứng chỉ.

Key trông như thế nào?

Nó trông giống như một mảng dữ liệu được mã hóa, bắt đầu và kết thúc với các tiêu đề, chẳng hạn như —– BEGIN RSA PRIVATE KEY —– và —– END RSA PRIVATE KEY —–.

Bạn có thể không thấy mã này khi tạo CSR của mình . Thông thường nó được tạo ra trong nền, đồng thời với CSR, và được lưu trên máy chủ của bạn. Nó cũng tự động điền vào trường tương ứng trong khi cài đặt chứng chỉ trong một số bảng điều khiển, chẳng hạn như cPanel.
Tuy nhiên, có rất nhiều trường hợp khác nhau tùy thuộc vào máy chủ web, bảng điều khiển hoặc bất kỳ công cụ nào khác được sử dụng để tạo CSR. Xem bên dưới để biết các ví dụ và gợi ý về cách tìm khóa riêng của bạn.

Tìm khóa riêng của bạn trên các máy chủ khác nhau hoặc bảng điều khiển

Hệ điều hành dựa trên Linux và máy chủ web (Apache, Nginx, LightHttpd)

Thông thường, các cặp khóa riêng tư CSR / RSA trên các hệ điều hành dựa trên Linux được tạo ra bằng cách sử dụng công cụ mã hóa OpenSSL và được lưu dưới dạng các tệp có phần mở rộng “.key” hoặc “.pem” trên máy chủ. Mặc dù, không có phần mở rộng cụ thể nào là bắt buộc đối với các tệp văn bản trong Linux, do đó, tệp khóa có thể có bất kỳ tên và tiện ích mở rộng nào hoặc không có tiện ích mở rộng nào cả.

Nếu bạn nhớ toàn bộ tên của tệp khóa hoặc ít nhất một phần của tệp đó, bạn có thể sử dụng lệnh sau trong bảng điều khiển của mình để thử và tìm tệp cũng như thư mục của tệp:

sudo find / -name “filename.key”

Biểu tượng dấu gạch chéo trong lệnh này ngụ ý rằng tìm kiếm bắt đầu từ thư mục gốc của máy chủ – theo cách này bạn có nhiều cơ hội hơn để tìm tệp thực. Tên của tệp trong dấu ngoặc đơn phải là một phần của tên mà bạn nhớ. Để tìm kiếm tệp theo phần mở rộng, bạn có thể nhập tên theo cách sau: “* .key” – điều này sẽ hiển thị cho bạn tất cả các tệp có đuôi .key trên máy chủ của bạn.

GỢI Ý: Thường tên của tệp tương ứng với tên miền được tạo cho, ví dụ “domain_tld.key” hoặc “domain.tld.pem”, v.v.

Một lệnh hữu ích khác cho phép bạn tìm kiếm tệp theo nội dung của chúng:

grep -r –exclude-dir=log –exclude-dir=ssh –exclude=*history -I -l -e ‘—–BEGIN PRIVATE*’ -e ‘—–BEGIN RSA*’ -e ‘—–BEGIN EC*’ [search_start_folder] 2> /dev/null

Lệnh này sẽ trả về đường dẫn tuyệt đối cho tệp khóa riêng tư, nếu nó hiện diện trên máy chủ của bạn.

Hệ điều hành Windows (IIS, Exchange, máy chủ doanh nghiệp nhỏ)

Máy chủ Windows không cho phép bạn xem khóa riêng ở định dạng văn bản thuần túy. Khi bạn nhập chứng chỉ của mình qua MMC hoặc IIS, khóa cá nhân tương ứng sẽ tự động được liên kết với nó, nếu cặp CSR / Key đã được tạo trên cùng một máy chủ.

Tuy nhiên, nếu cần thiết phải lấy khóa riêng và cài đặt chứng chỉ trên một máy chủ khác, bạn có thể xuất khóa trong tệp PFX (PKCS # 12) được bảo vệ bằng mật khẩu. Để thực hiện điều đó, bạn nên mở snap-in MMC Certificates theo các bước sau:

Win+R > mmc.exe > OK > File > Add/Remove Snap-in > Certificates > Add > Computer account > Next > Local computer > Finish > OK

Sau đó, đi đến Certificate Enrollment Requests> Certificates (nếu bạn chưa hoàn thành yêu cầu chứng chỉ) hoặc Personal> Certificates (nếu bạn đã làm), nhấn chuột phải vào chứng chỉ, sau đó All Tasks> Export. Trình hướng dẫn xuất sẽ mở và bạn sẽ có thể xuất chứng chỉ theo hướng dẫn trong đó. Bạn có thể tìm thêm hướng dẫn chi tiết tại đây .

privatki2.png

Sau khi hoàn tất, bạn sẽ có tệp .pfx chứa chứng chỉ, nhóm CA và khóa cá nhân của bạn. Để lấy chìa khóa, bạn có thể sử dụng công cụ này . Chọn tùy chọn “PKCS12 đến PEM”, tải tệp lên và nhập mật khẩu bạn đã đặt cho nó.

Mac OS X

Công cụ Keychain trong ứng dụng Máy chủ của Mac OS X không cho phép bạn lấy khóa riêng thông qua giao diện người dùng đồ họa. Bạn có thể làm điều đó bằng cách sử dụng Terminal, bằng cách mở thư mục / etc / certificates / và mở tệp. Tên của nó phải giống như “* .key.pem”. Các lệnh đầu cuối sẽ như sau: cd / etc / certificates / , sau đó ls và sudo nano test.key.pem để mở tệp bạn tìm thấy.

Tomcat

Nếu trình kết nối SSL Tomcat của bạn được định cấu hình theo kiểu JSSE, khóa riêng phải nằm trong tệp kho khóa được bảo vệ bằng mật khẩu, có phần mở rộng .jks hoặc .keystore. Tệp này, không giống như trong hầu hết các trường hợp khác, được tạo trước CSR. Để lấy khóa riêng ra khỏi nó, cần chuyển đổi kho khóa thành tệp PFX bằng lệnh sau:

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -deststoretype PKCS12 -srcalias <jkskeyalias> -srcstorepass <jkspassword> -srckeypass <keypassword> -deststorepass <newp12password> -destkeypass <newkeypassword>

“Keystore.jks” nên được thay thế bằng tên kho khóa thực tế của bạn, “keystore.p12” sẽ là tên của tệp PKCS12 bạn sẽ nhận được. , và là bí danh, mật khẩu khóa và khóa được nhập trong quá trình tạo kho khóa. , và nên được thay thế bằng bí danh tệp JKS, mật khẩu và mật khẩu khóa riêng tư tương ứng. và sẽ được thay thế bằng mật khẩu bạn muốn đặt cho tệp PKCS12 mới và khóa cá nhân.

Sau khi tệp PKCS12 được tạo, bạn có thể chuyển đổi tệp này thành tệp PEM với các tệp CRT, CA-Bundle và KEY được tách riêng bằng công cụ này hoặc bằng lệnh sau trong terminal:

openssl pkcs12 -in keystore.p12 -nocerts -nodes -out private.key

“Private.key” có thể được thay thế bằng bất kỳ tên nào bạn muốn tệp khóa của mình có.

cPanel

Trong cPanel, khóa riêng của bạn có thể được truy xuất theo hai cách: thông qua trình đơn Quản lý SSL / TLS hoặc Trình quản lý tệp.

Sử dụng trình quản lý SSL / TLS

Trên trang chính cPanel, nhấp vào “Trình quản lý SSL / TLS” >> ”Khóa riêng tư”. Ở đó bạn sẽ thấy tất cả các khóa riêng từng được tạo ra trong cPanel của bạn. Để xem mã của khóa, bạn có thể nhấp vào “Xem và chỉnh sửa”. Nếu có một số phím trong menu đó, bạn có thể sao chép từng khóa và khớp với mã chứng chỉ của bạn bằng công cụ này .

Sử dụng Trình quản lý tập tin

Nhấp vào “Trình quản lý tệp” trên trang chủ của cPanel của bạn, sau đó tìm thư mục có tên “ssl” trong cây thư mục ở bên trái (xem ảnh chụp màn hình). Thư mục đó sẽ có một thư mục khác có tên là “chìa khóa” bên trong. Thư mục “Key” cũng chứa tất cả các khóa được tạo trong cPanel của bạn.

WHM

WHM lưu trữ khóa cá nhân và mã CSR của bạn trong trình đơn trình quản lý Bộ nhớ SSL. Bạn có thể tìm thấy nó nếu bạn nhấp vào “SSL / TLS” trên trang chủ và sau đó nhấp vào “Quản lý bộ nhớ SSL”. Để xem khóa riêng tư, bạn có thể nhấp vào biểu tượng kính lúp bên cạnh phím bạn cần trong cột “Khóa”.

Plesk

Nếu bạn làm theo “Domains”>> your domain >> SSL/TLS certificates, bạn sẽ thấy một trang như trang được hiển thị bên dưới. Biểu tượng khóa có thông báo “Phần khóa riêng được cung cấp” ngụ ý rằng có một khóa khớp trên máy chủ của bạn. Để có được nó ở định dạng văn bản thuần túy, bạn có thể nhấp vào tên của mục nhập và cuộn xuống trang cho đến khi bạn thấy mã khóa. Ngoài ra, bạn có thể nhấp vào biểu tượng mũi tên màu xanh ở bên phải. Điều này sẽ tải xuống tệp PEM, chứa khóa cá nhân, chứng chỉ và các tệp CA-Bundle của bạn, nếu chúng đã được nhập vào máy chủ trước đó. Các tập tin có thể được mở trong bất kỳ trình soạn thảo văn bản nào, chẳng hạn như Notepad.

 

Synology NAS DSM

Khi tạo CSR trong DSM Đồng bộ, khóa riêng tư được cung cấp cho bạn trong tệp ZIP ở bước cuối cùng. Mã khóa được chứa trong tệp server.key, có thể được mở bằng trình chỉnh sửa văn bản trên thiết bị của bạn.

Webmin

Webmin hoạt động như một giao diện người dùng đồ họa (GUI) trên giao diện dòng lệnh. Ngoài ra còn có một trình quản lý tệp gọi là Filemin, mà bạn có thể sử dụng để duyệt qua hệ thống tệp máy chủ và tìm tệp khóa cá nhân của bạn. Ngoài ra, bạn có thể đi đến “Others”>>”Command shell” và chạy lệnh find hoặc grep mà bạn có thể tìm thấy trong đoạn “Linux operating systems”.

VestaCP

Trên VestaCP, khóa riêng của bạn phải được lưu trong quá trình tạo CSR, vì nó sẽ không có sẵn ở bất cứ nơi nào thông qua giao diện người dùng đồ họa.

Mặc dù, có một cơ hội để lấy khóa riêng của bạn thông qua SSH. Nó được lưu dưới dạng tệp tạm thời trong thư mục “/ tmp”. Đường dẫn đến tệp có thể trông như sau: “/tmp/tmp.npAnkmWFcu/domain.com.key”. Xin lưu ý rằng các tệp trong thư mục / tmp bị xóa mỗi khi máy chủ của bạn được khởi động lại.

Để có được đường dẫn chính xác đến tệp khóa của bạn, bạn có thể thử sử dụng cùng một lệnh Linux cũ:

tìm / tmp-type f -name “domain.com.key”

“Domain.com” nên được thay thế bằng tên miền thực mà bạn đã tạo CSR.

Lệnh “grep” sẽ hoạt động tốt trong trường hợp này:

grep -r -I -l -e ‘—– BEGIN TƯ NHÂN *’ -e ‘—– BEGIN RSA *’ / tmp 2> / dev / null

DirectAdmin

Trong các phiên bản cập nhật của DirectAdmin, khóa riêng của bạn được lưu trên máy chủ và được tìm nạp trong trường “Paste a pre-generated certificate and key” trong khi cài đặt.

Nếu phần đó trống, điều đó có thể có nghĩa là CSR và khóa đã được tạo ở nơi khác hoặc khóa không được lưu trong DirectAdmin do trục trặc. Nếu đó là do trục trặc, bạn có thể thử truy xuất khóa thông qua SSH. Thông thường nó được lưu trong thư mục này:

/usr/local/directadmin/data/users//domains/.key, trong đó và là tên người dùng DirectAdmin của bạn và tên miền được đề cập tương ứng.

Webuzo

Bạn có thể tìm thấy phần quản lý SSL trên Webuzo trên trang chủ. Nếu bạn nhấp vào nút “Private Keys”, bạn sẽ thấy danh sách tất cả các khóa riêng được tạo trong Webuzo. Để xem mã khóa, bạn có thể nhấp vào biểu tượng bút chì ở bên phải trong cột “Tùy chọn” như được hiển thị trong ảnh chụp màn hình bên dưới:

Tóm lại – các cách để tìm khóa riêng của bạn hoàn toàn phụ thuộc vào giao diện của máy chủ web nơi bạn tạo CSR. Nếu các phương pháp được mô tả ở trên không giúp bạn tìm khóa riêng cho chứng chỉ của bạn, giải pháp duy nhất là tạo cặp khóa CSR / riêng tư mới và phát hành lại chứng chỉ của bạn và để đảm bảo khóa được lưu trên máy chủ / cục bộ của bạn máy tính lần này.

bình luận

Leave a Comment