Bagikan melalui


Metode ICertAdmin2::GetCAProperty (certadm.h)

Metode GetCAProperty mengambil nilai properti untuk otoritas sertifikasi (CA). Metode ini pertama kali didefinisikan dalam antarmuka ICertAdmin .

Sintaks

HRESULT GetCAProperty(
  [in]  const BSTR strConfig,
  [in]  LONG       PropId,
  [in]  LONG       PropIndex,
  [in]  LONG       PropType,
  [in]  LONG       Flags,
  [out] VARIANT    *pvarPropertyValue
);

Parameter

[in] strConfig

Mewakili string konfigurasi yang valid untuk CA dalam bentuk COMPUTERNAME\CANAME, di mana COMPUTERNAME adalah nama jaringan server Certificate Services, dan CANAME adalah nama umum CA, seperti yang dimasukkan selama penyiapan Layanan Sertifikat. Untuk informasi tentang nama string konfigurasi, lihat ICertConfig.

GetCAPropertypenting tidak menghapus cache internal saat string konfigurasi diubah. Saat Anda mengubah string konfigurasi untuk CA, Anda harus membuat instans objek ICertAdmin baru dan memanggil metode ini lagi dengan string konfigurasi baru.
 

[in] PropId

Menentukan salah satu pengidentifikasi properti berikut.

Nilai Makna
CR_PROP_ADVANCEDSERVER
Jenis data properti: Panjang

Menentukan apakah CA menjalankan Server Tingkat Lanjut.

CR_PROP_BASECRL
Jenis data properti: Biner, terindeks

Daftar pencabutan sertifikat (CRL) lengkap, atau dasar CA.

CR_PROP_BASECRLPUBLISHSTATUS
Jenis data properti: Panjang, terindeks

Status penerbitan CRL dasar. Untuk mengetahui detail selengkapnya, harap lihat Keterangan.

CR_PROP_CABACKWARDCROSSCERT
Jenis data properti: Biner, terindeks

Sertifikat silang mundur. Sertifikat silang mundur adalah sertifikat yang dikeluarkan setelah perpanjangan dari CA ke dirinya sendiri yang ditandatangani dengan kunci baru CA. Sertifikat silang mundur memiliki pengidentifikasi kunci otoritas sertifikat CA baru dan pengidentifikasi kunci subjek sertifikat CA lama.

Hanya berlaku untuk CA akar.

CR_PROP_CABACKWARDCROSSCERTSTATE
Jenis data properti: Panjang, terindeks

Apakah sertifikat silang mundur valid. Hanya berlaku untuk CA akar.

CR_PROP_CACERTSTATE
Jenis data properti: Panjang

Status sertifikat CA. Nilainya dapat berupa:

  • CA_DISP_REVOKED
  • CA_DISP_VALID
  • CA_DISP_INVALID
CR_PROP_CACERTSTATUSCODE
Jenis data properti: Panjang, terindeks

Status sertifikat CA, sebagai HRESULT.

CR_PROP_CACERTVERSION
Jenis data properti: Panjang, terindeks

Versi sertifikat CA, sebagai DWORD. Kata urutan tinggi adalah indeks kunci, dan kata urutan rendah adalah indeks sertifikat CA.

CR_PROP_CAFORWARDCROSSCERT
Jenis data properti: Biner, terindeks

Sertifikat silang ke depan. Sertifikat silang penerusan adalah sertifikat yang dikeluarkan setelah perpanjangan dari CA ke dirinya sendiri yang ditandatangani dengan kunci CA sebelumnya. Sertifikat silang ke depan memiliki pengidentifikasi kunci otoritas dari sertifikat CA sebelumnya dan pengidentifikasi kunci subjek sertifikat CA baru.

Hanya berlaku untuk CA akar.

CR_PROP_CAFORWARDCROSSCERTSTATE
Jenis data properti: Panjang, terindeks

Apakah sertifikat silang penerusan valid. Hanya berlaku untuk CA akar.

CR_PROP_CANAME
Jenis data properti: String

Nama CA.

CR_PROP_CASIGCERT
Jenis data properti: Biner, terindeks

Sertifikat penandatanganan CA.

CR_PROP_CASIGCERTCHAIN
Jenis data properti: Biner, terindeks

Rantai sertifikat penandatanganan CA.

CR_PROP_CASIGCERTCOUNT
Jenis data properti: Panjang

