Fungsi CryptFindOIDInfo (wincrypt.h)
Fungsi CryptFindOIDInfo mengambil struktur CRYPT_OID_INFO pertama yang telah ditentukan atau terdaftar yang cocok dengan jenis kunci dan kunci tertentu. Pencarian dapat dibatasi pada pengidentifikasi objek (OID) dalam grup OID tertentu.
Gunakan CryptEnumOIDInfo untuk mencantumkan semua atau subset struktur CRYPT_OID_INFO yang dipilih. Struktur CRYPT_OID_INFO baru dapat didaftarkan dengan menggunakan CryptRegisterOIDInfo. OID yang terdaftar pengguna dapat dihapus dari daftar OID terdaftar dengan menggunakan CryptUnregisterOIDInfo.
OID baru dapat ditempatkan dalam daftar OID terdaftar baik sebelum atau sesudah entri yang telah ditentukan sebelumnya. Karena CryptFindOIDInfo mengembalikan kunci pertama pada daftar yang cocok dengan kriteria pencarian, OID yang baru terdaftar ditempatkan sebelum entri OID yang telah ditentukan sebelumnya dengan kunci yang sama mengambil alih entri yang telah ditentukan sebelumnya.
Sintaks
PCCRYPT_OID_INFO CryptFindOIDInfo(
[in] DWORD dwKeyType,
[in] void *pvKey,
[in] DWORD dwGroupId
);
Parameter
[in] dwKeyType
Menentukan jenis kunci yang akan digunakan saat menemukan informasi OID.
Parameter ini bisa menjadi salah satu jenis kunci berikut.
CRYPT_OID_INFO_OID_KEY
pvKey adalah alamat string ANSI yang dihentikan null yang berisi string OID untuk ditemukan.
CRYPT_OID_INFO_NAME_KEY
pvKey adalah alamat string Unicode yang dihentikan null yang berisi nama untuk ditemukan.
CRYPT_OID_INFO_ALGID_KEY
pvKey adalah alamat variabel ALG_ID . ALG_IDberikut didukung:
Algoritma Hash:
Algoritma Enkripsi Simetris:
Algoritma Kunci Umum:
Algoritma yang tidak tercantum didukung dengan menggunakan Cryptography API: Next Generation (CNG) saja; sebagai gantinya, gunakan CRYPT_OID_INFO_CNG_ALGID_KEY.
CRYPT_OID_INFO_SIGN_KEY
pvKey adalah alamat array dua ALG_IDdi mana elemen pertama berisi pengidentifikasi algoritma hash dan elemen kedua berisi pengidentifikasi algoritma kunci publik.
Kombinasi ALG_ID berikut didukung.
Pengidentifikasi algoritma tanda tangan | Pengidentifikasi algoritma hash |
---|---|
CALG_RSA_SIGN |
|
CALG_DSS_SIGN |
|
CALG_NO_SIGN |
|
Algoritma yang tidak tercantum hanya didukung melalui CNG; sebagai gantinya, gunakan CRYPT_OID_INFO_CNG_SIGN_KEY.
CRYPT_OID_INFO_CNG_ALGID_KEY
pvKey adalah alamat string Unicode null-terminated yang berisi pengidentifikasi algoritma CNG untuk ditemukan. Ini bisa menjadi salah satu Pengidentifikasi Algoritma CNG yang telah ditentukan sebelumnya atau pengidentifikasi algoritma terdaftar lainnya.
Windows Server 2003 R2 Windows Server 2003 : Jenis kunci ini tidak didukung.CRYPT_OID_INFO_CNG_SIGN_KEY
pvKey adalah alamat array dari dua penunjuk string Unicode yang dihentikan null di mana string pertama berisi pengidentifikasi algoritma CNG hash dan string kedua berisi pengidentifikasi algoritma CNG kunci publik. Ini dapat berasal dari Pengidentifikasi Algoritma CNG yang telah ditentukan sebelumnya atau pengidentifikasi algoritma terdaftar lainnya.
Windows Server 2003 R2 Windows Server 2003 : Jenis kunci ini tidak didukung.Secara opsional, jenis kunci berikut dapat ditentukan dalam parameter dwKeyType dengan menggunakan operator OR logis (|).
[in] pvKey
Alamat buffer yang berisi informasi pencarian tambahan. Parameter ini tergantung pada nilai parameter dwKeyType . Untuk informasi selengkapnya, lihat tabel di bawah dwKeyType.
[in] dwGroupId
Pengidentifikasi grup yang akan digunakan saat menemukan informasi OID. Mengatur parameter ini ke nol mencari semua grup sesuai dengan parameter dwKeyType . Jika tidak, hanya dwGroupId yang ditunjukkan yang dicari.
Untuk informasi tentang kode yang mencantumkan informasi OID menurut pengidentifikasi grup, lihat CryptEnumOIDInfo.
Secara opsional, bendera berikut dapat ditentukan dalam parameter dwGroupId dengan menggunakan operator OR logis (|).
Nilai | Makna |
---|---|
|
Menonaktifkan pencarian server direktori. |
Panjang bit yang digeser ke kiri 16 bit dapat ditentukan dalam parameter dwGroupId dengan menggunakan operator OR logis (|). Untuk informasi selengkapnya, lihat Keterangan.
Nilai kembali
Mengembalikan penunjuk ke struktur konstan jenis CRYPT_OID_INFO. Pointer yang dikembalikan tidak boleh dibebaskan. Ketika kunci dan grup yang ditentukan tidak ditemukan, NULL dikembalikan.
Keterangan
Fungsi CryptFindOIDInfo melakukan pencarian di direktori aktif untuk mengambil nama OID yang mudah diingat dalam kondisi berikut:
- Jenis kunci dalam parameter dwKeyType diatur ke CRYPT_OID_INFO_OID_KEY atau CRYPT_OID_INFO_NAME_KEY.
- Tidak ada pengidentifikasi grup yang ditentukan dalam parameter dwGroupId atau GroupID mengacu pada OID EKU, OID kebijakan, atau OID templat.
Panjang bit yang digeser ke kiri 16 bit dapat ditentukan dalam parameter dwGroupId dengan menggunakan operator OR logis (|). Ini hanya berlaku untuk entri grup CRYPT_ENCRYPT_ALG_OID_GROUP_ID yang memiliki panjang bit yang ditentukan dalam anggota ExtraInfo dari struktur CRYPT_OID_INFO . Saat ini, hanya algoritma enkripsi AES yang memiliki ini. Konstanta CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT dapat digunakan untuk melakukan pergeseran. Misalnya, untuk menemukan informasi OID untuk BCRYPT_AES_ALGORITHM dengan panjang bit sama dengan 192, panggil CryptFindOIDInfo sebagai berikut.
DWORD dwBitLen = 192;
PCCRYPT_OID_INFO pOIDInfo = CryptFindOIDInfo(
CRYPT_OID_INFO_CNG_ALGID_KEY,
(void *) BCRYPT_AES_ALGORITHM,
CRYPT_ENCRYPT_ALG_OID_GROUP_ID |
(dwBitLen << CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT)
);
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Crypt32.lib |
DLL | Crypt32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk