IIS 7.5 Membuat sertifikat yang ditandatangani sendiri dengan tanggal validasi lebih dari satu tahun

15

Saya membuat sertifikat SSL yang ditandatangani sendiri di IIS 7.5 untuk penggunaan internal. Masalah yang saya miliki adalah bahwa saya ingin membuat mereka sehingga mereka bertahan selama 10 tahun karena hanya lingkungan pengembang.

Saya tidak dapat melihat opsi di IIS 7.5 di mana Anda dapat menentukan waktu sertifikat valid. Secara default ia membuat sertifikat yang kedaluwarsa dalam 1 tahun.

Apakah ada cara saya bisa mengubah ini sehingga membuatnya jadi mereka berlaku selama 10 tahun?

pengguna1153199
sumber

Jawaban:

13

Anda dapat melakukan ini dengan menggunakan SelfSSL.exealat yang disertakan dengan IIS6 Resource Kit. Anda bisa mendapatkan kit sumber daya dari sini:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275

Pemasang hanya membuka ritsleting alat ke folder dan tidak mengganggu pengaturan mesin Anda. Opsi pemasangan kustom juga memungkinkan Anda untuk memilih alat mana yang ingin Anda instal dan ke dalam folder pilihan Anda sendiri.

Buka baris perintah Administrator dan ubah direktori tempat Anda SelfSSLmenginstal alat baris perintah.

Untuk menghasilkan sertifikat SSL yang ditandatangani sendiri yang kedaluwarsa dalam 10 tahun, lakukan yang berikut:

selfssl /n:cn=www.mydomain.com / v: 3650 / s: 8 / k: 2048

Ini akan menghasilkan ssl di mana:

  • /n:cn=www.mydomain.com- SSL untuk www.mydomain.com. The cn=(nama umum) adalah penting jadi jangan lewatkan itu.

  • /v:3650 - jumlah hari sertifikat berlaku, dalam hal ini sepuluh tahun

  • /s:8 - instal sertifikat di id situs 8

  • /k:2048 - gunakan panjang tombol 2048 bit.

Sayangnya tidak ada cara untuk mengeluarkan SSL langsung ke file, Anda harus menginstalnya ke situs. Namun kabar baiknya adalah bahwa sertifikat tersebut dapat diekspor.

Jika Anda ingin peringatan tentang SSL tidak dipercaya saat meramban ke situs menggunakan SSL yang Anda tandatangani sendiri untuk pergi maka Anda dapat memperbaikinya juga:

  1. Ekspor SSL yang ditandatangani sendiri ke .pfxfile (Anda perlu mengatur kata sandi, pastikan Anda mengingatnya)
  2. Luncurkan (dari baris perintah atau Mulai -> Jalankan) mmc certmgr.msc
  3. Jelajahi Trusted Root Certificate Authorities -> Certificatesdan klik kanan untuk mendapatkan Import...opsi:

    masukkan deskripsi gambar di sini

  4. Ikuti wizard dan tentukan .pfxuntuk mengimpor lalu klik berikutnya (Anda akan memerlukan kata sandi yang Anda atur di langkah 1):

    masukkan deskripsi gambar di sini

  5. Pada langkah wizard berikutnya kita perlu memilih toko mana yang akan digunakan. Klik Browse...tombol yang akan membuka Select Certificate Storejendela. Kita perlu melihat toko fisik jadi pastikan ada tanda centang di Show physical stores:

    masukkan deskripsi gambar di sini

    Luaskan Trusted Root Certificate Authoritiesdan pilih Local Computersesuai tangkapan layar di atas, lalu klik OKdan kemudianNext >

  6. Klik Finishtombol pada langkah wizard terakhir dan jika semuanya baik Anda akan melihat:

    masukkan deskripsi gambar di sini

Peringatan dan Gotcha:

  • SelfSSL mungkin memerlukan komponen Kompatibilitas Manajemen IIS6 yang diinstal. Saya tidak tahu karena mesin saya sendiri sudah menginstal ini dan tidak punya VM berguna untuk menguji teori ini dengan menghapusnya.

  • Keluarkan SSL ke cn=www.mydomain.comdan bukan cn=mydomain.comjika Anda ingin dapat menambahkan SSL ke toko Otoritas Sertifikat Root Tepercaya.

Kev
sumber
Hai, Terima kasih banyak atas bantuan Anda. Jelas telah membantu apa yang perlu saya lakukan. Cheers Jeff
Saya tidak dapat menemukan tautan unduhan yang berfungsi untuk IIS6 Resource Kit. Adakah yang tahu di mana itu dapat ditemukan?
John Bubriski
@JohnBubriski - GRR, MS benar-benar menyebalkan. Jika Anda bisa menunggu hingga Jumat saya bisa menempel salinan di suatu tempat.
Kev
Sebenarnya, saya baik sekarang, saya menemukan cara. Saya akan mengirim jawaban ...
John Bubriski
0

Sejauh yang saya mengerti, masalah dengan IIS 7.x adalah bahwa Anda tidak dapat mengatur header host untuk mengikat SSL.

Menggunakan utilitas baris perintah appcmd Anda harus dapat melakukan ini. Situs dapat menggunakan sertifikat yang sama tetapi akan memiliki header host yang berbeda.

Jika Anda menjalankan 2 perintah berikut dengan data Anda, itu harus mengkonfigurasi header host.

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.yourdomain.com']

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.dev.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.dev.yourdomain.com']

Sayangnya, ada hal lain yang perlu Anda lakukan untuk mendapatkan ini berfungsi, tapi saya tidak yakin apa. Saya tahu saya telah melakukan beberapa pengaturan ulang IIS, dan saya memilih kembali sertifikat SSL, tetapi saya tidak yakin dengan urutan untuk melakukan itu. Tetapi saya tahu bahwa saya tidak melakukan sesuatu yang 'mewah' seperti menggunakan alat lain.

John Bubriski
sumber
John, seharusnya begitu asalkan sertifikat dimuat di server. Anda mungkin harus memilih sertifikat SSL untuk digunakan juga untuk setiap situs.
Brent Pabst
Ya, saya yakin saya memiliki sertifikat yang ditandatangani sendiri sudah dikonfigurasikan untuk 2 situs.
John Bubriski
0

OpenSSL juga dapat digunakan untuk membuat sertifikat yang ditandatangani sendiri seperti yang dijelaskan dalam jawaban Stack Overflow ini:

/programming//a/30517344/537961

orang kaya
sumber