Chỉ thị SSLCertertChainFile không được chấp nhận của Apache (AH02559)


8

Gần đây tôi đã nâng cấp Apache từ 2.2 lên 2.4 và tôi không thể tìm ra cách từ chối SSLCertificateChainFilechỉ thị.

Lỗi:

me@jessie:~$ sudo apache2ctl configtest 
AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/https.conf:103) is deprecated, SSLCertificateFile should be used instead
Syntax OK

Cài đặt hiện tại của tôi:

SSLCertificateFile    /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key
SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.sha2.ca.pem
SSLCACertificateFile /etc/apache2/cert/ca.pem

Chứng chỉ được ký bởi StartCOM. Hướng dẫn sử dụng cho biết, bây giờ toàn bộ chuỗi phải nằm trong một tệp, được chỉ định bởi lệnh SSLCertificateFile, nhưng tôi không biết phím nào và theo thứ tự nào tôi nên ghép vào tệp này.

Câu trả lời:


8

Cho rằng bạn đang sử dụng điều này trong cấu hình apache của bạn:

SSLCertificateFile    /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key

Các /etc/apache2/cert/ssl.crttập tin nên chứa

  1. Giấy chứng nhận của ví dụ yourdomain.com
  2. chứng chỉ CA trung gian đầu tiên, được ký bởi CA gốc (ví dụ: CA máy chủ trung cấp chính lớp 1)
  3. chứng chỉ CA trung gian thứ hai, được ký bởi CA trung gian thứ nhất (nếu có CA trung gian thứ hai trong chuỗi chứng chỉ của bạn)

Bạn cần đặt tất cả các chứng chỉ CA trung gian trong tệp crt. Tùy thuộc vào chuỗi chứng chỉ của chứng chỉ của bạn, sẽ có số lượng CA khác nhau được đưa vào.

Bạn thậm chí không cần thêm CA gốc, vì nó phải nằm trong kho tin cậy của bất kỳ khách hàng nào, nếu không, khách hàng sẽ nhận được một trang lỗi, ngoài ra, nếu bạn thêm nó vào chuỗi của mình, nó sẽ chỉ là chi phí bổ sung cho thiết lập các kết nối SSL, vì nó phải được chuyển cho mỗi phiên SSL mới. Trên thực tế, hầu hết khách hàng cũng sẽ cài đặt chứng chỉ CA trung gian, nhưng một số có thể không, ví dụ như điện thoại di động không có nhiều chứng chỉ CA trung gian, vì vậy tôi chắc chắn sẽ thêm chứng chỉ đó.

Các /etc/apache2/cert/ssl.keytập tin sẽ giữ nguyên, đó là, nó sẽ chứa khóa cho chứng chỉ của yourdomain.com


Được rồi, nếu tôi hiểu bạn chính xác, tôi nên tạo một tệp với thứ tự sau: 1) ssl.crt; 2) sub.group1.server.sha2.ca.pem; 3) cái gì? Vui lòng giải thích những chứng chỉ nào cần được thêm vào ở vị trí thứ ba (và có thể hơn nữa).
Chất dẫn truyền thần kinh

Điều đó phụ thuộc vào chuỗi thực tế, ý tôi là số lượng CA tham gia ký chứng chỉ của bạn. Chuỗi chỉ có thể bao gồm 2 CA. ví dụ Root CA và một CA trung gian. Nhưng nó có thể bao gồm Root CA và nhiều hơn một CA trung gian. Tệp ssl.crt của bạn phải chứa tất cả các chứng chỉ CA trung gian, từ trên xuống dưới. Vì lý do này, nó hoàn toàn phụ thuộc vào trường hợp cụ thể của bạn như thế nào ssl.crt của bạn sẽ trông như thế nào.
fholzer

Làm thế nào người ta có thể biết CA nào có liên quan đến việc ký chứng chỉ?
Chất dẫn truyền thần kinh

2
Xây dựng chuỗi không phải là chuyện nhỏ đối với người mới, tôi đoán vậy. Tôi thường chạy openssl x509 -subject -issuer -noout -in certificate.of.yourdomain.crtđến gặp nhà phát hành. Sau đó tôi tải xuống chứng chỉ phát hành từ trang web của CA của tôi, trong trường hợp của bạn: startedsl.com/certs . Sau đó chạy lệnh trên chứng chỉ đó. Lặp lại cho đến khi vấn đề bằng với chủ đề, có nghĩa là chứng chỉ tự ký và là chứng chỉ CA gốc. thêm tất cả các tệp ngoại trừ chứng chỉ CA gốc vào ssl.crt và bạn đã hoàn tất.
fholzer

Cảm ơn đã hỗ trợ, tôi đã theo dõi chuỗi và tạo chứng chỉ kết hợp. Nhưng vì một số lý do, bài kiểm tra Qualys SSL chỉ ra rằng, các máy khách kết nối với máy chủ của tôi, phải tải xuống thêm CA Máy chủ trung cấp chính StartCom Class 1, mà tôi chắc chắn đã bao gồm trong chứng chỉ kết hợp ( ảnh chụp màn hình ). Lạ nhỉ.
Chất dẫn truyền thần kinh

1

Được rồi, cuối cùng đã tìm ra nó gần đây và quyết định đăng chi tiết trong mẫu câu trả lời.

Bây giờ StartSSL đặt chứng chỉ vào kho lưu trữ zip khi bạn truy xuất nó và có rất nhiều tài liệu lưu trữ được bao gồm ở đó, một trong những mối quan tâm đặc biệt là ApacheServer.zip, một hình thức tương thích với Apache> 2.4. Các tệp trong thư mục Apache là:

1_root_bundle.crt
2_myhost.tld.crt

Bạn phải pha SSLCertificateFiletừ cả hai chứng chỉ này, nhưng theo thứ tự này:

cat 2_myhost.tld.crt 1_root_bundle.crt > myhost.tld_combined.crt

Vì vậy, trong trang web conf nó sẽ chỉ là:

    SSLCertificateFile    /etc/apache2/cert/myhost.tld_combined.crt
    SSLCertificateKeyFile /etc/apache2/cert/myhost.tld.key

Và tất cả sẽ tốt, ngay cả bài kiểm tra SSL Qualys .

Điều này hoạt động cho StartCom StartSSL, cũng như cho các chứng chỉ WoSign. Định dạng là như nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.