Membuat dan mengekspor sertifikat untuk koneksi VPN Pengguna menggunakan PowerShell

Konfigurasi VPN pengguna (titik-ke-situs) dapat dikonfigurasi dengan meminta sertifikat untuk mengautentikasi. Artikel ini menunjukkan cara membuat sertifikat akar yang ditandatangani sendiri dan membuat sertifikat klien menggunakan PowerShell di Windows 10 (atau lebih baru) atau Windows Server 2016 (atau lebih baru).

Cmdlet PowerShell yang Anda gunakan untuk membuat sertifikat merupakan bagian dari sistem operasi dan tidak berfungsi pada versi Windows lainnya. Sistem operasi host hanya digunakan untuk menghasilkan sertifikat. Setelah sertifikat dibuat, Anda dapat mengunggahnya atau menginstalnya pada sistem operasi klien yang didukung.

Jika Anda tidak memiliki komputer yang memenuhi persyaratan sistem operasi, Anda dapat menggunakan MakeCert untuk menghasilkan sertifikat. Sertifikat yang Anda buat dengan menggunakan salah satu metode itu dapat diinstal pada sistem operasi klien yang didukung.

Membuat sertifikat yang ditandatangani sendiri

Gunakan cmdlet New-SelfSignedCertificate untuk membuat sertifikat akar yang ditandatangani sendiri. Untuk informasi parameter tambahan, lihat New-SelfSignedCertificate.

  1. Dari komputer yang menjalankan Windows 10 atau lebih baru, atau Windows Server 2016, buka konsol Windows PowerShell dengan hak istimewa yang lebih tinggi.

  2. Buat sertifikat akar yang ditandatangani sendiri. Contoh berikut membuat sertifikat akar yang ditandatangani sendiri bernama 'P2SRootCert' yang secara otomatis diinstal di 'Certificates-Current User\Personal\Certificates'. Anda dapat melihat sertifikat dengan membuka certmgr.msc, atau Mengelola Sertifikat Pengguna.

    Lakukan modifikasi yang diperlukan sebelum menggunakan sampel ini. Parameter 'NotAfter' bersifat opsional. Secara default, tanpa parameter ini, sertifikat kedaluwarsa dalam 1 tahun.

    $params = @{
        Type = 'Custom'
        Subject = 'CN=P2SRootCert'
        KeySpec = 'Signature'
        KeyExportPolicy = 'Exportable'
        KeyUsage = 'CertSign'
        KeyUsageProperty = 'Sign'
        KeyLength = 2048
        HashAlgorithm = 'sha256'
        NotAfter = (Get-Date).AddMonths(24)
        CertStoreLocation = 'Cert:\CurrentUser\My'
    }
    $cert = New-SelfSignedCertificate @params
    
  3. Biarkan konsol PowerShell terbuka dan lanjutkan dengan langkah-langkah berikutnya untuk menghasilkan sertifikat klien.

Menghasilkan sertifikat klien

Setiap komputer klien yang tersambung ke VNet menggunakan titik-ke-situs harus memiliki sertifikat klien yang terinstal. Buat sertifikat klien dari sertifikat akar yang ditandatangani sendiri, lalu ekspor dan instal sertifikat klien. Jika sertifikat klien tidak diinstal, autentikasi gagal.

Langkah-langkah berikut ini akan memandu Anda membuat sertifikat klien dari sertifikat akar yang ditandatangani sendiri. Anda dapat membuat beberapa sertifikat klien dari sertifikat akar yang sama. Saat membuat sertifikat klien menggunakan langkah-langkah di bawah ini, sertifikat klien akan otomatis diinstal pada komputer yang Anda gunakan untuk membuat sertifikat. Jika Anda ingin menginstal sertifikat klien di komputer klien lain, ekspor sertifikat.

Contohnya menggunakan cmdlet New-SelfSignedCertificate untuk menghasilkan sertifikat klien.

Contoh 1 - Sesi konsol PowerShell masih terbuka

Gunakan contoh ini jika Anda belum menutup konsol PowerShell Anda setelah membuat sertifikat root yang ditandatangani sendiri. Contoh ini berlanjut dari bagian sebelumnya dan menggunakan variabel '$cert' yang dinyatakan. Jika Anda menutup konsol PowerShell setelah membuat sertifikat root yang ditandatangani sendiri, atau membuat sertifikat klien tambahan di sesi konsol PowerShell baru, gunakan langkah-langkah di Contoh 2.

