Antarmuka IX509CertificateRequestPkcs7 (certenroll.h)

Antarmuka IX509CertificateRequestPkcs7 mewakili objek sintaks pesan sertifikat (CMS) PKCS #7. PKCS #7 mendefinisikan format pesan yang dikirim ke otoritas sertifikasi atau pendaftaran untuk meminta sertifikat kunci publik. Antarmuka IX509CertificateRequestPkcs7 bisa membingungkan karena implementasinya tidak sepenuhnya mencerminkan cara sebagian besar profesional keamanan memikirkan standar PKCS #7. Untuk menghindari kebingungan ini, ingatlah poin-poin berikut:

  • Meskipun pesan PKCS #7 digunakan untuk membungkus permintaan CMC, objek IX509CertificateRequestPkcs7 tidak dapat berisi objek IX509CertificateRequestCmc . Sebaliknya, antarmuka IX509CertificateRequestCmc mewarisi dan mengimplementasikan antarmuka IX509CertificateRequestPkcs7 . Seperti yang diimplementasikan, permintaan CMC oleh karena itu adalah objek PKCS #7 SignedData yang berisi konten CMC, tanda tangan utama yang ditandatangani null atau berbasis kunci, dan nol atau lebih tanda tangan berbasis sertifikat. Sebaliknya, permintaan PKCS #7 adalah objek SignedData yang berisi konten PKCS #10 (lihat item berikutnya dalam daftar ini) dan memiliki tepat satu tanda tangan berbasis sertifikat.
  • IX509CertificateRequestPkcs7 harus berisi objek IX509CertificateRequestPkcs10. Keuntungan utama membungkus permintaan #10 PKCS dalam pesan PKCS #7 adalah kemampuan untuk menambahkan beberapa penanda tangan. Permintaan PKCS #10 ditandatangani oleh kunci privat terkait, dan pesan PKCS #7 yang membungkus permintaan #10 PKCS juga ditandatangani. Penanda tangan kedua ini menggunakan sertifikat yang diperpanjang (untuk permintaan perpanjangan) atau sertifikat agen pendaftaran (untuk permintaan pendaftaran atas nama).
  • Anda dapat membuat dan mendaftarkan permintaan sertifikat IX509CertificateRequestPkcs10 yang berdiri sendiri tanpa membungkusnya dalam objek IX509CertificateRequestPkcs7 .

Representasi ASN.1 dari objek PKCS #7 dalam contoh sintaks berikut menunjukkan bahwa objek dapat terdiri dari berbagai jenis data.


PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
{
    data | signed-data | enveloped-data | signed-and-enveloped-data |
    digested-data | encrypted-data | authenticated-data, ...
}

Dari jumlah tersebut, objek SignedData yang ditunjukkan di bawah ini paling relevan. Objek SignerInfo yang direferensikan dalam objek SignedData berisi informasi tanda tangan. Untuk diskusi yang lebih lengkap, lihat Atribut PKCS #7.


-------------------------------------------------------------------
-- signed-data
-------------------------------------------------------------------

SignedData ::= SEQUENCE 
{
  version           INTEGER,
  digestAlgorithms  DigestAlgorithmIdentifiers,
  contentInfo       ContentInfo,
  certificates      [0] IMPLICIT Certificates OPTIONAL,
  crls              [1] IMPLICIT CertificateRevocationLists OPTIONAL,
  signerInfos       SignerInfos
}

SignerInfo ::= SEQUENCE 
{
  version                     INTEGER,
  sid                         CertIdentifier,
  digestAlgorithm             DigestAlgorithmIdentifier,
  authenticatedAttributes     [0] IMPLICIT Attributes OPTIONAL,
  signatureAlgorithm          SignatureAlgorithmIdentifier,
  signature                   SignatureValue,
  unauthenticatedAttributes   [1] IMPLICIT Attributes
}
 

Warisan

Antarmuka IX509CertificateRequestPkcs7 mewarisi dari IX509CertificateRequest. IX509CertificateRequestPkcs7 juga memiliki jenis anggota berikut:

Metode

Antarmuka IX509CertificateRequestPkcs7 memiliki metode ini.

 
IX509CertificateRequestPkcs7::get_RequesterName

Menentukan atau mengambil string yang berisi nama Security Account Manager (SAM) dari entitas akhir yang meminta sertifikat. (Dapatkan)
IX509CertificateRequestPkcs7::get_SignerCertificate

Menentukan atau mengambil sertifikat yang digunakan untuk menandatangani permintaan sertifikat. (Dapatkan)
IX509CertificateRequestPkcs7::InitializeDecode

Mendekode PKCS yang ditandatangani atau tidak ditandatangani yang ada (IX509CertificateRequestPkcs7.InitializeDecode)
IX509CertificateRequestPkcs7::InitializeFromCertificate

Menginisialisasi permintaan sertifikat dengan menggunakan sertifikat yang ada. (IX509CertificateRequestPkcs7.InitializeFromCertificate)
IX509CertificateRequestPkcs7::InitializeFromInnerRequest

Menginisialisasi permintaan sertifikat dari PKCS dalam
IX509CertificateRequestPkcs7::InitializeFromTemplateName

Menginisialisasi permintaan sertifikat dengan menggunakan templat. (IX509CertificateRequestPkcs7.InitializeFromTemplateName)
IX509CertificateRequestPkcs7::p ut_RequesterName

Menentukan atau mengambil string yang berisi nama Security Account Manager (SAM) dari entitas akhir yang meminta sertifikat. (Put)
IX509CertificateRequestPkcs7::p ut_SignerCertificate

Menentukan atau mengambil sertifikat yang digunakan untuk menandatangani permintaan sertifikat. (Put)

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header certenroll.h

Lihat juga

Antarmuka CertEnroll

IX509CertificateRequest