Jumlah sertifikat penandatanganan untuk CA.

CR_PROP_CASIGCERTCRLCHAIN
Jenis data properti: Biner, terindeks

Rantai CRL sertifikat penandatanganan CA.

CR_PROP_CATYPE
Jenis data properti: Panjang

Jenis CA. Ini bisa menjadi salah satu nilai berikut (didefinisikan dalam Certsrv.h):

  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CR_PROP_CAXCHGCERT
Jenis data properti: Biner, terindeks

Sertifikat pertukaran CA.

CR_PROP_CAXCHGCERTCHAIN
Jenis data properti: Biner, terindeks

Rantai sertifikat pertukaran CA.

CR_PROP_CAXCHGCERTCOUNT
Jenis data properti: Panjang

Jumlah sertifikat pertukaran untuk CA.

CR_PROP_CAXCHGCERTCRLCHAIN
Jenis data properti: Biner, terindeks

Rantai CRL sertifikat pertukaran CA.

CR_PROP_CERTAIAURLS
Jenis data properti: String, terindeks

Menentukan URL Akses Informasi Otoritas sebagai jenis URL yang diminta oleh klien.

Windows Server 2003: Bendera ini tidak didukung.

CR_PROP_CERTCDPURLS
Jenis data properti: String, terindeks

Menentukan URL Titik Distribusi CRL sebagai jenis URL yang diminta oleh klien.

Windows Server 2003: Bendera ini tidak didukung.

CR_PROP_CRLSTATE
Jenis data properti: Panjang

Status CRL CA. Nilainya dapat berupa:

  • CA_DISP_REVOKED
  • CA_DISP_VALID
  • CA_DISP_INVALID
  • CA_DISP_ERROR
CR_PROP_DELTACRL
Jenis data properti: Biner, terindeks

CRL delta CA.

CR_PROP_DELTACRLPUBLISHSTATUS
Jenis data properti: Panjang, terindeks

Status penerbitan CRL delta. Untuk mengetahui detail selengkapnya, harap lihat Keterangan.

CR_PROP_DNSNAME
Jenis data properti: String

Nama DNS CA.

CR_PROP_EXITCOUNT
Jenis data properti: Panjang

Jumlah modul keluar yang digunakan oleh CA.

CR_PROP_EXITDESCRIPTION
Jenis data properti: String

Deskripsi untuk modul keluar.

CR_PROP_FILEVERSION
Jenis data properti: String

Versi file Layanan Sertifikat.

CR_PROP_KRACERT
Jenis data properti: Biner, terindeks

Sertifikat agen pemulihan kunci (KRA) CA.

CR_PROP_KRACERTCOUNT
Jenis data properti: Panjang

Jumlah sertifikat KRA untuk CA.

CR_PROP_KRACERTSTATE
Jenis data properti: Panjang, terindeks

Status sertifikat KRA. Nilai yang dikembalikan adalah salah satu dari yang berikut ini:

  • KRA_DISP_EXPIRED
  • KRA_DISP_NOTFOUND
  • KRA_DISP_REVOKED
  • KRA_DISP_VALID
  • KRA_DISP_UNTRUSTED
  • KRA_DISP_NOTLOADED
  • KRA_DISP_INVALID
CR_PROP_KRACERTUSEDCOUNT
Jenis data properti: Panjang

Jumlah sertifikat KRA yang digunakan oleh CA.

CR_PROP_PARENTCA
Jenis data properti: String

Nama CA induk CA.

CR_PROP_POLICYDESCRIPTION
Jenis data properti: String

Deskripsi untuk modul kebijakan.

CR_PROP_PRODUCTVERSION
Jenis data properti: String

Versi produk tempat file dikirim.

CR_PROP_ROLESEPARATIONENABLED
Jenis data properti: Panjang

Nilai yang menentukan apakah pemisahan peran diaktifkan.

CR_PROP_SANITIZEDCANAME
Jenis data properti: String

Nama CA yang dibersamakan. Untuk definisi nama CA yang dibersakan, lihat ICertConfig2::GetConfig.

CR_PROP_SANITIZEDCASHORTNAME
Jenis data properti: String

Nama pendek CA yang dibersamakan. Untuk definisi nama pendek CA yang dibersamakan, lihat ICertConfig2::GetConfig.

CR_PROP_SHAREDFOLDER
Jenis data properti: String