Ubah dan jalankan contoh berikut untuk membuat sertifikat klien. Jika Anda menjalankan contoh berikut tanpa memodifikasinya, hasilnya adalah sertifikat klien bernama 'P2SChildCert'. Jika Anda ingin memberi nama sertifikat anak dengan yang lain, ubah nilai CN. Jangan ubah TextExtension saat menjalankan contoh ini. Sertifikat klien yang Anda buat secara otomatis diinstal di 'Certificates - Current User\Personal\Certificates' di komputer Anda.


   $params = @{
       Type = 'Custom'
       Subject = 'CN=P2SChildCert'
       DnsName = 'P2SChildCert'
       KeySpec = 'Signature'
       KeyExportPolicy = 'Exportable'
       KeyLength = 2048
       HashAlgorithm = 'sha256'
       NotAfter = (Get-Date).AddMonths(18)
       CertStoreLocation = 'Cert:\CurrentUser\My'
       Signer = $cert
       TextExtension = @(
        '2.5.29.37={text}1.3.6.1.5.5.7.3.2')
   }
   New-SelfSignedCertificate @params

Contoh 2 - Sesi konsol PowerShell Baru

Jika Anda membuat sertifikat klien tambahan, atau tidak menggunakan sesi PowerShell yang sama dengan yang Anda gunakan untuk membuat sertifikat akar yang ditandatangani sendiri, gunakan langkah-langkah berikut:

  1. Identifikasi sertifikat akar yang ditandatangani sendiri yang diinstal pada komputer. Cmdlet ini mengembalikan daftar sertifikat yang terinstal di komputer Anda.

    Get-ChildItem -Path "Cert:\CurrentUser\My"
    
  2. Temukan nama subjek dari daftar yang dikembalikan, lalu salin thumbprint yang terletak di sampingnya ke file teks. Dalam contoh berikut, ada dua sertifikat. Nama CN adalah nama sertifikat akar yang ditandatangani sendiri dari tempat Anda ingin membuat sertifikat anak. Dalam hal ini, 'P2SRootCert'.

    Thumbprint                                Subject
    ----------                                -------
    AED812AD883826FF76B4D1D5A77B3C08EFA79F3F  CN=P2SChildCert4
    7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655  CN=P2SRootCert
    
  3. Menyatakan variabel untuk sertifikat akar menggunakan thumbprint dari langkah sebelumnya. Ganti THUMBPRINT dengan thumbprint sertifikat akar tempat Anda ingin membuat sertifikat anak.

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\<THUMBPRINT>"
    

    Misalnya, menggunakan thumbprint untuk P2SRootCert di langkah sebelumnya, variabel terlihat seperti ini:

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"
    
  4. Ubah dan jalankan contoh berikut untuk membuat sertifikat klien. Jika Anda menjalankan contoh berikut tanpa memodifikasinya, hasilnya adalah sertifikat klien bernama 'P2SChildCert'. Jika Anda ingin memberi nama sertifikat anak dengan yang lain, ubah nilai CN. Jangan ubah TextExtension saat menjalankan contoh ini. Sertifikat klien yang Anda buat secara otomatis diinstal di 'Certificates - Current User\Personal\Certificates' di komputer Anda.

    $params = @{
        Type = 'Custom'
        Subject = 'CN=P2SChildCert'
        DnsName = 'P2SChildCert1'
        KeySpec = 'Signature'
        KeyExportPolicy = 'Exportable'
        KeyLength = 2048
        HashAlgorithm = 'sha256'
        NotAfter = (Get-Date).AddMonths(18)
        CertStoreLocation = 'Cert:\CurrentUser\My'
        Signer = $cert
        TextExtension = @(
         '2.5.29.37={text}1.3.6.1.5.5.7.3.2')
    }
    New-SelfSignedCertificate @params
    

Mengekspor kunci publik sertifikat akar (.cer)

Setelah Anda membuat sertifikat akar yang ditandatangani sendiri, ekspor file .cer sertifikat root (bukan kunci privat). Anda nantinya akan mengunggah data sertifikat yang diperlukan yang terdapat dalam file ke Azure. Langkah-langkah berikut membantu Anda mengekspor file .cer untuk sertifikat akar yang ditandatangani sendiri dan mengambil data sertifikat yang diperlukan.

  1. Untuk mendapatkan file .cer sertifikat, buka Kelola sertifikat pengguna.

    Temukan sertifikat root yang ditandatangani sendiri, biasanya di "Sertifikat - Pengguna Saat Ini\Pribadi\Sertifikat", dan klik kanan. Klik Semua Tugas ->Ekspor. Perintah ini membuka Wizard Ekspor Sertifikat.

    Jika Anda tidak dapat menemukan sertifikat di bawah "Pengguna Saat Ini\Pribadi\Sertifikat", Anda mungkin tidak sengaja membuka "Sertifikat - Komputer Lokal", daripada "Sertifikat - Pengguna Saat Ini".

    Cuplikan layar menunjukkan jendela Sertifikat dengan Semua Tugas lalu Ekspor dipilih.

  2. Pada wizard, klik Berikutnya.

  3. Pilih Tidak, jangan ekspor kunci privat, lalu klik Berikutnya.

    Cuplikan layar menunjukkan Jangan ekspor kunci privat.

  4. Pada halaman Format Ekspor File, pilih Base-64 encoded X.509 (. CER). , lalu klik Berikutnya.

    Cuplikan layar menunjukkan ekspor Base-64 yang dikodekan.

  5. Untuk File yang akan Diekspor,Telusuri lokasi di mana Anda ingin mengekspor sertifikat. Untuk Nama file, beri nama file sertifikat. Lalu, klik Berikutnya.

  6. Klik Selesai untuk mengekspor sertifikat.

  7. Anda akan melihat konfirmasi yang mengatakan "Ekspor berhasil".

  8. Buka lokasi tempat Anda mengekspor sertifikat dan membukanya menggunakan editor teks, seperti Notepad. Jika Anda mengekspor sertifikat dalam format X.509 (.CER) yang dikodekan Base-64 yang diperlukan, Anda akan melihat teks yang mirip dengan contoh berikut. Bagian yang disorot dengan warna biru berisi informasi yang Anda salin dan unggah ke Azure.

    Cuplikan layar menunjukkan file CER dibuka di Notepad dengan data sertifikat disorot.

    Jika file Anda tidak terlihat mirip dengan contoh, biasanya itu berarti Anda tidak mengekspornya menggunakan format X.509(.CER) yang dikodekan Base-64. Selain itu, jika Anda menggunakan editor teks selain Notepad, pahami bahwa beberapa editor dapat memperkenalkan pemformatan yang tidak diinginkan di latar belakang. Pemformatan Ini dapat menyebabkan masalah ketika mengunggah teks dari sertifikat tersebut ke Azure.

Ekspor sertifikat dan kunci pribadi yang ditandatangani sendiri untuk menyimpannya (opsional)

Anda mungkin perlu mengekspor sertifikat akar yang ditandatangani sendiri dan menyimpannya dengan aman sebagai cadangan. Jika perlu, Anda dapat menginstalnya nanti di komputer lain dan membuat lebih banyak sertifikat klien. Untuk mengekspor sertifikat akar yang ditandatangani sendiri sebagai .pfx, pilih sertifikat akar, lalu gunakan langkah yang sama seperti yang dijelaskan pada Mengekspor sertifikat klien.

Instal sertifikat klien

Ketika membuat sertifikat klien, sertifikat tersebut secara otomatis diinstal pada komputer yang Anda gunakan untuk membuatnya. Jika Anda ingin menginstal sertifikat klien di komputer klien lain, Anda harus mengekspor sertifikat klien terlebih dahulu.

  1. Untuk mengekspor sertifikat klien, buka Kelola sertifikat pengguna. Secara default, sertifikat klien yang Anda buat dapat ditemukan di jalur 'Certificates - Current User\Personal\Certificates'. Klik kanan sertifikat klien yang ingin Anda ekspor, klik semua tugas, lalu klik Ekspor untuk membuka Panduan Ekspor Sertifikat.

    Cuplikan layar menampilkan jendela Sertifikat dengan Semua Tugas dan Ekspor dipilih.

  2. Di Panduan Ekspor Sertifikat, klik Berikutnya untuk melanjutkan.

  3. Pilih Ya, ekspor kunci privat, lalu klik Berikutnya.

    Cuplikan layar yang menunjukkan Ya ekspor kunci privat yang dipilih.

  4. Pada halaman Ekspor Format File biarkan pengaturan default dipilih. Pastikan bahwa Sertakan semua sertifikat dalam jalur sertifikasi jika memungkinkan untuk dipilih. Pengaturan ini juga mengekspor informasi sertifikat akar yang diperlukan agar autentikasi klien berhasil. Tanpa itu, autentikasi klien gagal karena klien tidak memiliki sertifikat akar yang tepercaya. Lalu, klik Berikutnya.

    Cuplikan layar untuk halaman format file ekspor.

  5. Pada halaman Keamanan, Anda harus memproteksi kunci privat. Jika memilih untuk menggunakan kata sandi, pastikan Anda telah merekam atau mengingat kata sandi yang Anda tetapkan untuk sertifikat ini. Lalu, klik Berikutnya.

    Cuplikan layar menunjukkan kata sandi yang dimasukkan dan dikonfirmasi.

  6. Pada File yang akan Diekspor,Telusuri lokasi Anda ingin mengekspor sertifikat. Untuk Nama file, beri nama file sertifikat. Lalu, klik Berikutnya.

  7. Klik Selesai untuk mengekspor sertifikat.

Menginstal sertifikat klien yang diekspor

Setiap klien yang terhubung ke VNet melalui koneksi P2S memerlukan sertifikat klien yang diinstal secara lokal. Untuk langkah-langkah menginstal sertifikat, lihat Menginstal sertifikat klien.

Langkah berikutnya

Lanjutkan dengan langkah-langkah Virtual WAN untuk koneksi VPN pengguna.