Tutorial

Cara menghasilkan sertifikat SSL yang ditandatangani sendiri untuk alamat IP

29
×

Cara menghasilkan sertifikat SSL yang ditandatangani sendiri untuk alamat IP

Sebarkan artikel ini

Membuat sertifikat yang ditandatangani sendiri untuk nama host itu mudah, namun akan menjadi lebih rumit jika Anda ingin melakukan hal yang sama untuk alamat IP.

Meskipun tidak terlalu umum, penerbitan sertifikat untuk alamat IP dimungkinkan.

banner 300x600

Ekstensi Nama Alternatif Subjek

Ekstensi Nama Alternatif Subjek merupakan perpanjangan dari spesifikasi X.509 yang dijelaskan dalam RFC 5280, bagian 4.2.1.6 sebagai berikut:

Ekstensi nama alternatif subjek memungkinkan identitas terikat
pada subjek sertifikat. Identitas-identitas ini dapat dicantumkan
sebagai tambahan atau sebagai pengganti identitas pada bidang subjek
sertifikat. Opsi yang ditentukan mencakup alamat surat elektronik Internet, nama DNS, alamat IP, dan Uniform Resource Identifier
(URI).

Misalnya, inilah cara Microsoft menggunakannya:

SAN di www.microsoft.com

SAN dapat digunakan untuk menerbitkan sertifikat tidak hanya untuk beberapa nama host, tetapi juga untuk alamat IP.

Menghasilkan sertifikat yang ditandatangani sendiri dengan OpenSSL

Untuk menghasilkan sertifikat dengan ekstensi SAN menggunakan OpenSSL, kita perlu membuat konfigurasi terlebih dahulu. Berikut tampilannya:

[persyaratan] 
default_bits = 2048 
nama_dibedakan = req_distinguished_name 
req_extensions = req_ext 
x509_extensions = v3_req 
prompt = tidak[req_distinguished_name] 
countryName = XX 
stateOrProvinceName = N/A 
localityName = N/A 
OrganizationName = Sertifikat yang ditandatangani sendiri 
commonName = 120.0.0.1: Sertifikat yang ditandatangani sendiri[req_ext] 
subjectAltName = @alt_names[v3_req] 
subjectAltName = @alt_names[nama_alt] 
IP.1 = 127.0.0.1

Bagian penting di sini adalah yang terakhir, di mana alamat IP diatur. Dimungkinkan juga untuk menambahkan alamat IP dan nama host tambahan di bagian ini.

Simpan konfigurasi ini sebagai san.cnfdan teruskan ke OpenSSL:

openssl req -x509 -node -hari 730 -kunci baru rsa:2048 -keyout key.pem -out cert.pem -config san.cnf

Ini akan membuat sertifikat dengan kunci pribadi. Mari kita periksa:

openssl x509 -di cert.pem -teks -noout

Outputnya harus berisi alamat IP dari konfigurasi:

Sertifikat:    Data:        Versi: 3 (0x2)        Nomor Seri: 12776076004935403308 (0xb14dbd6f9991072c)    Algoritma Tanda Tangan: sha256WithRSAEncryption        Penerbit: C=XX, ST=N/A, L=N/A, O=Sertifikat yang ditandatangani sendiri, CN=127.0.0.1: Sertifikat yang ditandatangani sendiri        Validitas ...        Perihal: C=XX, ST=N/A, L=N/A, O=Sertifikat yang ditandatangani sendiri, CN=127.0.0.1: Sertifikat yang ditandatangani sendiri        Info Kunci Publik Subjek: ...        Ekstensi X509v3:            Nama Alternatif Subjek X509v3:                Alamat IP:127.0.0.1        Algoritma Tanda Tangan: sha256DenganRSAEnkripsi ...

Menggunakan sertifikat

Sekarang Anda dapat menginstal dan menggunakan sertifikat dengan cara yang sama seperti Anda menggunakan sertifikat SSL lainnya, misalnya, cara mudah untuk menyajikan file statis adalah menggunakan paket http-server npm:

npx http-server --ssl

Bunyinya cert.pemdan key.pemsecara otomatis jika --sslopsi ditentukan.

Untuk menghindari penambahan pengecualian keamanan di browser, Anda dapat mempercayai sertifikat tersebut. Di macOS, sertifikatnya terlihat seperti ini:

Sertifikat yang ditandatangani sendiri di macOS
Perpanjangan sertifikat SAN

Jika sertifikat dipercaya di Rantai Kunci, Chrome dan Safari tidak akan mengeluhkannya. Firefox menampilkan peringatan tambahan tentang sertifikat yang ditandatangani sendiri:

Peringatan sertifikat yang ditandatangani sendiri di Firefox

Jika Anda mencoba memuat situs web dengan sertifikat yang sama dari IP lain, Anda akan mendapatkan kesalahan seperti ini:

Menggunakan sertifikat SAN dari IP lain

Menyatukan semuanya

Untuk mempermudah pembuatan sertifikat untuk alamat IP, saya menggabungkan semuanya dalam satu skrip yang dapat ditemukan di GitHub . Ini akan membuat konfigurasi, memasukkan alamat IP Anda di sana, dan menghasilkan sertifikat dengan kunci pribadi untuk Anda:

curl -sS https://raw.githubusercontent.com/antelle/generate-ip-cert/master/generate-ip-cert.sh | pesta -s 127.0.0.1

Referensi

Jika Anda penasaran tentang SAN, artikel berikut dapat memberikan beberapa informasi mendasar tentangnya:

Sertifikat SAN: Nama Alternatif Subjek – Multi-Domain (SAN)

Bidang Nama Alternatif Subjek memungkinkan Anda menentukan nama host tambahan (situs, alamat IP, nama umum, dll.) untuk…

www.digicert.com

Apa Nama Alternatif Subjek (SAN)? – Bantuan DNSsederhana

Nama Alternatif Subjek (SAN) adalah ekstensi dari spesifikasi X.509 yang memungkinkan pengguna menentukan…

dukungan.dnsimple.com

Ketahui tentang Sertifikat SAN dan Cara Membuat Dengan OpenSSL

Pemindai kerentanan berbasis cloud yang kuat yang menemukan kelemahan keamanan di lingkungan digital Anda, menjelaskan risiko &…

geekflare.com

Baca Juga  Cara Membuat Grafik/Chart Di PowerPoint 2013