summaryrefslogtreecommitdiff
path: root/security/nss/lib/smime/cmsreclist.h
blob: f424aca6ed4cd4e5d8e1cabd473b5108bdc5761b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef _CMSRECLIST_H
#define _CMSRECLIST_H

struct NSSCMSRecipientStr {
    int riIndex;  /* this recipient's index in recipientInfo array */
    int subIndex; /* index into recipientEncryptedKeys */
                  /* (only in NSSCMSKeyAgreeRecipientInfoStr) */
    enum { RLIssuerSN = 0,
           RLSubjKeyID = 1 } kind; /* for conversion recipientinfos -> recipientlist */
    union {
        CERTIssuerAndSN* issuerAndSN;
        SECItem* subjectKeyID;
    } id;

    /* result data (filled out for each recipient that's us) */
    CERTCertificate* cert;
    SECKEYPrivateKey* privkey;
    PK11SlotInfo* slot;
};

typedef struct NSSCMSRecipientStr NSSCMSRecipient;

#endif /* _CMSRECLIST_H */