Nama direktori folder bersama.

CR_PROP_TEMPLATES
Jenis data properti: String

Daftar templat yang didukung oleh CA.

[in] PropIndex

Jika parameter PropId diindeks, indeks berbasis nol yang akan digunakan saat mengambil nilai properti. Jika PropId tidak diindeks, nilai ini diabaikan.

[in] PropType

Menentukan jenis properti, yang ditunjukkan dalam kolom Arti dari tabel PropId . Jenisnya bisa menjadi salah satu jenis berikut.

Nilai Makna
PROPTYPE_LONG
Data panjang yang ditandatangani
PROPTYPE_DATE
Tanggal/waktu (dicadangkan untuk penggunaan di masa mendatang)
PROPTYPE_BINARY
Data biner
PROPTYPE_STRING
Data untai (karakter) Unicode

[in] Flags

Bendera berikut dapat digunakan untuk menentukan format nilai properti yang dikembalikan; bendera ini hanya memiliki arti untuk data biner (seperti sertifikat, rantai sertifikat, atau daftar pencabutan sertifikat) dan diabaikan sebaliknya.

Nilai Makna
CV_OUT_BASE64
BASE64 tanpa BEGIN/END
CV_OUT_BASE64HEADER
BASE64 dengan BEGIN CERTIFICATE dan END CERTIFICATE
CV_OUT_BASE64REQUESTHEADER
BASE64 dengan BEGIN NEW CERTIFICATE REQUEST dan END NEW CERTIFICATE REQUEST
CV_OUT_BASE64X509CRLHEADER
BASE64 dengan BEGIN X509 CRL dan END X509 CRL
CV_OUT_BINARY
Biner
CV_OUT_HEX
String heksadesimal
CV_OUT_HEXADDR
String heksadesimal dengan alamat/offset
CV_OUT_HEXASCII
String heksadesimal dengan ASCII
CV_OUT_HEXASCIIADDR
String heksadesimal dengan ASCII dan alamat/offset

[out] pvarPropertyValue

Penunjuk ke buffer yang menerima nilai properti yang diminta. Adalah tanggung jawab penelepon untuk membebaskan sumber daya ini ketika dilakukan dengan memanggil VariantClear.

Mengembalikan nilai

C++

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan metode berhasil.

VB

Nilai properti yang diminta.

Keterangan

Nilai berikut dikembalikan saat pengidentifikasi properti CR_PROP_BASECRLPUBLISHSTATUS atau CR_PROP_DELTACRLPUBLISHSTATUS. Nilai-nilai ini dapat digabungkan.

Nilai Deskripsi
CPF_BADURL_ERROR URL tidak valid.
CPF_BASE CRL dasar diterbitkan.
CPF_CASTORE_ERROR Kesalahan penyimpanan CA mencegah publikasi.
CPF_COMPLETE CRL lengkap diterbitkan.
CPF_DELTA Delta CRL diterbitkan.
CPF_FILE_ERROR Kesalahan file mencegah publikasi.
CPF_FTP_ERROR Kesalahan FTP mencegah publikasi.
CPF_HTTP_ERROR Kesalahan HTTP mencegah publikasi.
CPF_LDAP_ERROR Kesalahan LDAP mencegah publikasi.
CPF_MANUAL CRL diterbitkan secara manual.
CPF_SHADOW CRL delta kosong diterbitkan, bersama dengan BASE CRL baru.
CPF_SIGNATURE_ERROR Kesalahan tanda tangan mencegah publikasi.
 

Untuk contoh pengambilan CRL, lihat Mengambil Daftar Pencabutan Sertifikat.

Contoh

Contoh berikut menunjukkan pengambilan sertifikat tanda tangan CA. Contoh mengasumsikan penunjuk antarmuka ICertAdmin2 valid.

BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;

bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
    printf("Failed to allocate memory for bstrCA\n");
    exit(1);
}

VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
                                CR_PROP_CASIGCERT,
                                0,
                                PROPTYPE_BINARY,
                                CV_OUT_BASE64HEADER,
                                &var1);
if (FAILED(hr))
{
    printf("Failed GetCAProperty\n");
    SysFreeString(bstrCA);
    exit(1);  // Or other error action.
}

// Use the property as needed.
// ...

// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);

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 certadm.h (termasuk Certsrv.h)
Pustaka Certidl.lib
DLL Certadm.dll