Arahan SSLCertificateChainFile yang sudah usang dari Apache (AH02559)

8

Baru-baru ini saya telah memutakhirkan Apache dari 2,2 ke 2,4 dan saya tidak tahu bagaimana cara menghentikan SSLCertificateChainFilearahan.

Kesalahan:

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

Pengaturan saya saat ini:

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

Sertifikat ditandatangani oleh StartCOM. Manual mengatakan, sekarang seluruh rantai harus dalam satu file, ditentukan oleh SSLCertificateFilearahan, tapi saya tidak tahu kunci apa dan dalam urutan apa saya harus menyatukan ke file ini.

Neurotransmitter
sumber

Jawaban:

8

Karena Anda menggunakan ini di konfigurasi apache Anda:

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

The /etc/apache2/cert/ssl.crtfile harus mengandung

  1. sertifikat misalnya domainAnda
  2. sertifikat CA menengah antara, ditandatangani oleh root CA (egStartCom Kelas 1 Server Menengah Primer CA)
  3. sertifikat CA menengah kedua, ditandatangani oleh CA menengah pertama (jika ada CA menengah kedua dalam rantai sertifikat Anda)

Anda harus memasukkan semua sertifikat perantara CA di file crt. Tergantung pada rantai sertifikat dari sertifikat Anda, akan ada sejumlah CA yang berbeda-beda.

Anda bahkan tidak perlu menambahkan root CA, karena harus berada di trust store klien mana pun, jika tidak klien akan mendapatkan halaman kesalahan, juga, jika Anda menambahkannya ke rantai Anda, itu hanya akan menjadi overhead tambahan untuk membuat koneksi SSL, karena harus ditransfer untuk setiap sesi SSL baru. Sebenarnya sebagian besar klien juga akan memiliki sertifikat CA menengah yang diinstal, tetapi beberapa mungkin tidak, misalnya ponsel tidak memiliki banyak sertifikat CA menengah, jadi saya pasti akan menambahkannya.

The /etc/apache2/cert/ssl.keyFile akan tetap sama, yaitu, itu akan berisi kunci untuk sertifikat yourdomain.com

fholzer
sumber
Oke, jika saya mengerti Anda dengan benar, saya harus membuat file dengan urutan sebagai berikut: 1) ssl.crt; 2) sub.class1.server.sha2.ca.pem; 3) apa? Tolong jelaskan sertifikat apa yang harus ditambahkan di tempat ketiga (dan mungkin lebih jauh).
Neurotransmitter
Itu tergantung pada rantai yang sebenarnya, maksud saya jumlah CA yang terlibat dalam menandatangani sertifikat Anda. Rantai hanya dapat terdiri dari 2 CA. mis. Root CA dan satu intermediate CA. Tetapi mungkin terdiri dari Root CA dan lebih dari satu CA perantara. File ssl.crt Anda harus berisi semua sertifikat CA menengah, dari atas ke bawah. Untuk alasan ini, itu benar-benar tergantung pada kasus spesifik Anda bagaimana seharusnya ssl.crt Anda.
fholzer
Bagaimana orang bisa tahu CA mana yang terlibat dalam penandatanganan sertifikat?
Neurotransmitter
2
Membangun rantai bukanlah hal sepele bagi seorang pemula, kurasa. Saya biasanya lari openssl x509 -subject -issuer -noout -in certificate.of.yourdomain.crtmenemui penerbit. Saya kemudian mengunduh sertifikat penerbitan dari situs web CA saya, dalam kasus Anda: startssl.com/certs . Kemudian jalankan perintah pada sertifikat itu. Ulangi sampai masalah sama dengan subjek, yang berarti sertifikat ditandatangani sendiri, dan merupakan sertifikat CA root. tambahkan semua file itu kecuali root CA cert ke ssl.crt dan selesai.
fholzer
Terima kasih atas dukungannya, saya telah mengikuti rantai dan menghasilkan sertifikat gabungan. Tetapi untuk beberapa alasan, uji SSL Qualys menunjukkan, bahwa klien yang terhubung ke host saya, harus mengunduh tambahan StartCom Class 1 Server Intermediate Primer CA, yang pasti saya sertakan dalam sertifikat gabungan ( tangkapan layar ). Itu aneh.
Neurotransmitter
1

Oke, akhirnya menemukan jawabannya akhir-akhir ini dan memutuskan untuk mengirim rincian dalam formulir jawaban.

Sekarang StartSSL menempatkan sertifikat dalam arsip zip ketika Anda mengambilnya dan ada banyak arsip yang disertakan di sana, salah satu yang menarik adalah ApacheServer.zip, formulir yang kompatibel dengan Apache> 2,4. File dalam folder Apache adalah:

1_root_bundle.crt
2_myhost.tld.crt

Anda harus menyeduh SSLCertificateFiledari kedua sertifikat ini, tetapi dalam urutan ini:

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

Jadi di conf situs itu akan adil:

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

Dan semuanya akan baik, bahkan Uji Qualys SSL .

Ini berfungsi untuk StartCom StartSSL, serta untuk sertifikat WoSign. Formatnya sama.

Neurotransmitter
sumber