Cách tạo chứng chỉ tự ký với OpenSSL

Cách tạo chứng chỉ tự ký với OpenSSL
Độc giả như bạn giúp hỗ trợ MUO. Khi bạn mua hàng bằng các liên kết trên trang web của chúng tôi, chúng tôi có thể kiếm được hoa hồng liên kết. Đọc thêm.

Chứng chỉ SSL/TLS rất cần thiết để bảo mật ứng dụng web hoặc máy chủ của bạn. Mặc dù một số cơ quan cấp chứng chỉ đáng tin cậy cung cấp chứng chỉ SSL/TLS có tính phí, nhưng cũng có thể tạo chứng chỉ tự ký bằng OpenSSL. Mặc dù các chứng chỉ tự ký thiếu sự chứng thực của cơ quan đáng tin cậy nhưng chúng vẫn có thể mã hóa lưu lượng truy cập web của bạn. Vậy làm cách nào bạn có thể sử dụng OpenSSL để tạo chứng chỉ tự ký cho trang web hoặc máy chủ của mình?





LÀM VIDEO TRONG NGÀY CUỘN ĐỂ TIẾP TỤC VỚI NỘI DUNG

Cách cài đặt OpenSSL

OpenSSL là phần mềm mã nguồn mở. Nhưng nếu bạn không có nền tảng lập trình và lo lắng về quy trình xây dựng, thì nó có một chút thiết lập kỹ thuật. Để tránh điều này, bạn có thể tải xuống phiên bản mới nhất của mã OpenSSL, được biên dịch đầy đủ và sẵn sàng để cài đặt, từ trang web của slproweb .





Tại đây, chọn tiện ích mở rộng MSI của phiên bản OpenSSL mới nhất phù hợp với hệ thống của bạn.





  Ảnh chụp màn hình từ trang web slproweb để tải xuống OpenSSL

Ví dụ, xem xét OpenSSL tại D:\OpenSSL-Win64 . Bạn có thể thay đổi điều này. Nếu cài đặt hoàn tất, mở PowerShell với tư cách quản trị viên và điều hướng đến thư mục con có tên thùng rác trong thư mục mà bạn đã cài đặt OpenSSL. Để làm điều này, sử dụng lệnh sau:

 cd 'D:\OpenSSL-Win64\bin' 

Bây giờ bạn có quyền truy cập vào openssl.exe và có thể chạy nó theo cách bạn muốn.



  Chạy lệnh version để xem openssl đã được cài đặt chưa

Tạo khóa riêng của bạn với OpenSSL

Bạn sẽ cần một khóa riêng để tạo chứng chỉ tự ký. Trong cùng một thư mục bin, bạn có thể tạo khóa riêng này bằng cách nhập lệnh sau vào PowerShell sau khi bạn đã mở với tư cách quản trị viên.

trình đọc pdf tốt nhất cho windows 10
 openssl.exe genrsa -des3 -out myPrivateKey.key 2048 

Lệnh này sẽ tạo khóa riêng tư RSA được mã hóa 3DES, dài 2048 bit thông qua OpenSSL. OpenSSL sẽ yêu cầu bạn nhập mật khẩu. Bạn nên sử dụng một mật khẩu mạnh và đáng nhớ . Sau khi nhập cùng một mật khẩu hai lần, bạn sẽ tạo thành công khóa riêng RSA của mình.





  Đầu ra của lệnh được sử dụng để tạo khóa RSA

Bạn có thể tìm khóa RSA riêng của mình với tên myPrivateKey.key .

Cách tạo tệp CSR bằng OpenSSL

Riêng khóa riêng bạn tạo sẽ không đủ. Ngoài ra, bạn cần có tệp CSR để tạo chứng chỉ tự ký. Để tạo tệp CSR này, bạn cần nhập một lệnh mới trong PowerShell:





 openssl.exe req -new -key myPrivateKey.key -out myCertRequest.csr 

OpenSSL cũng sẽ hỏi mật khẩu bạn đã nhập để tạo khóa riêng tại đây. Nó sẽ tiếp tục yêu cầu thông tin cá nhân và pháp lý của bạn. Hãy cẩn thận bạn nhập thông tin này một cách chính xác.

  Đầu ra của lệnh được sử dụng để tạo tệp CSR

Ngoài ra, có thể thực hiện tất cả các thao tác cho đến nay chỉ bằng một dòng lệnh. Nếu sử dụng lệnh bên dưới, bạn có thể tạo cả khóa RSA riêng và tệp CSR cùng một lúc:

 openssl.exe req -new -newkey rsa:2048 -nodes -keyout myPrivateKey2.key -out myCertRequest2.csr 
  Đầu ra của lệnh được sử dụng để tạo các tệp RSA và CSR trong một lần

Bây giờ bạn sẽ có thể xem tệp có tên myCertRequest.csr trong thư mục liên quan. Tệp CSR bạn tạo này chứa một số thông tin về:

  • Tổ chức yêu cầu chứng chỉ.
  • Tên chung (tức là tên miền).
  • Khóa công khai (cho mục đích mã hóa).

Các tệp CSR bạn tạo cần được một số cơ quan nhất định xem xét và phê duyệt. Đối với điều này, bạn cần gửi trực tiếp tệp CSR đến cơ quan cấp chứng chỉ hoặc tổ chức trung gian khác.

