Tôi đã thiết lập SSL trên máy chủ web của mình, bây giờ tôi cần hai tệp:
- một chứng chỉ
- một chứng chỉ khóa
Làm cách nào để tạo chứng chỉ tự ký cho mục đích thử nghiệm?
Tôi đã thiết lập SSL trên máy chủ web của mình, bây giờ tôi cần hai tệp:
Làm cách nào để tạo chứng chỉ tự ký cho mục đích thử nghiệm?
Câu trả lời:
Ubuntu, thậm chí là hương vị 'tối thiểu', đi kèm với ssl-cert
gói được cài đặt sẵn, điều đó có nghĩa là bạn không cần phải làm gì cả.
Các tệp bạn đang tìm kiếm đã có trên hệ thống của bạn:
/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key
Nâng cao:
Nếu vì lý do nào đó bạn cần tạo chứng chỉ mới, bạn có thể chạy
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Nếu bạn muốn thay đổi ngày hết hạn của chứng chỉ, bạn có thể thao tác tập lệnh make-ssl-cert tại /usr/sbin/make-ssl-cert
. Khoảng 124 có một dòng tương tự như thế này:
openssl req -config $TMPFILE -new -x509 -nodes \
Nơi bạn có thể thay đổi ngày hết hạn bằng cách thêm -days
đối số:
openssl req -config $TMPFILE -new -days 365 -x509 -nodes \
Nhiều tùy chọn có thể được tìm thấy trong trang hướng dẫn củareq
.
/usr/share/ssl-cert/ssleay.cnf
.
www.test.mydomain.com
) bằng cách sử dụng hostname
lệnh trong VM CLI. Sau đó, tạo lại khóa như bạn đề xuất, với --force-overwrite
Tên chung (CN) của khóa đó khớp với url kiểm tra. Cuối cùng, trên máy chủ, cài đặt khóa làm Cơ quan cấp chứng chỉ gốc đáng tin cậy (trong Cài đặt / Nâng cao của Chrome) đã cho tôi thanh địa chỉ màu xanh lá cây được thèm muốn.
make-ssl-cert
lệnh đã lưu lại ngày cho tôi!
Như đã đề cập, Ubuntu Server đi kèm với các công cụ cần thiết. Tùy thuộc vào phiên bản máy chủ của bạn, bạn sẽ phải tìm tài liệu cụ thể . Tôi sẽ cố gắng tóm tắt quá trình tạo chứng chỉ tự ký của LTS hiện tại (12.04) .
Trước tiên, bạn tạo các khóa cho Yêu cầu ký chứng chỉ (CSR):
openssl genrsa -des3 -out server.key 2048
Tùy thuộc vào bạn để nhập cụm mật khẩu hay không. Nếu bạn làm như vậy, mỗi khi bạn (bắt đầu) bắt đầu một dịch vụ sử dụng chứng chỉ đó, bạn sẽ phải cung cấp cụm mật khẩu. Otoh bạn có thể tạo khóa "không an toàn" mà không cần cụm mật khẩu từ khóa an toàn:
openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key
Và bây giờ bạn sẽ tạo CSR từ khóa. Với CSR và khóa, chứng chỉ tự ký có thể được tạo:
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Bước cuối cùng bao gồm cài đặt chứng chỉ và khóa, trong Debian / Ubuntu thường là /etc/ssl
:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Và cuối cùng, các ứng dụng sử dụng chứng chỉ / khóa phải được cấu hình tương ứng.