Saya telah membuat sertifikat SSL yang ditandatangani sendiri untuk CN hosthost. Firefox menerima sertifikat ini setelah awalnya mengeluhkannya, seperti yang diharapkan. Chrome dan IE, bagaimanapun, menolak untuk menerimanya, bahkan setelah menambahkan sertifikat ke penyimpanan sertifikat sistem di bawah Root Tepercaya. Meskipun sertifikat terdaftar sebagai yang dipasang dengan benar ketika saya mengklik "Lihat informasi sertifikat" di sembulan HTTPS Chrome, sertifikat itu tetap menegaskan bahwa sertifikat tersebut tidak dapat dipercaya.
Apa yang harus saya lakukan agar Chrome menerima sertifikat dan berhenti mengeluh tentangnya?
google-chrome
ssl
certificate
self-signed
pjohansson
sumber
sumber
net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
.Jawaban:
2020-05-22 : Dengan hanya 6 perintah shell , Anda dapat melakukannya.
Tolong jangan mengubah pengaturan keamanan browser Anda.
Dengan kode berikut, Anda dapat (1) menjadi CA Anda sendiri, (2) kemudian menandatangani sertifikat SSL Anda sebagai CA. (3) Kemudian impor sertifikat CA (bukan sertifikat SSL, yang masuk ke server Anda) ke Chrome / Chromium. (Ya, ini bekerja bahkan di Linux.)
Untuk rekap:
myCA.pem
sebagai Otoritas dalam pengaturan Chrome Anda (Pengaturan> Kelola sertifikat> Otoritas> Impor).crt
file di server AndaLangkah ekstra (untuk Mac, setidaknya):
extendedKeyUsage=serverAuth,clientAuth
bawahbasicConstraints=CA:FALSE
, dan pastikan Anda mengatur "CommonName" sama seperti$NAME
ketika meminta pengaturanAnda dapat memeriksa pekerjaan Anda
sumber
-days 825
alih-alih-days 1825
karena superuser.com/questions/1492643/… , dan perlu dicatat bahwa untuk mengimpor sertifikat root ke Akses Rantai Kunci, Anda tidak perlu hanya "File > Impor file ", tetapi kemudian juga untuk menemukannya dalam daftar, klik kanan itu, perluas"> Percaya ", dan pilih" Selalu ".Hanya untuk
localhost
:Cukup tempel ini di chrome Anda:
Anda akan melihat teks yang disorot berbunyi: Izinkan sertifikat yang tidak valid untuk sumber daya dimuat dari localhost
Klik
Enable
.sumber
Ini bekerja untuk saya:
Chrome Settings > Show advanced settings > HTTPS/SSL > Manage Certificates
.Authorities
tab dan gulir ke bawah untuk menemukan sertifikat Anda di bawah Nama Organisasi yang Anda berikan ke sertifikat.Anda harus mendapatkan kunci hijau yang bagus di halaman Anda sekarang.
EDIT: Saya mencoba ini lagi pada mesin baru dan sertifikat tidak muncul di jendela Kelola Sertifikat hanya dengan melanjutkan dari halaman sertifikat merah yang tidak dipercaya. Saya harus melakukan hal berikut:
https://
dicoret merah), klik kunci> Informasi Sertifikat. CATATAN: pada versi chrome yang lebih baru, Anda harus membukaDeveloper Tools > Security
, dan memilihView certificate
.Details tab > Export
. PilihPKCS #7, single certificate
sebagai format file.Authorities tab > Import
dan pilih file yang Anda ekspor sertifikat, dan pastikan untuk memilihPKCS #7, single certificate
sebagai jenis file .sumber
Export
lagi tombol deskriptif yang berguna , ini sepertinya telah diganti denganCopy to file
tombol yang bagus . Mengapa 'ekspor' tidak disimpan, pikiran hanya mengejutkanPEMBARUAN UNTUK CHROME 58+ (DIREKSI 2017-04-19)
Pada Chrome 58, kemampuan untuk mengidentifikasi host menggunakan hanya
commonName
dihapus . Sertifikat sekarang harus digunakansubjectAltName
untuk mengidentifikasi host mereka. Lihat diskusi lebih lanjut di sini dan pelacak bug di sini . Di masa lalu,subjectAltName
hanya digunakan untuk sertifikat multi-host sehingga beberapa alat CA internal tidak memasukkannya.Jika sertifikat yang Anda tandatangani sendiri berfungsi dengan baik di masa lalu tetapi tiba-tiba mulai menghasilkan kesalahan di Chrome 58, inilah sebabnya.
Jadi, apa pun metode yang Anda gunakan untuk membuat sertifikat yang ditandatangani sendiri (atau sertifikat yang ditandatangani oleh CA yang ditandatangani sendiri), pastikan bahwa sertifikat server berisi
subjectAltName
dengan entri yang benarDNS
dan / atauIP
entri / entri, meskipun itu hanya untuk satu host .Untuk openssl, ini artinya konfigurasi OpenSSL Anda (
/etc/ssl/openssl.cnf
di Ubuntu) harus memiliki sesuatu yang mirip dengan yang berikut ini untuk satu host:atau untuk beberapa host:
Di penampil sertifikat Chrome (yang telah pindah ke tab "Keamanan" di bawah F12) Anda akan melihatnya terdaftar
Extensions
sebagaiCertificate Subject Alternative Name
:sumber
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My
/etc/opt/chrome/policies/managed/EnableCommonNameFallbackForLocalAnchors.json
dengan konten ini:{ "EnableCommonNameFallbackForLocalAnchors": true }
Extensions
sebagaiCertificate Subject Alternative Name
". Saya tidak melihat bagian "Ekstensi" ketika saya membuka tab Keamanan di alat dev F12 (Chrome 62). Apakah sudah dipindahkan ke tempat lain?Di Mac, Anda dapat menggunakan utilitas Akses Keychain untuk menambahkan sertifikat yang ditandatangani sendiri ke gantungan kunci Sistem, dan Chrome kemudian akan menerimanya. Saya menemukan petunjuk langkah demi langkah di sini:
Google Chrome, Mac OS X dan Sertifikat SSL yang Ditandatangani Sendiri
Pada dasarnya:
sumber
Always Trust
untuk bagian SSL. Pada dasarnya apa yang dikatakan @NeDark.Klik di mana saja di halaman dan ketik BYPASS_SEQUENCE
"
thisisunsafe
" adalah BYPASS_SEQUENCE untuk Chrome versi 65"
badidea
" Chrome versi 62 - 64."
danger
" dulu berfungsi di versi Chrome sebelumnyaAnda tidak perlu mencari kolom input, cukup ketik. Rasanya aneh tapi berhasil.
Saya mencobanya di Mac High Sierra.
Untuk mengecek apakah mereka mengubahnya lagi, buka Kode Sumber kromium terbaru
Untuk mencari BYPASS_SEQUENCE, saat ini terlihat seperti itu:
Sekarang mereka menyamarkannya, tetapi untuk melihat BYPASS_SEQUENCE yang asli, Anda dapat menjalankan baris berikut di konsol browser.
sumber
thisisunsafe
thisisunsafe
tampaknya hanya memiliki pengaruh untuk menambahkan situs ini ke pengecualian. (Bilah alamat masih mengatakan "Tidak aman" dengan warna merah.)Linux
Jika Anda menggunakan Linux, Anda juga dapat mengikuti halaman wiki resmi ini:
Pada dasarnya:
Sekarang, perintah berikut akan menambahkan sertifikat (di mana YOUR_FILE adalah file yang diekspor):
Untuk mendaftar semua sertifikat Anda, jalankan perintah berikut:
Jika masih tidak berfungsi, Anda dapat dipengaruhi oleh bug ini: Masalah 55050: Ubuntu SSL error 8179
PS Tolong pastikan juga sudah
libnss3-tools
, sebelum dapat menggunakan perintah di atas.Jika Anda belum memilikinya, silakan instal dengan:
Sebagai bonus, Anda dapat menggunakan skrip praktis berikut:
Pemakaian:
Penyelesaian masalah
Jalankan Chrome dengan
--auto-ssl-client-auth
parametergoogle-chrome --auto-ssl-client-auth
sumber
download_cert.sh
bisa sederhana ini:echo | openssl s_client -connect $1:443
Di Mac, Anda dapat membuat sertifikat yang sepenuhnya dipercaya oleh Chrome dan Safari di tingkat sistem dengan melakukan hal berikut:
Di atas menggunakan skrip berikut, dan file pendukung
v3.ext
, untuk menghindari kesalahan nama alternatif subjek hilangJika Anda ingin membuat sertifikat yang ditandatangani sendiri yang sepenuhnya tepercaya menggunakan otoritas root Anda sendiri, Anda dapat melakukannya menggunakan skrip ini.
buat_root_cert_and_key.sh
create_certificate_for_domain.sh
v3.ext
Satu langkah lagi - Cara membuat sertifikat yang ditandatangani sendiri dipercaya sepenuhnya di Chrome / Safari
Untuk memungkinkan sertifikat yang ditandatangani sendiri untuk dipercaya sepenuhnya di Chrome dan Safari, Anda perlu mengimpor otoritas sertifikat baru ke Mac Anda. Untuk melakukannya ikuti instruksi ini, atau instruksi yang lebih rinci tentang proses umum ini di situs web mitmproxy :
Anda dapat melakukan ini dengan 2 cara, di baris perintah, menggunakan perintah ini yang akan meminta kata sandi Anda:
atau dengan menggunakan
Keychain Access
aplikasi:dan sebagai bonus, jika Anda membutuhkan klien java untuk mempercayai sertifikat, Anda dapat melakukannya dengan mengimpor sertifikat Anda ke java keystore. Catatan ini akan menghapus sertifikat dari keystore jika sudah ada, karena perlu memperbarui jika terjadi perubahan. Tentu saja ini hanya untuk sertifikat yang diimpor.
import_certs_in_current_folder_into_java_keystore.sh
sumber
$ ./create_root_cert_and_key.sh
. macOS 10.12.4 dan OpenSSL 0.9.8zh 14 Jan 2016.$ openssl genrsa -out rootCA.key 2048
sebelum$ ./create_root_cert_and_key.sh
memperbaiki kesalahan "Kesalahan membuka kunci pribadi rootCA.key" saya mengalami.openssl req -new -newkey rsa:2048 -sha256 -nodes -key device.key -subj "$SUBJECT" -out device.csr
memberi saya kesalahan "Kesalahan membuka kunci perangkat PRIVATE.key" Saya pikir perintah ini seharusnya dibuatdevice.key
, tetapi tampaknya mencoba untuk membacanya karena alasan tertentu-key
ke-keyout
...openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout device.key -subj "$SUBJECT" -out device.csr
Di situs yang ingin Anda tambahkan, klik kanan ikon kunci merah di bilah alamat:
Klik tab berlabel Koneksi , lalu klik Informasi Sertifikat
Klik Rincian tab, klik tombol Copy untuk File ... . Ini akan membuka Wisaya Ekspor Sertifikat, klik Berikutnya untuk mendapatkan layar Format Ekspor File .
Pilih DER biner berkode X.509 (.CER) , klik Berikutnya
Klik Browse ... dan simpan file ke komputer Anda. Sebutkan sesuatu yang deskriptif. Klik Berikutnya , lalu klik Selesai .
Buka pengaturan Chrome, gulir ke bawah, dan klik Tampilkan pengaturan lanjutan ...
Di bawah HTTPS / SSL , klik Kelola sertifikat ...
Klik Akar Sertifikasi Otoritas Terpercaya tab, lalu klik Impor ... tombol. Ini membuka Wisaya Impor Sertifikat. Klik Next untuk sampai ke layar File to Import .
Klik Browse ... dan pilih file sertifikat yang Anda simpan sebelumnya, lalu klik Next .
Pilih Tempatkan semua sertifikat di toko berikut . Toko yang dipilih haruslah Otoritas Sertifikasi Root Tepercaya . Jika tidak, klik Browse ... dan pilih. Klik Berikutnya dan Selesai
Klik Ya pada peringatan keamanan.
Mulai ulang Chrome.
sumber
certmgr.msc
untuk menambah dan menghapus sertifikat.Jika Anda menggunakan mac dan tidak melihat tab ekspor atau cara mendapatkan sertifikat ini berfungsi untuk saya:
Klik "Informasi Sertifikat"
Sekarang Anda akan melihat ini:
Seret ikon sertifikat kecil itu ke desktop Anda (atau di mana saja).
Klik dua kali file .cer yang telah diunduh, ini akan mengimpornya ke gantungan kunci Anda dan membuka Akses Keychain ke daftar sertifikat Anda.
Dalam beberapa kasus, ini sudah cukup dan Anda sekarang dapat menyegarkan halaman.
Jika tidak:
Sekarang muat ulang halaman yang dimaksud dan itu harusnya diselesaikan! Semoga ini membantu.
Edit dari Wolph
Untuk membuatnya lebih mudah, Anda dapat menggunakan skrip ( sumber ) berikut:
Simpan skrip berikut sebagai
whitelist_ssl_certificate.ssh
:Jadikan skrip dapat dieksekusi (dari shell):
Jalankan skrip untuk domain yang Anda inginkan (cukup salin / tempel karya url lengkap):
sumber
DIPERBARUI 23 Apr20
Direkomendasikan oleh Tim Chromium
https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins#TOC-Testing-Powerful-Features
Solusi Cepat Super-Mudah
Ada frasa pintasan rahasia yang dapat diketik ke halaman kesalahan agar Chrome melanjutkan meskipun ada kesalahan keamanan: ini tidak aman (dalam versi Chrome yang lebih lama, ketik badidea , dan bahkan sebelumnya, bahaya ). DO NOT USE INI KECUALI ANDA MENGERTI PERSIS MENGAPA ANDA PERLU IT!
Sumber:
https://chromium.googlesource.com/chromium/src/+/d8fc089b62cd4f8d907acff6fb3f5ff58f168697%5E%21/
(CATATAN yang
window.atob('dGhpc2lzdW5zYWZl')
memutuskan untukthisisunsafe
)Versi terbaru dari sumber adalah @ https://chromium.googlesource.com/chromium/src/+/refs/heads/master/components/security_interstitials/core/browser/resources/interstitial_large.js dan
window.atob
fungsinya dapat dijalankan di konsol JS.Untuk latar belakang tentang mengapa tim Chrome mengubah frasa pintasan (pertama kali):
https://bugs.chromium.org/p/chromium/issues/detail?id=581189
Jika semuanya gagal (Solusi # 1)
Untuk sekali saja cepat jika opsi "Lanjutkan Saja" tidak tersedia, atau frasa pintasan tidak berfungsi, peretasan ini berfungsi dengan baik:
Izinkan kesalahan sertifikat dari
localhost
dengan mengaktifkan tanda ini (perhatikan Chrome perlu memulai ulang setelah mengubah nilai tanda):chrome://flags/#allow-insecure-localhost
(dan pilih jawaban https://stackoverflow.com/a/31900210/430128 oleh @Chris)
Jika situs yang ingin Anda hubungkan adalah
localhost
, Anda selesai. Jika tidak, siapkan terowongan TCP untuk mendengarkan pada port 8090 secara lokal dan sambungkan kebroken-remote-site.com
pada port 443, pastikan Anda telahsocat
menginstal dan menjalankan sesuatu seperti ini di jendela terminal:socat tcp-listen:8090,reuseaddr,fork tcp:broken-remote-site.com:443
Pergi ke https: // localhost: 8090 di browser Anda.
Jika semuanya gagal (Solusi # 2)
Mirip dengan "Jika semuanya gagal (Solusi # 1)", di sini kami mengonfigurasi proxy ke layanan lokal kami menggunakan ngrok . Karena Anda dapat mengakses terowongan ngrok http melalui TLS (dalam hal ini diakhiri oleh ngrok dengan sertifikat yang valid), atau melalui titik akhir non-TLS, browser tidak akan mengeluh tentang sertifikat yang tidak valid.
Unduh dan instal ngrok lalu paparkan melalui
ngrok.io
:ngrok akan memulai dan memberi Anda nama host yang dapat Anda sambungkan, dan semua permintaan akan dikirim kembali ke mesin lokal Anda.
sumber
Untuk lingkungan pengujian
Anda dapat menggunakan
--ignore-certificate-errors
sebagai parameter baris perintah saat meluncurkan chrome (Bekerja pada Versi 28.0.1500.52 di Ubuntu).Ini akan menyebabkannya mengabaikan kesalahan dan terhubung tanpa peringatan. Jika Anda sudah memiliki versi chrome yang berjalan, Anda harus menutup ini sebelum meluncurkan kembali dari baris perintah atau itu akan membuka jendela baru tetapi mengabaikan parameter.
Saya mengonfigurasi Intellij untuk meluncurkan chrome dengan cara ini saat melakukan debugging, karena server pengujian tidak pernah memiliki sertifikat yang valid.
Saya tidak akan merekomendasikan penjelajahan normal seperti ini, karena pemeriksaan sertifikat merupakan fitur keamanan yang penting, tetapi ini mungkin bermanfaat bagi sebagian orang.
sumber
Seperti yang telah dicatat oleh seseorang, Anda harus memulai kembali SEMUA Chrome, bukan hanya jendela peramban. Cara tercepat untuk melakukan ini adalah membuka tab untuk ...
chrome://restart
sumber
WINDOWS JUN / 2017 Windows Server 2012
Saya mengikuti jawaban @Brad Parks. Pada Windows Anda harus mengimpor rootCA.pem di toko Otoritas Sertifikat Akar Tepercaya.
Saya melakukan langkah-langkah berikut:
Di mana v3.ext adalah:
Kemudian, dalam kasus saya, saya memiliki aplikasi web yang di-host sendiri, jadi saya harus mengikat sertifikat dengan alamat IP dan port, sertifikat harus di toko MY dengan informasi kunci pribadi, jadi saya diekspor ke format pfx.
Dengan konsol mmc (File / Tambah atau Hapus Snap-in / Sertifikat / Tambah / Akun Computert / LocalComputer / OK) saya mengimpor file pfx di Personal store.
Kemudian saya menggunakan perintah ini untuk mengikat sertifikat (Anda juga bisa menggunakan alat HttpConfig):
certhash = Sertifikat Thumprint
appid = GUID (pilihan Anda)
Pertama saya mencoba mengimpor sertifikat "device.crt" pada Otoritas Sertifikat Akar Tepercaya dengan cara yang berbeda tetapi saya masih mendapatkan kesalahan yang sama:
Tetapi saya menyadari bahwa saya harus mengimpor sertifikat otoritas root, bukan sertifikat untuk domain. Jadi saya menggunakan konsol mmc (File / Tambah atau Hapus Snap-in / Sertifikat / Tambah / Akun Computert / LocalComputer / OK) saya mengimpor rootCA.pem di toko Otoritas Sertifikat Akar Tepercaya.
Mulai ulang Chrome dan lakukan lagi.
Dengan localhost:
Atau dengan alamat IP:
Satu-satunya hal yang tidak dapat saya capai adalah, cipher usang (kotak merah pada gambar). Bantuan dihargai pada titik ini.
Dengan makecert tidak mungkin menambahkan informasi SAN. Dengan New-SelfSignedCertificate (Powershell) Anda dapat menambahkan informasi SAN, itu juga berfungsi.
sumber
netsh http
langkah kecuali Anda menggunakan windows server. Juga saya tidak berpikir itu perlu untuk mengekspor file cert ke pfx.Tambahkan sertifikat CA di root CA Store yang tepercaya.
Buka chrome dan aktifkan bendera ini!
chrome://flags/#allow-insecure-localhost
Akhirnya, cukup gunakan domain * .me atau domain yang valid seperti * .com dan * .net dan pertahankan di file host. Untuk pengembang lokal saya, saya menggunakan * .me atau * .com dengan file host dipertahankan sebagai berikut:
Tambahkan ke host. C: / windows / system32 / drivers / etc / hosts
127.0.0.1 nextwebapp.me
Catatan: Jika browser sudah dibuka saat melakukan ini, kesalahan akan terus muncul. Jadi, silakan tutup browser dan mulai lagi. Lebih baik lagi, pergi penyamaran atau memulai sesi baru untuk efek langsung.
sumber
Apakah Anda yakin alamat situs yang dilayani sama dengan sertifikat? Saya memiliki masalah yang sama dengan Chrome dan sertifikat yang ditandatangani sendiri, tetapi pada akhirnya saya merasa sangat pilih-pilih tentang validasi nama domain pada sertifikat (sebagaimana mestinya).
Chrome tidak memiliki toko cert sendiri dan menggunakan milik Window. Namun Chrome tidak memberikan cara untuk mengimpor sertifikat ke toko sehingga Anda harus menambahkannya melalui IE.
Menginstal Sertifikat di Google Chrome
Menginstal Sertifikat di Internet Explorer
Lihat juga ini untuk beberapa pendekatan berbeda untuk membuat sertifikat yang ditandatangani sendiri (saya berasumsi Anda menggunakan IIS seperti yang belum Anda sebutkan).
Cara Membuat Sertifikat yang Ditandatangani Sendiri di IIS 7
sumber
Saya melanjutkan proses menggunakan apa yang disarankan oleh bjnord yaitu: Google Chrome, Mac OS X dan Sertifikat SSL yang Ditandatangani Sendiri
Apa yang ditampilkan di blog tidak berfungsi.
Namun, salah satu komentar di blog adalah emas:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain site.crt
Anda harus mengikuti blog tentang cara mendapatkan file cert, setelah itu Anda dapat menggunakan perintah di atas dan harus baik untuk melanjutkan.
sumber
GUI untuk mengelola sertifikat SSL pada Chromium di Linux TIDAK berfungsi dengan baik untuk saya. Namun, dokumen mereka memberikan jawaban yang benar. Caranya adalah dengan menjalankan perintah di bawah ini yang mengimpor sertifikat SSL yang ditandatangani sendiri. Cukup perbarui nama
<certificate-nickname>
dancertificate-filename.cer
, lalu mulai ulang chromium / chrome.Dari Documents:
Kutipan Dari: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux_cert_management.md
sumber
Filippo Valsorda menulis alat lintas platform
mkcert
,, untuk melakukan ini untuk banyak toko kepercayaan. Saya kira dia menulisnya untuk alasan yang sama bahwa ada begitu banyak jawaban untuk pertanyaan ini: itu adalah rasa sakit untuk melakukan hal yang "benar" untuk sertifikat SubjectAltName yang ditandatangani oleh CA root terpercaya.mkcert
termasuk dalam sistem manajemen paket utama untuk Windows, macOS, dan beberapa rasa Linux.sumber
Saat mengklik ikon kunci dicoret kecil di sebelah URL, Anda akan melihat kotak seperti ini:
Setelah mengklik tautan Informasi sertifikat , Anda akan melihat dialog berikut:
Ini memberi tahu Anda toko sertifikat mana yang benar, itu toko Otoritas Sertifikasi Root Tepercaya .
Anda bisa menggunakan salah satu metode yang dijabarkan dalam jawaban lain untuk menambahkan sertifikat ke toko itu atau menggunakan:
ROOT
adalah nama internal toko sertifikat yang disebutkan sebelumnya.cert.pem
adalah nama sertifikat yang Anda tandatangani sendiri.sumber
certutil -addstore -user "ROOT" cert.pem
Apakah Windows?Trusted Root Certification Authorities
tetapi masih ada masalah: imgur.com/a/mjlglVz imgur.com/a/n8BFH5S Windows 10, chrome 78Ini berhasil untuk saya. Lihat: http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/#.Vcy8_ZNVhBc
Di bilah alamat, klik kunci kecil dengan X. Ini akan memunculkan layar informasi kecil. Klik tombol yang mengatakan "Informasi Sertifikat."
Klik dan seret gambar ke desktop Anda. Sepertinya sertifikat kecil.
Klik dua kali. Ini akan memunculkan utilitas Keychain Access. Masukkan kata sandi Anda untuk membukanya.
Pastikan Anda menambahkan sertifikat ke gantungan kunci Sistem, bukan gantungan kunci masuk. Klik "Selalu Percaya," meskipun ini sepertinya tidak melakukan apa-apa.
Setelah ditambahkan, klik dua kali. Anda mungkin harus mengautentikasi lagi.
Luaskan bagian "Kepercayaan".
"Saat menggunakan sertifikat ini," setel ke "Selalu Percaya"
sumber
Saya mencoba semuanya dan apa yang membuatnya berhasil: Saat mengimpor, pilih kategori yang tepat, yaitu Otoritas Sertifikat Akar Tepercaya :
(Maaf itu Jerman, tapi ikuti saja gambar)
sumber
sumber
Pos ini sudah dibanjiri dengan tanggapan, tetapi saya membuat skrip bash berdasarkan beberapa jawaban lain untuk membuatnya lebih mudah untuk menghasilkan sertifikat TLS yang ditandatangani sendiri yang valid di Chrome (Diuji dalam
Chrome 65.x
). Semoga bermanfaat bagi orang lain.Setelah Anda memasang ( dan mempercayai ) sertifikat, jangan lupa untuk memulai ulang Chrome (
chrome://restart
)Alat lain yang patut dicoba adalah
cfssl
toolkit CloudFlare :sumber
Untuk membuat sertifikat yang ditandatangani sendiri pada Windows yang dipercayai oleh Chrome v58 dan versi yang lebih baru, luncurkan Powershell dengan hak istimewa yang tinggi dan ketik:
Setelah Anda melakukan ini, sertifikat akan disimpan ke sertifikat Komputer Lokal di bawah Personal \ Certificates .
Anda ingin menyalin sertifikat ini ke toko Otoritas Sertifikasi root Tepercaya \ Sertifikat .
Salah satu cara untuk melakukan ini: klik tombol start Windows, dan ketik
certlm.msc
. Lalu seret dan lepas sertifikat yang baru dibuat ke toko Otoritas Sertifikasi Root \ Certificates Tepercaya per tangkapan layar di bawah ini.sumber
Memperbaiki localhost SSL / HTTPS di mac / osx:
Klik kunci merah dengan tanda silang di bilah alamat Anda saat mencoba membuka lingkungan localhost https Anda. Akan ada membuka jendela dengan beberapa informasi tentang sertifikat.
Klik pada jendela informasi "Detail"
Tambahkan ke gantungan kunci 'Sistem' Anda (bukan gantungan kunci 'login' Anda yang dipilih secara default).
Buka gantungan kunci Anda (lagi) dan temukan sertifikatnya. Klik di atasnya dan pastikan Anda "Percaya" semua.
Mulai ulang krom dan itu akan berhasil.
sumber
security import filename.pem -k ~/Library/Keychains/login.keychain
. Grafik memberikan kesalahan -25294Saya mengalami masalah yang sama: Saya telah menginstal sertifikat ke toko Otoritas Tepercaya Windows, dan Chrome masih menolak sertifikat, dengan kesalahan
ERR_CERT_COMMON_NAME_INVALID
. Perhatikan bahwa ketika sertifikat tidak dipasang dengan benar di toko, kesalahannya adalahERR_CERT_AUTHORITY_INVALID
.Seperti yang ditunjukkan oleh nama kesalahan, komentar ini , dan pertanyaan ini , masalahnya terletak pada nama domain yang dinyatakan dalam sertifikat. Ketika diminta untuk "Nama Umum" saat membuat sertifikat, saya harus memasukkan nama domain yang saya gunakan untuk mengakses situs (
localhost
dalam kasus saya). Saya memulai ulang Chrome menggunakanchrome://restart
dan akhirnya senang dengan sertifikat baru ini.sumber
--allow-insecure-localhost
Pada Chrome 58+ saya mulai mendapatkan kesalahan sertifikat pada macOS karena SAN hilang. Berikut adalah cara mendapatkan kunci hijau pada bilah alamat lagi.
Hasilkan sertifikat baru dengan perintah berikut:
Impor
server.crt
ke KeyChain Anda, lalu klik dua kali pada sertifikat, perluas Trust , dan pilih Always TrustPerbarui halaman https://domain.dev di Google Chrome, jadi kunci hijau sudah kembali.
sumber
api.domain.dev
tetapi saya masih memiliki halaman peringatan didomain.dev
:This server could not prove that it is domain.dev; its security certificate is from *.domain.dev. This may be caused by a misconfiguration or an attacker intercepting your connection.
Ada ide?Untuk Chrome di MacOS, jika Anda telah menyiapkan sertifikat:
sumber
Mengizinkan localhost tidak aman berfungsi dengan baik melalui metode ini chrome: // flags / # allow-insecure-localhost
Hanya saja Anda perlu membuat nama host pengembangan Anda ke xxx.localhost.
sumber