98
98
typedef struct SEC_PKCS7RecipientInfoStr SEC_PKCS7RecipientInfo;
99
99
typedef struct SEC_PKCS7DigestedDataStr SEC_PKCS7DigestedData;
100
100
typedef struct SEC_PKCS7EncryptedDataStr SEC_PKCS7EncryptedData;
101
typedef struct SEC_PKCS7SMIMEKEAParametersStr SEC_PKCS7SMIMEKEAParameters;
103
102
* The following is not actually a PKCS7 type, but for now it is only
104
103
* used by PKCS7, so we have adopted it. If someone else *ever* needs
223
222
PRBool encoded; /* when true, values are encoded */
226
/* An enumerated type used to select templates based on the encryption
227
scenario and data specifics. */
231
SECKEAUsesSkipjack = 0,
232
SECKEAUsesNonSkipjack = 1,
233
SECKEAUsesNonSkipjackWithPaddedEncKey = 2
234
} SECKEATemplateSelector;
236
/* ### mwelch - S/MIME KEA parameters. These don't really fit here,
237
but I cannot think of a more appropriate place at this time. */
238
struct SEC_PKCS7SMIMEKEAParametersStr {
239
SECItem originatorKEAKey; /* sender KEA key (encrypted?) */
240
SECItem originatorRA; /* random number generated by sender */
241
SECItem nonSkipjackIV; /* init'n vector for SkipjackCBC64
242
decryption of KEA key if Skipjack
243
is not the bulk algorithm used on
245
SECItem bulkKeySize; /* if Skipjack is not the bulk
246
algorithm used on the message,
247
and the size of the bulk encryption
248
key is not the same as that of
249
originatorKEAKey (due to padding
250
perhaps), this field will contain
251
the real size of the bulk encryption
256
226
* Type of function passed to SEC_PKCS7Decode or SEC_PKCS7DecoderStart.
257
227
* If specified, this is where the content bytes (only) will be "sent"