“Kunci pribadi tidak ada atau tidak valid saat mengimpor sertifikat” di Google Chrome

25

Saya ingin menguji aplikasi web saya di https localhost. Sayangnya sepertinya tidak mungkin untuk menghapus peringatan sertifikat dari chrome. Pertama, saya membuat sertifikat seperti ini:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/localhost-selfsigned.key -out /etc/ssl/certs/localhost-selfsigned.crt

Lalu saya ingin menambahkannya ke Chrome, pengaturan> lanjutan> kelola sertifikat -> impor. Saya mencoba mengimpor file .crt yang dibuat sebelumnya dan yang saya dapatkan hanyalah ini:

Kesalahan impor sertifikat: Kunci Pribadi untuk Sertifikat Klien ini hilang atau tidak valid.

Saya meng-google-nya, tetapi ternyata tidak ada yang membantu.

Saya juga telah mencoba mengaktifkan flag allow-insecure-localhost dan buka chrome dengan --ignore-certificate-errorstetapi masih menunjukkan peringatan dan https rusak

Apakah ada cara lain atau saya melakukan sesuatu yang salah dengan sertifikat?

Maciej Krawczyk
sumber
Apakah Anda juga mengimpor /etc/ssl/private/localhost-selfsigned.keyfile? Itu adalah kunci pribadi.
Zoredache
1
Browser membutuhkan kunci publik, bukan kunci pribadi.
Arjan
2
Biasanya Anda akan membuat sertifikat server yang ditandatangani sendiri dan menginstalnya di perangkat lunak server HTTP tempat Anda melayani aplikasi web. Sertifikat sisi-klien (pengguna) yang dipasang di browser web dapat digunakan untuk mengautentikasi pengguna ketika masuk ke aplikasi web, tetapi sangat jarang. Sebagian besar situs / aplikasi menggunakan otentikasi nama pengguna / kata sandi, bukan sertifikat pengguna / klien.
Spiff
Bisakah Anda menggunakan sertifikat ini untuk menayangkan konten melalui https dan terlihat seperti apa ketika diekspor dari browser? harus konten yang sama.
cghislai
1
Juga, mungkin Anda mengimpor dari tab yang salah. cobalah untuk beralih ke tab server sebelum mengklik tombol impor
cghislai

Jawaban:

29

Saya pikir apa yang Anda coba lakukan adalah menambahkannya ke toko sertifikat yang salah. Jika Anda mencoba menambahkannya di bawah "Sertifikat Anda", Anda akan memiliki waktu yang buruk. Tab itu untuk menambahkan sertifikat identitas; apa yang ditawarkan browser Anda ke server untuk menetapkan identitas browser.

Apa yang saya pikir ingin Anda lakukan, berdasarkan deskripsi Anda, adalah Anda ingin browser Anda mempercayai sertifikat yang ditandatangani sendiri yang akan ada di server Anda. Jika itu masalahnya, Anda perlu menambahkannya di tab "Otoritas" Anda.

Erik
sumber
1
Tidak bekerja untuk saya
Alexandre Bourlier
3
ini berfungsi pada Chrome v64. Anda mengimpor .crt di bawah tab "Otoritas" seperti yang ditunjukkan oleh @Erik. Catatan: FireFox tidak memberi Anda kerumitan ini
lasec0203
2
Tab Otoritas untuk sertifikat CA. Sertifikat non-CA seharusnya ada di tab Server. Meskipun Anda tidak bisa , misalnya, secara manual menambahkan sertifikat non-CA di Chromium 65.0.3325.162.
x-yuri
1
Mengimpor melalui tab "Otoritas" memecahkan masalah saya.
K-Gun
FireFox memberi saya keramaian yang sama dan tidak ada yang berhasil kecuali baik-baik saja.
Zap