Metode ICertServerExit::GetCertificateExtension (certif.h)

Metode GetCertificateExtension mendapatkan ekstensi sertifikat tertentu.

Perhatikan bahwa ekstensi sertifikat berbeda dari properti sertifikat. Properti adalah data generik yang dilampirkan ke objek 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.

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 jenis 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.

Mengembalikan nilai

C++

Jika metode berhasil, metode mengembalikan S_OK, dan *pvarValue diatur ke VARIAN yang 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

Anda harus memanggil ICertServerExit::SetContext sebelum menggunakan metode ini.

Contoh

VARIANT  varExt;
HRESULT  hr;

VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->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

   
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

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext