Saya lakukan dengan kata sandi dan dengan bidang-bidang berikut sebagai root
openssl req -x509 -days 365 -newkey rsa:2048 -keyout /etc/ssl/apache.key \
-out /etc/ssl/apache.crt
Bidang
Country: FI
State: Pirkanmaa
Locality: Tampere
Organization: masi
Organizational Unit Name: SSL Certificate Test
CommonName: 192.168.1.107/owncloud
EmailAddress: [email protected]
Keluaran: Kesalahan jabat tangan SSL dalam HTTPS. Output yang diharapkan: koneksi HTTPS. HTTP berfungsi.
CommonName harus menyertakan URL tempat Anda ingin pergi, utas milik sendiri di sini . Saya telah mencoba gagal di commonname
192.168.1.107/owncloud
192.168.1.107/
Tes OS untuk server: Debian 8.5.
Server: Raspberry Pi 3b. Owncloud-server: 8.2.5. Owncloud-client: 2.1.1. Sistem-klien: Debian 8.5.
openssl
certificates
Léo Léopold Hertz 준영
sumber
sumber
Centos 7 / Vagrant / Chrome Browser
.Jawaban:
Anda tidak dapat menggunakan perintah ini untuk menghasilkan sertifikat X.509 yang terbentuk dengan baik. Itu akan salah karena nama host ditempatkan di Nama Umum (CN) . Menempatkan nama host atau Alamat IP di CN tidak lagi digunakan oleh IETF (sebagian besar alat, seperti
wget
dancurl
) dan Forum CA / B (CA dan Peramban).Menurut Forum IETF dan CA / B, nama Server dan Alamat IP selalu masuk dalam Subject Alternate Name (SAN) . Untuk aturannya, lihat RFC 5280, Internet X.509 Public Infrastructure Key, Sertifikat dan Daftar Pencabutan Sertifikat (CRL) Profile dan Persyaratan Dasar Forum CA / Browser .
Anda sebagian besar perlu menggunakan file konfigurasi OpenSSL dan menyesuaikannya sesuai dengan kebutuhan Anda. Di bawah ini adalah contoh yang saya gunakan. Ini disebut
example-com.conf
, dan diteruskan ke perintah OpenSSL via-config example-com.conf
.Juga perhatikan baik : semua mesin mengklaim
localhost
,localhost.localdomain
, dll Hati-hati tentang mengeluarkan sertifikat untuklocalhost
. Saya tidak mengatakan jangan lakukan itu; hanya mengerti ada beberapa risiko yang terlibat.Alternatif lain
localhost
adalah: (1) menjalankan DNS dan mengeluarkan sertifikat ke nama DNS mesin. Atau, (2) gunakan IP statis dan sertakan alamat IP statis.Peramban masih akan memberi Anda peringatan tentang sertifikat yang ditandatangani sendiri yang tidak berantai kembali ke akar tepercaya. Alat suka
curl
danwget
tidak akan mengeluh, tetapi Anda masih perlu mempercayai diri Anda masuk dengan opsi seperti cURL--cafile
. Untuk mengatasi masalah kepercayaan Peramban, Anda harus menjadi CA Anda sendiri."Menjadi CA Anda sendiri" dikenal sebagai menjalankan PKI Pribadi. Tidak banyak untuk itu. Anda dapat melakukan semua yang CA Umum bisa lakukan. Satu-satunya hal yang berbeda adalah Anda harus menginstal Sertifikat CA Root Anda di berbagai toko. Ini tidak berbeda dengan, katakanlah, menggunakan CURL
cacerts.pm
.cacerts.pm
hanyalah kumpulan Root CA's, dan sekarang Anda telah bergabung dengan klub.Jika Anda menjadi CA Anda sendiri, maka pastikan untuk membakar kunci pribadi Root CA Anda ke disk dan tetap offline. Kemudian masukkan ke drive CD / DVD saat Anda harus menandatangani permintaan penandatanganan. Sekarang Anda menerbitkan sertifikat seperti CA Publik.
Tidak satu pun dari ini yang sangat sulit setelah Anda menandatangani satu atau dua permintaan penandatanganan. Saya telah menjalankan PKI Swasta selama bertahun-tahun di rumah. Semua perangkat dan gadget saya mempercayai CA saya.
Untuk informasi lebih lanjut tentang menjadi CA Anda sendiri, lihat Bagaimana Anda menandatangani Permintaan Penandatanganan Sertifikat dengan Otoritas Sertifikasi Anda dan Cara membuat sertifikat yang ditandatangani sendiri dengan openssl? .
Dari komentar di file konfigurasi di bawah ...
Ditandatangani Sendiri (perhatikan penambahan -x509)
Menandatangani Permintaan (perhatikan kekurangan -x509)
Cetak Tanda Tangan
Cetak Permintaan Penandatanganan
File Konfigurasi
Anda mungkin perlu melakukan yang berikut untuk Chrome. Kalau tidak, Chrome dapat mengadu Nama Umum tidak valid (
ERR_CERT_COMMON_NAME_INVALID
) . Saya tidak yakin apa hubungan antara alamat IP di SAN dan CN dalam hal ini.sumber
sudo
. Mungkin.rnd
file Anda dimiliki olehroot
. Jika demikian, coba asudo chown -R masi:masi /home/masi
. Maka Anda akan dapat membaca dan menulis untuk itu.x509
di dalamnya (seperti komentar mengatakan).The
CommonName
harus bersesuaian dengan apa pun yang dikirim sebagaiHost:
header permintaan HTTP. Dalam kasus Anda, itu akan menjadi192.168.1.107
(tanpa garis miring tambahan).Konfigurasikan nama host untuk server web
Secara pribadi, saya akan mengkonfigurasi nama host yang ramah untuk server web. Dalam konfigurasi Apache mail atau konfigurasi host virtual Anda (kemungkinan berada pada
/etc/apache2/sites-enabled/000-default.conf
distribusi berbasis Debian), gunakanServerName
atauServerAlias
direktifkan, misalnya,Mulai ulang Apache lalu konfigurasikan DNS atau (lebih sederhana) tambahkan entri di setiap klien
/etc/hosts
untuk mengarahkannya ke alamat IP yang benar, misalnya,sumber
192.168.1.107
. Utas lainnya mengatakan bahwa Anda harus menyertakan subdomain. Saya pikir itu menyiratkan192.168.1.107/owncloud
. Namun, saya bisa saja salah.ServerName owncloud.masi
di.../sites-enabled/000-default.conf
. Apakah commonname dari kunci SSL kemudian owncloud.masi ?ServerAlias
?