Saya telah membuat self-signed SSL sertifikat untuk localhost CN. Firefox menerima sertifikat ini setelah awalnya mengeluh tentang hal itu, seperti yang diharapkan. Chrome dan IE, bagaimanapun, menolak untuk menerimanya, bahkan setelah menambahkan sertifikat untuk sertifikat sistem toko Dipercaya Akar. Meskipun sertifikat terdaftar sebagai diinstal dengan benar ketika saya klik "Lihat informasi sertifikat" di Chrome's HTTPS popup, itu masih bersikeras sertifikat tidak dapat dipercaya.
Apa yang harus saya lakukan untuk mendapatkan Chrome untuk menerima sertifikat dan berhenti mengeluh tentang hal itu?
Untuk localhost
hanya:
Hanya paste ini di chrome:
chrome://flags/#allow-insecure-localhost
Anda harus melihat teks yang disorot mengatakan: Memungkinkan sertifikat yang tidak valid untuk sumber daya yang diambil dari localhost
Klik Enable
.
Ini bekerja untuk saya:
Chrome Settings > Show advanced settings > HTTPS/SSL > Mengelola Sertifikat
.Otoritas
tab dan gulir ke bawah untuk menemukan anda di bawah sertifikat Organisasi Nama yang anda berikan untuk sertifikat.Anda harus mendapatkan hijau yang bagus kunci pada halaman anda sekarang.
EDIT: aku mencoba ini lagi pada mesin baru dan sertifikat tidak muncul pada Mengelola Sertifikat jendela hanya dengan terus dari red sertifikat terpercaya halaman. Aku harus melakukan hal berikut:
https://
dicoret merah), klik lock > Informasi Sertifikat. CATATAN: pada versi yang lebih baru dari chrome, anda harus membuka Developer Tools > Keamanan
, dan pilih View sertifikat
.tab Detail > Ekspor
. Pilih PKCS #7, satu sertifikat
sebagai file format.Pemerintah tab > Impor
dan memilih file yang diekspor sertifikat, dan pastikan untuk memilih PKCS #7, satu sertifikat
sebagai file jenis.UPDATE UNTUK CHROME 58+ (DIRILIS 2017-04-19)
Seperti Chrome 58, kemampuan untuk mengidentifikasi host hanya menggunakan namaumum
dihapus. Sertifikat sekarang harus menggunakan subjectAltName
untuk mengidentifikasi host(s). Lihat lebih lanjut diskusi di sini dan bug tracker di sini. Di masa lalu, subjectAltName
hanya digunakan untuk multi-host sertifikat sehingga beberapa internal CA tools don't seperti mereka.
Jika anda diri menandatangani sertifikat bekerja dengan baik di masa lalu tapi tiba-tiba mulai menghasilkan kesalahan di Chrome 58, ini adalah mengapa.
Jadi apapun metode yang anda gunakan untuk membuat self-signed cert (atau sertifikat yang ditandatangani oleh ditandatangani CA), memastikan bahwa server's cert berisi subjectAltName
dengan tepat DNS
dan/atau IP
entri/entri, bahkan jika itu's hanya untuk satu host.
Untuk openssl, ini berarti OpenSSL anda config (/etc/ssl/openssl.cnf
pada Ubuntu) harus memiliki sesuatu yang mirip dengan berikut untuk sebuah host tunggal:
[v3_ca] # and/or [v3_req], if you are generating a CSR
subjectAltName = DNS:example.com
atau untuk beberapa host:
[v3_ca] # and/or [v3_req], if you are generating a CSR
subjectAltName = DNS:example.com, DNS:host1.example.com, DNS:*.host2.example.com, IP:10.1.2.3
Di Chrome's cert viewer (yang telah pindah ke "Keamanan" tab di bawah F12) anda harus melihatnya tercantum di bawah Ekstensi
sebagai Subjek Sertifikat Alternatif Nama
:
Pada Mac, anda dapat menggunakan utilitas Keychain Access untuk menambahkan sertifikat self-signed untuk Sistem gantungan kunci, dan kemudian, Chrome akan menerimanya. Saya menemukan langkah-demi-langkah petunjuk berikut ini:
Google Chrome, Mac OS X dan Sertifikat SSL Sendiri Ditandatangani
Pada dasarnya:
Klik di mana saja pada halaman dan jenis BYPASS_SEQUENCE
"thisisunsafe
" adalah BYPASS_SEQUENCE untuk Chrome versi 65
"badidea
" Chrome versi 62 - 64.
"bahaya
" digunakan untuk bekerja di versi sebelumnya dari Chrome
Anda don't perlu mencari masukan field, ketik saja. Rasanya aneh, tapi itu bekerja.
Saya mencoba hal ini pada Mac High Sierra.
Untuk mengecek apakah mereka berubah lagi pergi ke Terbaru kromium Sumber Code
Untuk mencari BYPASS_SEQUENCE, pada saat itu terlihat seperti itu:
var BYPASS_SEQUENCE = window.atob('dGhpc2lzdW5zYWZl');
Sekarang mereka telah disamarkan, tetapi untuk melihat real BYPASS_SEQUENCE anda dapat menjalankan baris berikut di konsol browser.
console.log(window.atob('dGhpc2lzdW5zYWZl'));
UPDATE 11/2017: jawaban Ini mungkin tidak't bekerja untuk sebagian besar versi baru dari Chrome.
UPDATE 02/2016: Baik Petunjuk untuk Pengguna Mac Dapat Ditemukan di Sini.
Pada situs yang ingin anda tambahkan, klik kanan merah ikon gembok di address bar:
Klik tab berlabel Koneksi**, lalu klik Informasi Sertifikat**
Klik Detail tab, klik tombol Copy File.... Ini akan membuka Sertifikat Ekspor Wizard, klik Depan untuk mendapatkan Export File Format layar.
Memilih DER biner dikodekan X. 509 (.CER), klik Depan
Klik Browse... dan simpan file ke komputer anda. Nama itu sesuatu yang deskriptif. Klik Depan, lalu klik Selesai.
Buka Chrome settings, gulir ke bawah, dan klik Tampilkan setelan lanjutan...
Di bawah HTTPS/SSL, klik Mengelola sertifikat...
Klik Dipercaya Akar Sertifikasi Otoritas tab, kemudian klik Impor... tombol. Hal ini akan membuka Wisaya Impor Sertifikat. Klik Depan untuk mendapatkan File untuk Mengimpor layar.
Klik Browse... dan pilih file sertifikat anda disimpan sebelumnya, maka klik Depan.
Pilih Tempatkan semua sertifikat di toko berikut. Toko yang dipilih harus Dipercaya Akar Sertifikasi Otoritas. Jika isn't, klik Browse... dan pilih. Klik Depan dan Selesai
Klik Ya pada peringatan keamanan.
Restart Chrome.
Jika anda're menggunakan Linux, anda juga dapat mengikuti ini resmi halaman wiki:
Pada dasarnya:
Sekarang, perintah berikut ini akan menambah sertifikat (di mana YOUR_FILE adalah file yang diekspor):
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YOUR_FILE -i YOUR_FILE
Untuk daftar semua sertifikat anda, jalankan perintah berikut:
certutil -d sql:$HOME/.pki/nssdb -L
Jika masih tidak't bekerja, anda bisa terpengaruh oleh bug ini: Masalah 55050: Ubuntu kesalahan SSL 8179
P. S. Mohon pastikan juga bahwa anda telah libnss3-alat
, sebelum anda dapat menggunakan atas perintah.
Jika anda don't memiliki, silahkan install dengan:
sudo apt-get install libnss3-tools # on Ubuntu
sudo yum install nss-tools # on Fedora, Red Hat, etc.
Sebagai bonus, anda dapat menggunakan berikut berguna script:
$ cat add_cert.sh
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n $1 -i $1
$ cat list_cert.sh
certutil -d sql:$HOME/.pki/nssdb -L # add '-h all' to see all built-in certs
$ cat download_cert.sh
echo QUIT | openssl s_client -connect $1:443 | sed -ne '/BEGIN CERT/,/END CERT/p'
Penggunaan:
add_cert.sh [FILE]
list_cert.sh
download_cert.sh [DOMAIN]
--auto-ssl-klien-auth
parametergoogle-chrome-auto-ssl-klien-auth
Pada Mac, anda dapat membuat sebuah sertifikat yang's sepenuhnya dipercaya oleh Chrome dan Safari pada tingkat sistem dengan melakukan hal berikut:
``
./create_root_cert_and_key.sh
./create_certificate_for_domain.sh mysite.com
./create_certificate_for_domain.sh www.mysite.com www.mysite.com ``
v3.ext
, untuk menghindari nama alternatif subjek hilang kesalahanJika anda ingin membuat yang baru ditandatangani cert yang's dipercaya sepenuhnya menggunakan anda sendiri root otoritas, anda dapat melakukannya dengan menggunakan script ini.
``
openssl genrsa -out rootCA.kunci 2048 openssl req -x509 -new -bening-kunci rootCA.kunci -sha256 -hari 1024 -keluar rootCA.pem ``
``
if [ -z "$1" ] kemudian echo "Mohon pasokan subdomain untuk membuat sertifikat untuk"; echo "misalnya www.mysite.com" keluar; fi
jika [ ! -f rootCA.pem ]; kemudian echo 'jalankan "create_root_cert_and_key.sh" dulu, dan coba lagi!' keluar; fi jika [ ! -f v3.ext ]; kemudian echo 'Silahkan men-download "v3.ext" berkas dan coba lagi!' keluar; fi
jika [ -f perangkat.key ]; kemudian KEY_OPT="-kunci" lain KEY_OPT="-keyout" fi
DOMAIN=$1 COMMON_NAME=${2:-*.$1} SUBJEK="/C=CA/ST=None/L=NB/O=Tidak ada/CN=$COMMON_NAME" NUM_OF_DAYS=825 openssl req -new -newkey rsa:2048 -sha256 -node $KEY_OPT perangkat.kunci -subj "$SUBJEK" -out perangkat.csr kucing v3.ext | sed s/%%DOMAIN%%/"$COMMON_NAME" g > /tmp/v3.ext openssl x509 -req -in perangkat.csr -CA rootCA.pem-CAkey rootCA.kunci -CAcreateserial -out perangkat.crt -hari $NUM_OF_DAYS -sha256 -extfile /tmp/v3.ext
mv perangkat.csr "$DOMAIN.csr" cp perangkat.crt "$DOMAIN.crt"
rm -f perangkat.crt;
echo echo "###########################################################################" echo Selesai! echo "###########################################################################" echo "Untuk menggunakan file-file ini pada server anda, cukup copy kedua $DOMAIN.csr dan" echo "perangkat.kunci untuk webserver anda, dan gunakan seperti begitu (jika Apache, misalnya)" echo echo " SSLCertificateFile /path_to_your_files/$DOMAIN.crt" echo " SSLCertificateKeyFile /path_to_your_files/perangkat.kunci" ``
`` authorityKeyIdentifier=keyid,penerbit basicConstraints=CA:PALSU keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names
[alt_names] DNS.1 = %%DOMAIN%% ``
Untuk memungkinkan diri menandatangani sertifikat dapat dipercaya SEPENUHNYA di Chrome dan Safari, anda perlu mengimpor baru sertifikat otoritas ke Mac anda. Untuk melakukannya ikuti petunjuk atau instruksi yang lebih rinci tentang hal ini umum proses di mitmproxy web:
Anda dapat melakukan ini salah satu dari 2 cara, pada baris perintah, menggunakan perintah ini yang akan meminta anda untuk password anda:
$ sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain rootCA.pem
atau dengan menggunakan Keychain Access
app:
dan sebagai bonus, jika anda membutuhkan java klien untuk mempercayai sertifikat, anda dapat melakukannya dengan mengimpor sertifikat ke jawa keystore. Catatan ini akan menghapus cert dari keystore jika sudah ada, karena itu perlu untuk meng-update dalam kasus hal-hal berubah. Hal ini tentu saja hanya melakukan ini untuk sertifikat yang diimpor.
KEYSTORE="$(/usr/libexec/java_home)/jre/lib/security/cacerts";
function running_as_root()
{
if [ "$EUID" -ne 0 ]
then echo "NO"
exit
fi
echo "YES"
}
function import_certs_to_java_keystore
{
for crt in *.crt; do
echo prepping $crt
keytool -delete -storepass changeit -alias alias__${crt} -keystore $KEYSTORE;
keytool -import -file $crt -storepass changeit -noprompt --alias alias__${crt} -keystore $KEYSTORE
echo
done
}
if [ "$(running_as_root)" == "YES" ]
then
import_certs_to_java_keystore
else
echo "This script needs to be run as root!"
fi
Jika anda're di mac dan tidak melihat tab ekspor atau bagaimana untuk mendapatkan sertifikat ini bekerja untuk saya:
Sekarang kau harus melihat ini:
Dalam beberapa kasus, ini sudah cukup dan sekarang anda dapat me-refresh halaman.
Jika tidak: 7. Klik ganda baru ditambahkan sertifikat. 8. Di bawah kepercayaan drop down mengubah "Ketika menggunakan sertifikat ini" pilihan untuk "Selalu Percaya"
Sekarang reload halaman tersebut dan itu harus dipecahkan! Semoga ini bisa membantu.
Untuk membuat ini sedikit lebih mudah anda dapat menggunakan script berikut (sumber):
whitelist_ssl_certificate.ssh
:SERVERNAME=$(echo "$1" | sed -E -e 's/https?:\/\///' -e 's/\/.*//') echo "$SERVERNAME"
jika [[ "$SERVERNAME" =~ ... ]]; kemudian echo "Menambahkan sertifikat untuk $SERVERNAME" echo -n | openssl s_client -hubungkan $SERVERNAME:443 | sed -ne '/-BEGIN SERTIFIKAT-/,/-END SERTIFIKAT/p' | tee /tmp/$SERVERNAME.cert sudo keamanan add-terpercaya-cert -d -r trustRoot -k "/Library/Gantungan kunci/Sistem.gantungan kunci" /tmp/$SERVERNAME.cert lain echo "Usage: $0 www.site.name" echo "http:// dan seperti akan dilucuti secara otomatis" fi
chmod +x whitelist_ssl_certificate.ssh
./whitelist_ssl_certificate.ssh https://your_website/whatever
UPDATED Apr 3/2018
Ada rahasia memotong kalimat yang dapat diketik ke halaman kesalahan untuk memiliki Chrome melanjutkan meskipun keamanan error: thisisunsafe (dalam versi sebelumnya dari Chrome, ketik badidea, dan bahkan sebelumnya, bahaya). MELAKUKAN TIDAK GUNAKAN INI KECUALI ANDA MEMAHAMI PERSIS MENGAPA ANDA MEMBUTUHKANNYA!
Sumber:
https://chromium.googlesource.com/chromium/src/+/d8fc089b62cd4f8d907acff6fb3f5ff58f168697%5E%21/
(PERHATIKAN bahwa jendela.atob('dGhpc2lzdW5zYWZl')
menghasilkan thisisunsafe
)
Versi terbaru dari sumber @ https://chromium.googlesource.com/chromium/src/+/refs/heads/master/components/security_interstitials/core/browser/resources/interstitial_large.js dan jendela.atob
fungsi dapat dijalankan di JS konsol.
Untuk latar belakang tentang mengapa Chrome tim berubah memotong kalimat (pertama kali):
https://bugs.chromium.org/p/chromium/issues/detail?id=581189
Untuk cepat satu-off jika "Melanjutkan Pula" opsi ini tidak tersedia, atau memotong frasa kerja, hack ini bekerja dengan baik:
localhost
dengan mengaktifkan bendera ini (catatan Chrome butuh restart setelah mengubah nilai bendera):chrome://flags/#memungkinkan-tidak aman-localhost
(dan suara-up jawabannya https://stackoverflow.com/a/31900210/430128 oleh @Chris)
localhost
, anda'kembali dilakukan. Jika tidak, setup TCP terowongan untuk mendengarkan pada port 8090 secara lokal dan terhubung ke broken-remote-site.com
pada port 443, pastikan anda memiliki socat
diinstal dan dijalankan sesuatu seperti ini di jendela terminal:socat tcp-mendengarkan:8090,reuseaddr,garpu tcp:rusak-remote-site.com:443
Untuk lingkungan pengujian
Anda dapat menggunakan --ignore-certificate-errors
sebagai parameter baris perintah ketika meluncurkan chrome (Bekerja pada Versi 28.0.1500.52 pada Ubuntu).
Hal ini akan menyebabkan itu untuk mengabaikan kesalahan dan menghubungkan tanpa peringatan. Jika anda sudah memiliki versi chrome berjalan, anda akan perlu untuk menutup ini sebelum peluncuran kembali dari baris perintah atau itu akan terbuka jendela baru tapi mengabaikan parameter.
Saya mengkonfigurasi Intellij untuk meluncurkan chrome cara ini ketika melakukan debugging, seperti tes server tidak pernah memiliki sertifikat yang valid.
Saya tidak't merekomendasikan normal browsing seperti ini meskipun, seperti sertifikat pemeriksaan adalah fitur keamanan yang penting, tapi ini mungkin berguna untuk beberapa.
WINDOWS JUN/2017 Windows Server 2012
Aku mengikuti @Brad Taman menjawab. Pada Windows anda harus impor rootCA.kep pada Akar yang Terpercaya Sertifikat Otoritas toko.
Saya melakukan langkah-langkah berikut:
openssl genrsa -out rootCA.key 4096
openssl req -x509 -new -nodes -key rootCA.key -newkey rsa:4096 -sha256 -days 1024 -out rootCA.pem
openssl req -new -newkey rsa:4096 -sha256 -nodes -keyout device.key -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 2000 -sha256 -extfile v3.ext
Di mana v3.ext adalah:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
IP.1 = 192.168.0.2
IP.2 = 127.0.0.1
Kemudian, dalam kasus saya, saya memiliki self hosted web app, jadi saya perlu untuk mengikat sertifikat dengan IP address dan port, sertifikat harus di toko SAYA dengan informasi kunci pribadi, jadi saya diekspor ke pfx format.
openssl pkcs12 -export -out device.pfx -inkey device.key -in device.crt
Dengan konsol mmc (File/Add or Remove Snap-in/Sertifikat/Add/Computert Akun/LocalComputer/OK) aku diimpor pfx file di toko Pribadi.
Kemudian saya menggunakan perintah ini untuk mengikat sertifikat (anda juga bisa menggunakan HttpConfig alat):
netsh http add sslcert ipport=0.0.0.0:12345 certhash=b02de34cfe609bf14efd5c2b9be72a6cb6d6fe54 appid={BAD76723-BF4D-497F-A8FE-F0E28D3052F4}
certhash=Sertifikat Thumprint
appid=GUID (pilihan anda)
Pertama saya mencoba untuk mengimpor sertifikat "perangkat.crt" pada Akar yang Terpercaya Sertifikat Otoritas dalam berbagai cara, tetapi saya'm masih mendapatkan kesalahan yang sama:
Tapi saya menyadari bahwa saya harus mengimpor sertifikat dari akar otoritas sertifikat tidak untuk domain. Jadi saya menggunakan konsol mmc (File/Add or Remove Snap-in/Sertifikat/Add/Computert Akun/LocalComputer/OK) aku diimpor rootCA.kep pada Akar yang Terpercaya Sertifikat Otoritas toko.
Restart Chrome dan et voilà ia bekerja.
Dengan localhost:
Atau dengan alamat IP:
Satu-satunya hal yang saya tidak bisa mencapai itu, hal itu telah usang cipher (kotak merah pada gambar). Membantu dihargai pada titik ini.
Dengan makecert itu tidak mungkin menambah SAN informasi. Dengan Baru-SelfSignedCertificate (Powershell) anda bisa menambahkan SAN informasi, ia juga bekerja.
Apakah anda yakin alamat situs yang menjabat sebagai adalah sama seperti sertifikat? Aku punya masalah yang sama dengan Chrome dan ditandatangani cert, tapi pada akhirnya saya menemukan itu sangat pilih-pilih tentang validasi nama domain pada cert (sebagaimana mestinya).
Chrome doesn't have it's sendiri cert menyimpan dan menggunakan Jendela's sendiri. Namun Chrome tidak menyediakan cara untuk mengimpor sertifikat ke toko sehingga anda harus menambahkannya melalui IE sebaliknya.
Menginstal Sertifikat di Google Chrome
Menginstal Sertifikat di Internet Explorer
Juga lihatlah ini untuk beberapa pendekatan yang berbeda untuk menciptakan diri menandatangani sertifikat (I'm asumsi anda're menggunakan IIS sebagai anda belum't disebutkan).
Bagaimana untuk Membuat Diri Menandatangani Sertifikat di IIS 7
Aku pergi ke proses menggunakan apa yang bjnord yang disarankan adalah: Google Chrome, Mac OS X dan Sertifikat SSL Sendiri Ditandatangani
Apa yang ditampilkan di blog tidak bekerja.
Namun, salah satu komentar ke blog itu emas:
sudo keamanan add-terpercaya-cert -d -r trustRoot -k /Library/Gantungan kunci/Sistem.gantungan kunci situs.crt
Anda'll harus mengikuti blog pada cara mendapatkan cert file, setelah itu anda dapat menggunakan perintah di atas dan harus baik untuk pergi.
GUI untuk mengelola sertifikat SSL pada Chromium di Linux TIDAK bekerja dengan baik bagi saya. Namun, mereka docs memberi jawaban yang tepat. Triknya adalah dengan menjalankan perintah di bawah ini yang impor self-signed SSL cert. Hanya memperbarui nama <sertifikat-julukan>
dan sertifikat-nama file.cer
, kemudian restart chromium/chrome.
Dari Dokumen:
Di Linux, Kromium menggunakan NSS Bersama DB. Jika built-in manager tidak bekerja untuk anda maka anda dapat mengkonfigurasi sertifikat dengan NSS command line tools.
Dapatkan alat
- Debian/Ubuntu:
sudo apt-get install libnss3-tools
- Fedora:
su -c "yum install nss-alat"
- Gentoo:
su -c "echo 'dev-libs/nss utils' >> /etc/portage/package.gunakan && muncul dev-libs/nss"
(yang Anda butuhkan untuk memulai semua perintah di bawah ini dengannss
awalan, misalnya,nsscertutil
.) Opensuse:sudo zypper install mozilla-nss-tools
Untuk kepercayaan diri menandatangani sertifikat server, kita harus menggunakan
certutil -d sql:$HOME/.pki/nssdb -A-t "P," -n <sertifikat-julukan> -aku sertifikat-nama file.cer
Daftar semua sertifikat
certutil -d sql:$HOME/.pki/nssdb -L
TRUSTARGS tiga string dari nol atau lebih karakter abjad, dipisahkan dengan koma. Mereka menentukan bagaimana seharusnya sertifikat terpercaya untuk SSL, email, dan objek penandatanganan, dan dijelaskan dalam certutil docs atau Meena's blog post pada kepercayaan bendera.
Tambahkan pribadi sertifikat dan private key untuk SSL klien otentikasi Gunakan perintah:
pk12util -d sql:$HOME/.pki/nssdb -aku PKCS12_file.p12
untuk mengimpor pribadi sertifikat dan kunci pribadi disimpan dalam file PKCS #12. Yang TRUSTARGS pribadi sertifikat akan ditetapkan ke "u,u,u".
Menghapus sertifikat
certutil -d sql:$HOME/.pki/nssdb -D -n <sertifikat julukan>
Kutipan Dari: https://chromium.googlesource.com/chromium/src/+/EKOR/docs/linux_cert_management.md
Ketika mengklik sedikit dicoret ikon kunci di sebelah URL, anda'akan mendapatkan sebuah kotak seperti ini:
Setelah mengklik *Sertifikat informasi link, anda'll melihat dialog sebagai berikut:
Ini memberitahu anda mana toko sertifikat adalah salah satu yang benar, it's Dipercaya Akar Sertifikasi Otoritas store.
Anda bisa menggunakan salah satu metode yang diuraikan dalam jawaban yang lain untuk menambahkan sertifikat ke toko itu atau menggunakan:
certutil -addstore -user "ROOT" cert.pem
ROOT
adalah internal nama toko sertifikat yang disebutkan sebelumnya.cert.pem
adalah nama sertifikat self-signed.Posting ini sudah dibanjiri dengan tanggapan, tapi saya buat a bash script berdasarkan beberapa jawaban lainnya untuk membuatnya lebih mudah untuk menghasilkan seorang diri menandatangani sertifikat TLS berlaku di Chrome (Diuji di Chrome 65.x
). Harapan itu's berguna untuk orang lain.
Setelah anda menginstal (dan kepercayaan) sertifikat, don't lupa untuk me-restart Chrome (chrome://restart`)
Alat lain yang senilai check-out adalah CloudFlare's cfssl
toolkit:
Seperti Chrome 58+ saya mulai mendapatkan sertifikat error pada macOS karena hilang SAN. Berikut adalah cara untuk mendapatkan kunci berwarna hijau pada address bar lagi.
openssl req \ -newkey rsa:2048 \ -x509 \ -node \ -keyout server.kunci \ -baru \ -out server.crt \ -c /CN=.domain.dev \ -reqexts SAN \ -ekstensi SAN \ -config <(kucing /System/Library/OpenSSL/openssl.cnf \ <(printf '[SAN]\nsubjectAltName=DNS:.domain.dev')) \ -sha256 \ -720 hari
server.crt
ke Gantungan kunci anda, kemudian double klik di sertifikat, memperluas Kepercayaan, dan pilih Selalu PercayaRefresh halaman https://domain.dev di Google Chrome, jadi hijau lock kembali.