Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mungkin sulit untuk menemukan lokasi dan nama file kunci privat yang terkait dengan sertifikat X.509 tertentu di penyimpanan sertifikat. Alat FindPrivateKey.exe memfasilitasi proses ini.
Penting
Anda harus membuat sampel FindPrivateKey sebelum menggunakannya.
Sertifikat X.509 diinstal oleh Administrator atau pengguna mana pun di komputer. Namun, sertifikat dapat diakses oleh layanan yang berjalan di bawah akun yang berbeda. Misalnya, akun NETWORK SERVICE.
Akun ini mungkin tidak memiliki akses ke file kunci privat karena sertifikat tidak diinstal olehnya pada awalnya. Alat FindPrivateKey memberi Anda lokasi file kunci privat Sertifikat X.509 tertentu. Anda dapat menambahkan izin atau menghapus izin ke file ini setelah Anda mengetahui lokasi file kunci privat sertifikat X.509 tertentu.
Sampel yang menggunakan sertifikat untuk keamanan menggunakan alat FindPrivateKey dalam file Setup.bat . Setelah file kunci privat ditemukan, Anda dapat menggunakan alat lain seperti Cacls.exe untuk mengatur hak akses yang sesuai ke file.
Saat menjalankan layanan Windows Communication Foundation (WCF) di bawah akun pengguna, seperti executable yang dihost sendiri, pastikan bahwa akun pengguna memiliki akses baca-saja ke file. Saat menjalankan layanan WCF di bawah Layanan Informasi Internet (IIS) akun default yang dijalankan layanan adalah LAYANAN JARINGAN pada IIS 7 dan versi yang lebih lama, atau Identitas Kumpulan Aplikasi pada IIS 7.5 dan versi yang lebih baru. Untuk informasi selengkapnya, lihat Identitas Kumpulan Aplikasi.
Izin membaca
Saat mengakses sertifikat yang prosesnya tidak memiliki hak istimewa baca, Anda akan melihat pesan pengecualian yang mirip dengan contoh berikut:
System.ArgumentException was unhandled
Message="The certificate 'CN=localhost' must have a private key that is capable of key exchange. The process must have access rights for the private key."
Source="System.ServiceModel"
Ketika ini terjadi, gunakan alat FindPrivateKey untuk menemukan file kunci privat, lalu atur akses ke kanan untuk proses yang dijalankan layanan. Misalnya, ini dapat dilakukan dengan alat Cacls.exe seperti yang ditunjukkan dalam contoh berikut:
cacls.exe "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys\8aeda5eb81555f14f8f9960745b5a40d_38f7de48-5ee9-452d-8a5a-92789d7110b1" /E /G "NETWORK SERVICE":R
Konvensi— entriCommand-Line
"[opsi]" mewakili sekumpulan parameter opsional.
"{option}" mewakili sekumpulan parameter wajib.
"option1 | option2" mewakili pilihan di antara set opsi.
"<value>" mewakili nilai parameter yang akan dimasukkan.
Penggunaan
FindPrivateKey <storeName> <storeLocation> [{ {-n <subjectName>} | {-t <thumbprint>} } [-f | -d | -a]]
Lokasi:
| Pengaturan | Deskripsi |
|---|---|
<subjectName> |
Nama subjek sertifikat |
<thumbprint> |
Sidik jari sertifikat tersebut (Anda dapat menggunakan alat Certmgr.exe untuk menemukannya) |
-f |
nama file output saja |
-d |
direktori output saja |
-a |
nama file absolut output |
Jika tidak ada parameter yang ditentukan pada prompt perintah, maka teks bantuan dengan informasi ini ditampilkan.
Contoh
Contoh ini menemukan nama berkas dari sertifikat dengan nama subjek "CN=localhost", di penyimpanan Pribadi Pengguna Aktif.
FindPrivateKey My CurrentUser -n "CN=localhost"
Contoh ini menemukan nama file sertifikat dengan nama subjek "CN=localhost", di penyimpanan Pribadi Pengguna Saat Ini dan menghasilkan jalur direktori lengkap.
FindPrivateKey My CurrentUser -n "CN=localhost" -a
Contoh ini menemukan nama file sertifikat dengan thumbprint "03 33 98 63 d0 47 e7 48 71 33 62 62 64 76 5c 4c 9d 42 1d 6b 52", di penyimpanan Pribadi Komputer Lokal.
FindPrivateKey My LocalMachine -t "03 33 98 63 d0 47 e7 48 71 33 62 64 76 5c 4c 9d 42 1d 6b 52"