Bagikan melalui


Metode ICertServerPolicy::GetCertificateExtension (certif.h)

Metode GetCertificateExtension mengambil ekstensi sertifikat tertentu.

Sintaks

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

Parameter

[in] strExtensionName

String yang berisi nama ekstensi.

[in] Type

Menentukan jenis ekstensi. Jenisnya bisa menjadi salah satu nilai berikut.

Nilai Makna
PROPTYPE_LONG
Data panjang yang ditandatangani
PROPTYPE_DATE
Tanggal/Waktu
PROPTYPE_BINARY
Nilai ekstensi diambil apa adanya dan dikodekan ASN.1 jika perlu.
PROPTYPE_STRING
Nilai ekstensi adalah ASN.1 yang dikodekan sebagai string IA5.

[out] pvarValue

Pointer ke VARIAN yang menerima nilai ekstensi yang diminta.

Nilai kembali

C++

Jika metode berhasil, metode mengembalikan S_OK, dan parameter pvarValue berisi nilai ekstensi.

Jika metode gagal, metode mengembalikan nilai HRESULT yang menunjukkan kesalahan. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.

VB

Nilai yang dikembalikan adalah nilai ekstensi yang diminta.

Keterangan

Metode SetContext harus dipanggil sebelum memanggil metode ini. Panggilan ke SetContext menentukan permintaan mana yang digunakan sebagai konteks saat ini.

Ekstensi sertifikat berbeda dari properti sertifikat. Properti adalah data generik yang dilampirkan ke permintaan. Beberapa properti ini dikodekan ke dalam sertifikat (misalnya: BeginDate), sementara yang lain hanya digunakan untuk menandai permintaan dalam antrean dan log. Ekstensi yang tidak dinonaktifkan dikodekan ke dalam sertifikat. Ekstensi selalu ditandai dengan pengidentifikasi objek, dan selalu memiliki bendera kritis/nonkritis.

Contoh

VARIANT    varExt;
HRESULT    hr;

VariantInit(&varExt);
// Get the Extension value.
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->GetCertificateExtension(bstrExtName,
                                                PROPTYPE_BINARY,
                                                &varExt);

if (FAILED(hr))
{
    printf("Failed GetCertificateExtension [%x]\n", hr);
    goto error;
}
// Successful call; use the value in varExt as needed.
// ...

// When done, clear the Variant
VariantClear(&varExt);

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tidak ada yang didukung
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header certif.h (termasuk Certsrv.h)
Pustaka Certidl.lib
DLL Certcli.dll

Lihat juga

ICertServerPolicy

ICertServerPolicy::GetCertificateExtensionFlags

ICertServerPolicy::SetContext