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 membuat sertifikat. Sertifikat yang Anda buat dengan menggunakan salah satu metode itu dapat diinstal pada sistem operasi klien yang didukung.
Membuat sertifikat akar yang ditandatangani sendiri
Gunakan cmdlet New-SelfSignedCertificate untuk membuat sertifikat akar yang ditandatangani sendiri. Untuk informasi parameter tambahan, lihat New-SelfSignedCertificate.
Dari komputer yang menjalankan Windows 10 atau lebih baru, atau Windows Server 2016, buka konsol Windows PowerShell dengan hak istimewa yang lebih tinggi.
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
Biarkan konsol PowerShell terbuka dan lanjutkan dengan langkah-langkah berikutnya untuk menghasilkan sertifikat klien.
Membuat sertifikat klien
Setiap komputer klien yang tersambung ke VNet menggunakan titik-ke-situs harus menginstal sertifikat klien. 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:
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"
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
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"
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.
Untuk mendapatkan file .cer sertifikat, buka Kelola sertifikat pengguna.
Temukan sertifikat akar yang ditandatangani sendiri, biasanya di Sertifikat - Pengguna Saat Ini\Pribadi\Sertifikat, dan klik kanan. Pilih 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, bukan Sertifikat - Pengguna Saat Ini.
Di wizard, pilih Berikutnya.
Pilih Tidak, jangan ekspor kunci privat, lalu pilih Berikutnya.
Pada halaman Ekspor Format File, pilih X.509 yang dikodekan Base-64 (. CER)., lalu pilih Berikutnya.
Untuk File yang akan Diekspor,Telusuri lokasi di mana Anda ingin mengekspor sertifikat. Untuk Nama file, beri nama file sertifikat. Kemudian, pilih Berikutnya.
Pilih Selesai untuk mengekspor sertifikat.
Anda melihat konfirmasi yang mengatakan Ekspor berhasil.
Buka lokasi tempat Anda mengekspor sertifikat dan membukanya menggunakan editor teks, seperti Notepad. Jika Anda mengekspor sertifikat dalam X.509 yang dikodekan Base-64 yang diperlukan (. CER) format, Anda melihat teks yang mirip dengan contoh berikut. Bagian yang disorot dengan warna biru berisi informasi yang Anda salin dan unggah ke Azure.
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.
Mengekspor 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.
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.
Di Panduan Ekspor Sertifikat, klik Berikutnya untuk melanjutkan.
Pilih Ya, ekspor kunci privat, lalu klik Berikutnya.
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.
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.
Pada File yang akan Diekspor,Telusuri lokasi Anda ingin mengekspor sertifikat. Untuk Nama file, beri nama file sertifikat. Lalu, klik Berikutnya.
Klik Selesai untuk mengekspor sertifikat.
Linux
Untuk langkah-langkah Linux, lihat Membuat sertifikat yang ditandatangani sendiri - Linux - OpenSSL atau Membuat sertifikat yang ditandatangani sendiri - Linux - strongSwan.
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.