Saya menjalankan apache di Ubuntu 14.04 dan mencoba menerapkan SSL. Bantuan apa pun akan sangat dihargai.
default-ssl.conf memiliki:
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.csr
Ketika saya me-restart apache, pesan kesalahan di /var/log/apache2/error.log adalah:
[Sun Feb 01 19:31:06.443226 2015] [ssl:error] [pid 30927] AH02203: Init: Private key not found
[Sun Feb 01 19:31:06.443408 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443424 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 er$
[Sun Feb 01 19:31:06.443435 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443447 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443458 2015] [ssl:error] [pid 30927] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Sun Feb 01 19:31:06.443468 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443479 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443487 2015] [ssl:emerg] [pid 30927] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more inf$
apache-2.2
ubuntu
ssl
mikesynan
sumber
sumber
Jawaban:
PERINGATAN: Jangan pernah memposting kunci pribadi Anda di internet. Jangan bahkan menyalinnya ke komputer lain, workstation dll. Itu harus dijaga kerahasiaannya.
SSLCertificateKeyFile membutuhkan Kunci Pribadi. Kunci ini biasanya dihasilkan sebelum CSR atau pada saat yang sama. Cari file yang dimulai dengan baris yang berisi:
BEGIN PRIVATE KEY
CSR (permintaan penandatanganan sertifikat) diperlukan hanya ketika Anda meminta untuk menandatangani sertifikat. Setelah itu Anda bisa membuangnya.
Jika Anda kehilangan Kunci Privat Anda perlu membuat Kunci Privat baru, kemudian menghasilkan CSR baru dan meminta CA (otoritas sertifikat) untuk menandatangani CSR lagi.
sumber
Inilah masalahnya:
Anda menempatkan file permintaan penandatanganan sertifikat (CSR) di sini karena kesalahan. Anda harus meletakkan di sana file kunci pribadi yang Anda gunakan untuk menghasilkan CSR. File kunci pribadi itu tidak boleh dilindungi kata sandi, jika tidak, Anda harus mengetikkan kata sandi setiap kali Anda memulai kembali Apache.
Untuk manfaat generasi yang akan datang, berikut adalah ringkasan singkat tentang cara menghasilkan CSR-s dengan OpenSSL (tutorial yang baik tersedia dari dokumentasi Ubuntu ):
1) Hasilkan kunci server:
Ini mengharuskan Anda menentukan kata sandi.
2) Membuat kunci pribadi tanpa kata sandi, masukkan kata sandi yang Anda gunakan di atas saat diminta:
3) Hasilkan CSR dengan kunci pribadi tanpa kata sandi Anda:
di mana "mydomain.org" bisa menjadi domain Anda. Anda harus menjawab beberapa pertanyaan secara interaktif. Setelah selesai, Anda mengirim
mydomain.org.csr
file ke otoritas sertifikat Anda. Anda akan mendapatkan kembali*.crt
file atau*.pem
file. Mari kita asumsikan mereka memberi Andamydomain.org.crt
. Instal sebagai sertifikat Anda dan file kunci tanpa kata sandi sebagai kunci Anda (lokasi berlaku untuk Ubuntu 14.04, mereka mungkin berada di tempat lain di sistem lain, periksa dokumentasi Apache2):Dan akhirnya edit konfigurasi Apache2 (bisa jadi
default-ssl.conf
):Semoga ini membantu.
sumber
Saya tahu seseorang telah menjawab pertanyaan ini, tetapi saya ingin orang lain tahu apa yang terjadi pada saya ketika saya mendapatkan kesalahan ini.
Dalam kasus saya, saya keliru memiliki SSLCertificateFile daripada SSLCertificateChainFile untuk bundel sertifikat saya. Kesalahan ini terus muncul dan membuat saya loop. Saya terus berpikir kunci pribadi saya salah.
sumber
Saya tahu posting ini sudah tua, tetapi saya pikir saya harus menambahkan lebih banyak karena ini adalah tautan pertama di pencarian google tentang kesalahan - "Init: Kunci pribadi tidak ditemukan"
Saya pernah melihat ini terjadi sebelumnya dan ternyata itu adalah kunci pribadi yang buruk. Saya menggunakan strace untuk melacak apache kunci pribadi terakhir yang mencoba memuat. Setelah saya menghapusnya dari direktori ssl dan httpd.conf, Apache memulai kembali tanpa masalah.
Kunci SSL Buruk: -rw-r ----- 1 root 754974732 1.7K 31 Mei 1987 /var/cpanel/ssl/installed/keys/c129e_4ed23_b7c0d7f821952179fc8006506ab06b72.key
Lingkungan: OS: CentSO 6.9 Panel Kontrol: cPanel 11.64 Apache Versi 2.2
tl;dr: Find the bad private key that Apache is trying to load and backup it up and remove it from Apache's configuration file.
Saya harap ini membantu!
sumber
code
. Terima kasih telah berkontribusi.Saya memutar roda saya yang satu ini sebentar, tetapi pastikan Anda memiliki file kunci pribadi yang lengkap. Ternyata saya memiliki beberapa garis yang hilang dari tambang.
Perintah untuk memeriksa kunci pribadi Anda adalah:
ganti /etc/httpd/certs/server.key dengan path lengkap ke kunci pribadi server Anda dan jika semuanya baik Anda akan melihat:
Semoga ini bisa membantu seseorang dan btw, server saya adalah CentOS 7.6 dengan Apache / 2.4.6
sumber