Các cơ quan và nhà môi giới này kiểm tra xem thông tin bạn cung cấp có chính xác hay không, tùy thuộc vào bản chất của chứng chỉ bạn muốn. Bạn cũng có thể cần gửi một số tài liệu ngoại tuyến (fax, thư, v.v.) để chứng minh thông tin có chính xác hay không.

Chuẩn bị Giấy chứng nhận bởi Cơ quan Chứng nhận

Khi bạn gửi tệp CSR mà bạn đã tạo tới cơ quan cấp chứng chỉ hợp lệ, cơ quan cấp chứng chỉ sẽ ký vào tệp và gửi chứng chỉ cho tổ chức hoặc người yêu cầu. Khi làm như vậy, cơ quan cấp chứng chỉ (còn được gọi là CA) cũng tạo tệp PEM từ tệp CSR và RSA. Tệp PEM là tệp cuối cùng được yêu cầu cho chứng chỉ tự ký. Các giai đoạn này đảm bảo rằng Chứng chỉ SSL vẫn được tổ chức, đáng tin cậy và an toàn .

Bạn cũng có thể tự tạo tệp PEM bằng OpenSSL. Tuy nhiên, điều này có thể gây rủi ro tiềm ẩn đối với tính bảo mật của chứng chỉ của bạn vì tính xác thực hoặc tính hợp lệ của chứng chỉ sau này không rõ ràng. Ngoài ra, việc chứng chỉ của bạn không thể xác minh được có thể khiến chứng chỉ không hoạt động trong một số ứng dụng và môi trường. Vì vậy, đối với ví dụ về chứng chỉ tự ký này, chúng tôi có thể sử dụng tệp PEM giả, nhưng tất nhiên, điều này là không thể trong sử dụng trong thế giới thực.

Hiện tại, hãy tưởng tượng một tệp PEM có tên myPemKey.pem đến từ một cơ quan chứng nhận chính thức. Bạn có thể sử dụng lệnh sau để tạo tệp PEM cho mình:

 openssl x509 -req -sha256 -days 365 -in myCertRequest.csr -signkey myPrivateKey.key -out myPemKey.pem 

Nếu bạn có một tệp như vậy, lệnh bạn nên sử dụng cho chứng chỉ tự ký của mình sẽ là:

 openssl.exe x509 -req -days 365 -in myCertRequest.csr -signkey myPemKey.pem -out mySelfSignedCert.cer 

Lệnh này có nghĩa là tệp CSR được ký bằng khóa riêng có tên myPemKey.pem , có giá trị trong 365 ngày. Kết quả là bạn tạo một tệp chứng chỉ có tên mySelfSignedCert.cer .

  Hình ảnh chứng chỉ tự ký tồn tại trong thư mục

Thông tin chứng chỉ tự ký

Bạn có thể sử dụng lệnh sau để kiểm tra thông tin trên chứng chỉ tự ký mà bạn đã tạo:

 openssl.exe x509 -noout -text -in mySelfSignedCert.cer 

Thao tác này sẽ hiển thị cho bạn tất cả thông tin có trong chứng chỉ. Có thể thấy nhiều thông tin như công ty hoặc thông tin cá nhân và các thuật toán được sử dụng trong chứng chỉ.

Điều gì xảy ra nếu Chứng chỉ tự ký không được ký bởi Cơ quan cấp chứng chỉ?

Điều cần thiết là kiểm tra các chứng chỉ tự ký mà bạn tạo và xác nhận rằng chúng an toàn. Nhà cung cấp chứng chỉ bên thứ ba (tức là CA) thường thực hiện việc này. Nếu bạn không có chứng chỉ được ký và phê duyệt bởi cơ quan cấp chứng chỉ bên thứ ba và bạn sử dụng chứng chỉ chưa được phê duyệt này, bạn sẽ gặp phải một số vấn đề về bảo mật.

Chẳng hạn, tin tặc có thể sử dụng chứng chỉ tự ký của bạn để tạo một bản sao giả mạo của một trang web. Điều này cho phép kẻ tấn công đánh cắp thông tin của người dùng. Họ cũng có thể nắm giữ tên người dùng, mật khẩu hoặc thông tin nhạy cảm khác của người dùng của bạn.

Để đảm bảo tính bảo mật của người dùng, các trang web và các dịch vụ khác thường cần sử dụng các chứng chỉ thực sự được CA chứng nhận. Điều này đảm bảo rằng dữ liệu của người dùng được mã hóa và đang kết nối với đúng máy chủ.

Tạo chứng chỉ tự ký trên Windows

Như bạn có thể thấy, việc tạo chứng chỉ tự ký trên Windows bằng OpenSSL khá đơn giản. Nhưng hãy nhớ rằng bạn cũng sẽ cần sự chấp thuận của cơ quan chứng nhận.

Tuy nhiên, việc tạo chứng chỉ như vậy cho thấy bạn coi trọng vấn đề bảo mật của người dùng, nghĩa là họ sẽ tin tưởng bạn, trang web và thương hiệu tổng thể của bạn nhiều hơn.

điều gì xảy ra nếu bạn nói 112 với siri