struktur CMSG_ENVELOPED_ENCODE_INFO (wincrypt.h)
Struktur CMSG_ENVELOPED_ENCODE_INFO berisi informasi yang diperlukan untuk mengodekan pesan yang diselimuti. Ini diteruskan ke CryptMsgOpenToEncode jika parameter dwMsgType CMSG_ENVELOPED.
Sintaks
typedef struct _CMSG_ENVELOPED_ENCODE_INFO {
DWORD cbSize;
HCRYPTPROV_LEGACY hCryptProv;
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
void *pvEncryptionAuxInfo;
DWORD cRecipients;
PCERT_INFO *rgpRecipients;
PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients;
DWORD cCertEncoded;
PCERT_BLOB rgCertEncoded;
DWORD cCrlEncoded;
PCRL_BLOB rgCrlEncoded;
DWORD cAttrCertEncoded;
PCERT_BLOB rgAttrCertEncoded;
DWORD cUnprotectedAttr;
PCRYPT_ATTRIBUTE rgUnprotectedAttr;
} CMSG_ENVELOPED_ENCODE_INFO, *PCMSG_ENVELOPED_ENCODE_INFO;
Anggota
cbSize
Ukuran, dalam byte, dari struktur ini.
hCryptProv
Anggota ini tidak digunakan dan harus diatur ke NULL.
Windows Server 2003 dan Windows XP: Menentukan handel ke penyedia layanan kriptografi (CSP) yang digunakan untuk melakukan enkripsi konten, enkripsi kunci penerima, dan ekspor. Kunci privat hCryptProv tidak digunakan.
Jenis data anggota ini adalah HCRYPTPROV.
Kecuali ada alasan kuat untuk meneruskan penyedia kriptografi tertentu di hCryptProv, teruskan nol untuk menggunakan penyedia RSA atau DSS default.
ContentEncryptionAlgorithm
Struktur CRYPT_ALGORITHM_IDENTIFIER yang berisi jenis algoritma tanda tangan dan parameter tambahan terkait dalam bentuk yang dikodekan.
Anggota pszObjId dari struktur menentukan algoritma yang digunakan untuk mengenkripsi konten pesan.
Algoritma enkripsi berikut memerlukan vektor inisialisasi delapan byte (IV) yang dikodekan dalam anggota parameter struktur. Untuk detailnya, lihat CryptSetKeyParam.
Nilai | Makna |
---|---|
|
szOID_OIWSEC_desCBC |
|
szOID_RSA_DES_EDE3_CBC |
Jika anggota cbData dari anggota Parameter adalah nol, STRING OCTET yang dikodekan Abstract Syntax Notation One (ASN.1) yang berisi IV dihasilkan menggunakan CryptGenRandom.
Algoritma szOID_RSA_RC2CBC (CALG_RC2) mengharuskan anggota Parameter pbData menjadi struktur CRYPT_RC2_CBC_PARAMETERS yang dikodekan. Jika anggota cbData dari anggota Parameter adalah nol, CRYPT_RC2_CBC_PARAMETERS yang dikodekan ASN.1 dihasilkan dengan nilai default 40 untuk anggota dwVersion . Ini mengatur panjang kunci default menjadi 40 bit. Panjang kunci default ini dapat diganti dengan pvEncryptionAuxInfo yang menunjuk ke struktur CMSG_RC2_AUX_INFO yang berisi panjang kunci yang diinginkan.
pvEncryptionAuxInfo
Penunjuk ke struktur tergantung pada algoritma enkripsi.
Nilai | Makna |
---|---|
|
|
|
|
|
|
|
NULL |
cRecipients
Jumlah elemen dalam array rgpRecipients atau rgCmsRecipients .
rgpRecipients
Array pointer ke struktur CERT_INFO , masing-masing berisi Penerbit sertifikat penerima, SerialNumber, dan SubjectPublicKeyInfo. Array ini hanya dapat digunakan untuk penerima yang diidentifikasi oleh Penerbit dan nomor seri mereka. Jika rgpRecipients bukan NULL, rgCmsRecipients harus NULL.
rgCmsRecipients
Opsional. Array pointer ke struktur CMSG_RECIPIENT_ENCODE_INFO yang berisi informasi penerima. Jika rgCmsRecipients bukan NULL, rgpRecipients harus NULL. CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
cCertEncoded
Opsional. Nilai DWORD yang menunjukkan jumlah sertifikat yang dikodekan dalam array rgCertEncoded . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
rgCertEncoded
Opsional. Array struktur CERT_BLOB . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
cCrlEncoded
Opsional. Nilai DWORD yang menunjukkan jumlah daftar pencabutan sertifikat yang dikodekan (CRL) dalam array rgCRLEncoded . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
rgCrlEncoded
Opsional. Array struktur CRL_BLOB . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
cAttrCertEncoded
Opsional. Nilai DWORD yang menunjukkan jumlah atribut sertifikat yang dikodekan dalam array rgAttrCertEncoded . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
rgAttrCertEncoded
Opsional. Array struktur CRYPT_ATTRIBUTE . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus didefinisikan untuk mereferensikan anggota ini.
cUnprotectedAttr
Opsional. Nilai DWORD yang menunjukkan jumlah atribut yang tidak terlindungi dalam array rgUnprotectedAttr . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
rgUnprotectedAttr
Opsional. Array struktur CRYPT_ATTRIBUTE . CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS harus ditentukan untuk mereferensikan bidang ini.
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Header | wincrypt.h |