Saya pikir Anda bisa melakukan ini, tetapi bukan cara Anda mencoba melakukannya.
Sertifikat SSL adalah pernyataan yang mengikat kunci enkripsi publik ke struktur X.500 yang mencakup elemen CN, atau Common Name; sertifikat yang ditandatangani adalah salah satu yang mengikatnya diverifikasi oleh otoritas sertifikasi pihak ketiga, menggunakan kunci publik yang sudah diketahui pengguna akhir (tumpukan sertifikat Otoritas Sertifikasi (CA) yang tinggal di dalam browser Anda).
Saat Anda mengunjungi situs web yang dilindungi SSL dengan browser, CN yang ditandatangani akan diketahui oleh browser. Apa yang browser pilih untuk lakukan adalah terserah browser. Peramban yang saya sadari membandingkannya dengan nama host yang diminta, dan kesalahan jika berbeda (atau jika penjilidan bersertifikasi itu tidak tahan terhadap analisis, misalnya sertifikat penandatanganan tidak dikenal ke peramban atau penjilidan keluar). of-date, tapi itu masalah yang berbeda). Tidak ada yang pada prinsipnya menghentikan Anda dari mendapatkan sertifikat yang ditandatangani secara publik di mana CN adalah alamat IP bukan FQDN (nama domain yang memenuhi syarat penuh) [1], tetapi itu tidak akan secara ajaib membuat browser membandingkan CN dengan IP dengan IP alamat, bukan dengan nama host yang diminta .
Saya menduga cara paling sederhana untuk menyelesaikan masalah Anda adalah dengan memulai CA Anda sendiri, yang mudah dilakukan, dan ada banyak tutorial umum tentang; satu di sini . Setelah pengguna akhir Anda mengimpor CA Anda ke browser mereka, semua sertifikat yang Anda mint akan diterima sebagai yang berwenang.
Anda mungkin memiliki masalah kedua karena Anda ingin menjalankan banyak situs NameVirtualHost pada satu alamat IP. Ini secara historis tidak dapat diatasi, karena (tidak seperti TLS) negosiasi SSL terjadi sebelum hal lain dalam suatu koneksi; yaitu, CN yang tertanam dalam sertifikat Anda diketahui, dan digunakan oleh, klien sebelum klien dapat mengatakan host apa yang mereka coba sambungkan.
Baru-baru ini, ekstensi protokol yang disebut SNI (Server Name Indication) tampaknya telah diperkenalkan, yang memungkinkan klien dan server untuk menunjukkan bahwa mereka ingin melakukan beberapa hal nama host sebelum sertifikat SSL disajikan, memungkinkan hak satu set sertifikat yang akan diberikan oleh server. Tampaknya ini membutuhkan apache 2.2.10, versi OpenSSL yang cukup baru, dan ( penting ) dukungan sisi klien.
Jadi jika saya harus melakukan apa yang Anda coba lakukan, saya akan melihat mencetak sertifikat CA saya sendiri, memberi tahu pengguna akhir saya bahwa mereka harus menggunakan browser yang mendukung SNI dan mengimpor sertifikat root CA saya, dan memotong dan menandatangani sertifikat SSL saya sendiri untuk setiap situs bugtrack.
[1] OK, Anda mungkin tidak menemukan orang yang akan melakukannya, tetapi itu adalah detail implementasinya. Apa yang saya coba tunjukkan di sini adalah bahwa bahkan jika Anda melakukannya, itu tidak akan menyelesaikan masalah Anda.