Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 18.118.31.32
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
nss3 /
Delete
Unzip
Name
Size
Permission
Date
Action
templates
[ DIR ]
drwxr-xr-x
2021-11-09 08:47
alghmac.h
2.2
KB
-rw-r--r--
2021-06-10 12:33
base64.h
1.13
KB
-rw-r--r--
2021-06-10 12:33
blapi.h
67.12
KB
-rw-r--r--
2021-06-10 12:33
blapit.h
13.54
KB
-rw-r--r--
2021-06-10 12:33
cert.h
59.38
KB
-rw-r--r--
2021-06-10 12:33
certdb.h
3.13
KB
-rw-r--r--
2021-06-10 12:33
certt.h
47.31
KB
-rw-r--r--
2021-06-10 12:33
ciferfam.h
2.41
KB
-rw-r--r--
2021-06-10 12:33
cmac.h
1.55
KB
-rw-r--r--
2021-06-10 12:33
cmmf.h
42.19
KB
-rw-r--r--
2021-06-10 12:33
cmmft.h
2.25
KB
-rw-r--r--
2021-06-10 12:33
cms.h
38.83
KB
-rw-r--r--
2021-06-10 12:33
cmsreclist.h
908
B
-rw-r--r--
2021-06-10 12:33
cmst.h
16.87
KB
-rw-r--r--
2021-06-10 12:33
crmf.h
62.92
KB
-rw-r--r--
2021-06-10 12:33
crmft.h
5.33
KB
-rw-r--r--
2021-06-10 12:33
cryptohi.h
17.87
KB
-rw-r--r--
2021-06-10 12:33
cryptoht.h
426
B
-rw-r--r--
2021-06-10 12:33
eccutil.h
388
B
-rw-r--r--
2021-06-10 12:33
ecl-exp.h
6.76
KB
-rw-r--r--
2021-06-10 12:33
hasht.h
1.63
KB
-rw-r--r--
2021-10-13 23:13
jar-ds.h
1.92
KB
-rw-r--r--
2021-06-10 12:33
jar.h
9.91
KB
-rw-r--r--
2021-06-10 12:33
jarfile.h
1.66
KB
-rw-r--r--
2021-06-10 12:33
key.h
425
B
-rw-r--r--
2021-06-10 12:33
keyhi.h
8.27
KB
-rw-r--r--
2021-06-10 12:33
keyt.h
431
B
-rw-r--r--
2021-06-10 12:33
keythi.h
6.86
KB
-rw-r--r--
2021-06-10 12:33
lowkeyi.h
2.25
KB
-rw-r--r--
2021-06-10 12:33
lowkeyti.h
2.83
KB
-rw-r--r--
2021-06-10 12:33
nss.h
14.06
KB
-rw-r--r--
2021-06-10 12:33
nssb64.h
3.17
KB
-rw-r--r--
2021-06-10 12:33
nssb64t.h
466
B
-rw-r--r--
2021-06-10 12:33
nssckbi.h
2.45
KB
-rw-r--r--
2021-06-10 12:33
nssilckt.h
5.78
KB
-rw-r--r--
2021-06-10 12:33
nssilock.h
7.56
KB
-rw-r--r--
2021-06-10 12:33
nsslocks.h
380
B
-rw-r--r--
2021-06-10 12:33
nsslowhash.h
1.27
KB
-rw-r--r--
2021-06-10 12:33
nssrwlk.h
4.88
KB
-rw-r--r--
2021-06-10 12:33
nssrwlkt.h
535
B
-rw-r--r--
2021-06-10 12:33
nssutil.h
966
B
-rw-r--r--
2021-06-10 12:33
ocsp.h
28.19
KB
-rw-r--r--
2021-06-10 12:33
ocspt.h
12.22
KB
-rw-r--r--
2021-06-10 12:33
p12.h
9.24
KB
-rw-r--r--
2021-06-10 12:33
p12plcy.h
755
B
-rw-r--r--
2021-06-10 12:33
p12t.h
4.43
KB
-rw-r--r--
2021-06-10 12:33
pk11func.h
494
B
-rw-r--r--
2021-06-10 12:33
pk11hpke.h
1.82
KB
-rw-r--r--
2021-06-10 12:33
pk11pqg.h
6.43
KB
-rw-r--r--
2021-06-10 12:33
pk11priv.h
10.14
KB
-rw-r--r--
2021-06-10 12:33
pk11pub.h
57.21
KB
-rw-r--r--
2021-06-10 12:33
pk11sdr.h
731
B
-rw-r--r--
2021-06-10 12:33
pkcs11.h
7.83
KB
-rw-r--r--
2021-06-10 12:33
pkcs11f.h
31.34
KB
-rw-r--r--
2021-06-10 12:33
pkcs11n.h
25.71
KB
-rw-r--r--
2021-10-13 23:13
pkcs11p.h
869
B
-rw-r--r--
2021-06-10 12:33
pkcs11t.h
86.77
KB
-rw-r--r--
2021-10-13 23:13
pkcs11u.h
709
B
-rw-r--r--
2021-06-10 12:33
pkcs11uri.h
2.32
KB
-rw-r--r--
2021-06-10 12:33
pkcs12.h
1.38
KB
-rw-r--r--
2021-06-10 12:33
pkcs12t.h
10.95
KB
-rw-r--r--
2021-06-10 12:33
pkcs1sig.h
1.17
KB
-rw-r--r--
2021-06-10 12:33
pkcs7t.h
8.99
KB
-rw-r--r--
2021-06-10 12:33
portreg.h
3.01
KB
-rw-r--r--
2021-06-10 12:33
preenc.h
3.75
KB
-rw-r--r--
2021-06-10 12:33
secasn1.h
12.9
KB
-rw-r--r--
2021-06-10 12:33
secasn1t.h
10.66
KB
-rw-r--r--
2021-06-10 12:33
seccomon.h
2.11
KB
-rw-r--r--
2021-06-10 12:33
secder.h
5.92
KB
-rw-r--r--
2021-06-10 12:33
secdert.h
3.88
KB
-rw-r--r--
2021-06-10 12:33
secdig.h
3.29
KB
-rw-r--r--
2021-06-10 12:33
secdigt.h
622
B
-rw-r--r--
2021-06-10 12:33
secerr.h
11.19
KB
-rw-r--r--
2021-06-10 12:33
sechash.h
1.75
KB
-rw-r--r--
2021-06-10 12:33
secitem.h
4.66
KB
-rw-r--r--
2021-06-10 12:33
secmime.h
7
KB
-rw-r--r--
2021-06-10 12:33
secmod.h
7.12
KB
-rw-r--r--
2021-06-10 12:33
secmodt.h
16.17
KB
-rw-r--r--
2021-06-10 12:33
secoid.h
4.92
KB
-rw-r--r--
2021-06-10 12:33
secoidt.h
19.09
KB
-rw-r--r--
2021-06-10 12:33
secpkcs5.h
2.05
KB
-rw-r--r--
2021-06-10 12:33
secpkcs7.h
24.84
KB
-rw-r--r--
2021-06-10 12:33
secport.h
14.32
KB
-rw-r--r--
2021-06-10 12:33
shsign.h
442
B
-rw-r--r--
2021-06-10 12:33
smime.h
5.56
KB
-rw-r--r--
2021-06-10 12:33
ssl.h
68.8
KB
-rw-r--r--
2021-06-10 12:33
sslerr.h
15.96
KB
-rw-r--r--
2021-06-10 12:33
sslexp.h
52.58
KB
-rw-r--r--
2021-06-10 12:33
sslproto.h
14.14
KB
-rw-r--r--
2021-06-10 12:33
sslt.h
20.14
KB
-rw-r--r--
2021-06-10 12:33
utilmodt.h
1.58
KB
-rw-r--r--
2021-06-10 12:33
utilpars.h
3.44
KB
-rw-r--r--
2021-06-10 12:33
utilparst.h
3.34
KB
-rw-r--r--
2021-06-10 12:33
utilrename.h
8.57
KB
-rw-r--r--
2021-06-10 12:33
Save
Rename
/* 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/. */ /* * Header for CMS types. */ #ifndef _CMST_H_ #define _CMST_H_ #include "seccomon.h" #include "secoidt.h" #include "certt.h" #include "secmodt.h" #include "secmodt.h" #include "plarena.h" /* Non-opaque objects. NOTE, though: I want them to be treated as * opaque as much as possible. If I could hide them completely, * I would. (I tried, but ran into trouble that was taking me too * much time to get out of.) I still intend to try to do so. * In fact, the only type that "outsiders" should even *name* is * NSSCMSMessage, and they should not reference its fields. */ /* rjr: PKCS #11 cert handling (pk11cert.c) does use NSSCMSRecipientInfo's. * This is because when we search the recipient list for the cert and key we * want, we need to invert the order of the loops we used to have. The old * loops were: * * For each recipient { * find_cert = PK11_Find_AllCert(recipient->issuerSN); * [which unrolls to... ] * For each slot { * Log into slot; * search slot for cert; * } * } * * the new loop searchs all the recipients at once on a slot. this allows * PKCS #11 to order slots in such a way that logout slots don't get checked * if we can find the cert on a logged in slot. This eliminates lots of * spurious password prompts when smart cards are installed... so why this * comment? If you make NSSCMSRecipientInfo completely opaque, you need * to provide a non-opaque list of issuerSN's (the only field PKCS#11 needs * and fix up pk11cert.c first. NOTE: Only S/MIME calls this special PKCS #11 * function. */ typedef struct NSSCMSMessageStr NSSCMSMessage; typedef union NSSCMSContentUnion NSSCMSContent; typedef struct NSSCMSContentInfoStr NSSCMSContentInfo; typedef struct NSSCMSSignedDataStr NSSCMSSignedData; typedef struct NSSCMSSignerInfoStr NSSCMSSignerInfo; typedef struct NSSCMSSignerIdentifierStr NSSCMSSignerIdentifier; typedef struct NSSCMSEnvelopedDataStr NSSCMSEnvelopedData; typedef struct NSSCMSOriginatorInfoStr NSSCMSOriginatorInfo; typedef struct NSSCMSRecipientInfoStr NSSCMSRecipientInfo; typedef struct NSSCMSDigestedDataStr NSSCMSDigestedData; typedef struct NSSCMSEncryptedDataStr NSSCMSEncryptedData; typedef struct NSSCMSGenericWrapperDataStr NSSCMSGenericWrapperData; typedef struct NSSCMSAttributeStr NSSCMSAttribute; typedef struct NSSCMSDecoderContextStr NSSCMSDecoderContext; typedef struct NSSCMSEncoderContextStr NSSCMSEncoderContext; typedef struct NSSCMSCipherContextStr NSSCMSCipherContext; typedef struct NSSCMSDigestContextStr NSSCMSDigestContext; typedef struct NSSCMSContentInfoPrivateStr NSSCMSContentInfoPrivate; typedef SECStatus (*NSSCMSGenericWrapperDataCallback)(NSSCMSGenericWrapperData *); typedef void (*NSSCMSGenericWrapperDataDestroy)(NSSCMSGenericWrapperData *); extern const SEC_ASN1Template NSSCMSGenericWrapperDataTemplate[]; extern const SEC_ASN1Template NSS_PointerToCMSGenericWrapperDataTemplate[]; SEC_ASN1_CHOOSER_DECLARE(NSS_PointerToCMSGenericWrapperDataTemplate) SEC_ASN1_CHOOSER_DECLARE(NSSCMSGenericWrapperDataTemplate) /* * Type of function passed to NSSCMSDecode or NSSCMSDecoderStart. * If specified, this is where the content bytes (only) will be "sent" * as they are recovered during the decoding. * And: * Type of function passed to NSSCMSEncode or NSSCMSEncoderStart. * This is where the DER-encoded bytes will be "sent". * * XXX Should just combine this with NSSCMSEncoderContentCallback type * and use a simpler, common name. */ typedef void (*NSSCMSContentCallback)(void *arg, const char *buf, unsigned long len); /* * Type of function passed to NSSCMSDecode or NSSCMSDecoderStart * to retrieve the decryption key. This function is intended to be * used for EncryptedData content info's which do not have a key available * in a certificate, etc. */ typedef PK11SymKey *(*NSSCMSGetDecryptKeyCallback)(void *arg, SECAlgorithmID *algid); /* ============================================================================= * ENCAPSULATED CONTENTINFO & CONTENTINFO */ union NSSCMSContentUnion { /* either unstructured */ SECItem *data; /* or structured data */ NSSCMSDigestedData *digestedData; NSSCMSEncryptedData *encryptedData; NSSCMSEnvelopedData *envelopedData; NSSCMSSignedData *signedData; NSSCMSGenericWrapperData *genericData; /* or anonymous pointer to something */ void *pointer; }; struct NSSCMSContentInfoStr { SECItem contentType; NSSCMSContent content; /* --------- local; not part of encoding --------- */ SECOidData *contentTypeTag; /* additional info for encryptedData and envelopedData */ /* we waste this space for signedData and digestedData. sue me. */ SECAlgorithmID contentEncAlg; SECItem *rawContent; /* encrypted DER, optional */ /* XXXX bytes not encrypted, but encoded? */ /* --------- local; not part of encoding --------- */ PK11SymKey *bulkkey; /* bulk encryption key */ int keysize; /* size of bulk encryption key * (only used by creation code) */ SECOidTag contentEncAlgTag; /* oid tag of encryption algorithm * (only used by creation code) */ NSSCMSContentInfoPrivate *privateInfo; /* place for NSS private info */ void *reserved; /* keep binary compatibility */ }; /* ============================================================================= * MESSAGE */ struct NSSCMSMessageStr { NSSCMSContentInfo contentInfo; /* "outer" cinfo */ /* --------- local; not part of encoding --------- */ PLArenaPool *poolp; PRBool poolp_is_ours; int refCount; /* properties of the "inner" data */ SECAlgorithmID **detached_digestalgs; SECItem **detached_digests; void *pwfn_arg; NSSCMSGetDecryptKeyCallback decrypt_key_cb; void *decrypt_key_cb_arg; }; /* ============================================================================ * GENERIC WRAPPER * * used for user defined types. */ struct NSSCMSGenericWrapperDataStr { NSSCMSContentInfo contentInfo; /* ---- local; not part of encoding ------ */ NSSCMSMessage *cmsg; /* wrapperspecific data starts here */ }; /* ============================================================================= * SIGNEDDATA */ struct NSSCMSSignedDataStr { SECItem version; SECAlgorithmID **digestAlgorithms; NSSCMSContentInfo contentInfo; SECItem **rawCerts; CERTSignedCrl **crls; NSSCMSSignerInfo **signerInfos; /* --------- local; not part of encoding --------- */ NSSCMSMessage *cmsg; /* back pointer to message */ SECItem **digests; CERTCertificate **certs; CERTCertificateList **certLists; CERTCertificate **tempCerts; /* temporary certs, needed * for example for signature * verification */ }; #define NSS_CMS_SIGNED_DATA_VERSION_BASIC 1 /* what we *create* */ #define NSS_CMS_SIGNED_DATA_VERSION_EXT 3 /* what we *create* */ typedef enum { NSSCMSVS_Unverified = 0, NSSCMSVS_GoodSignature = 1, NSSCMSVS_BadSignature = 2, NSSCMSVS_DigestMismatch = 3, NSSCMSVS_SigningCertNotFound = 4, NSSCMSVS_SigningCertNotTrusted = 5, NSSCMSVS_SignatureAlgorithmUnknown = 6, NSSCMSVS_SignatureAlgorithmUnsupported = 7, NSSCMSVS_MalformedSignature = 8, NSSCMSVS_ProcessingError = 9 } NSSCMSVerificationStatus; typedef enum { NSSCMSSignerID_IssuerSN = 0, NSSCMSSignerID_SubjectKeyID = 1 } NSSCMSSignerIDSelector; struct NSSCMSSignerIdentifierStr { NSSCMSSignerIDSelector identifierType; union { CERTIssuerAndSN *issuerAndSN; SECItem *subjectKeyID; } id; }; struct NSSCMSSignerInfoStr { SECItem version; NSSCMSSignerIdentifier signerIdentifier; SECAlgorithmID digestAlg; NSSCMSAttribute **authAttr; SECAlgorithmID digestEncAlg; SECItem encDigest; NSSCMSAttribute **unAuthAttr; /* --------- local; not part of encoding --------- */ NSSCMSMessage *cmsg; /* back pointer to message */ CERTCertificate *cert; CERTCertificateList *certList; PRTime signingTime; NSSCMSVerificationStatus verificationStatus; SECKEYPrivateKey *signingKey; /* Used if we're using subjKeyID*/ SECKEYPublicKey *pubKey; }; #define NSS_CMS_SIGNER_INFO_VERSION_ISSUERSN 1 /* what we *create* */ #define NSS_CMS_SIGNER_INFO_VERSION_SUBJKEY 3 /* what we *create* */ typedef enum { NSSCMSCM_None = 0, NSSCMSCM_CertOnly = 1, NSSCMSCM_CertChain = 2, NSSCMSCM_CertChainWithRoot = 3 } NSSCMSCertChainMode; /* ============================================================================= * ENVELOPED DATA */ struct NSSCMSEnvelopedDataStr { SECItem version; NSSCMSOriginatorInfo *originatorInfo; /* optional */ NSSCMSRecipientInfo **recipientInfos; NSSCMSContentInfo contentInfo; NSSCMSAttribute **unprotectedAttr; /* --------- local; not part of encoding --------- */ NSSCMSMessage *cmsg; /* back pointer to message */ }; #define NSS_CMS_ENVELOPED_DATA_VERSION_REG 0 /* what we *create* */ #define NSS_CMS_ENVELOPED_DATA_VERSION_ADV 2 /* what we *create* */ struct NSSCMSOriginatorInfoStr { SECItem **rawCerts; CERTSignedCrl **crls; /* --------- local; not part of encoding --------- */ CERTCertificate **certs; }; /* ----------------------------------------------------------------------------- * key transport recipient info */ typedef enum { NSSCMSRecipientID_IssuerSN = 0, NSSCMSRecipientID_SubjectKeyID = 1, NSSCMSRecipientID_BrandNew = 2 } NSSCMSRecipientIDSelector; struct NSSCMSRecipientIdentifierStr { NSSCMSRecipientIDSelector identifierType; union { CERTIssuerAndSN *issuerAndSN; SECItem *subjectKeyID; } id; }; typedef struct NSSCMSRecipientIdentifierStr NSSCMSRecipientIdentifier; struct NSSCMSKeyTransRecipientInfoStr { SECItem version; NSSCMSRecipientIdentifier recipientIdentifier; SECAlgorithmID keyEncAlg; SECItem encKey; }; typedef struct NSSCMSKeyTransRecipientInfoStr NSSCMSKeyTransRecipientInfo; /* * View comments before NSSCMSRecipientInfoStr for purpose of this * structure. */ struct NSSCMSKeyTransRecipientInfoExStr { NSSCMSKeyTransRecipientInfo recipientInfo; int version; /* version of this structure (0) */ SECKEYPublicKey *pubKey; }; typedef struct NSSCMSKeyTransRecipientInfoExStr NSSCMSKeyTransRecipientInfoEx; #define NSS_CMS_KEYTRANS_RECIPIENT_INFO_VERSION_ISSUERSN 0 /* what we *create* */ #define NSS_CMS_KEYTRANS_RECIPIENT_INFO_VERSION_SUBJKEY 2 /* what we *create* */ /* ----------------------------------------------------------------------------- * key agreement recipient info */ struct NSSCMSOriginatorPublicKeyStr { SECAlgorithmID algorithmIdentifier; SECItem publicKey; /* bit string! */ }; typedef struct NSSCMSOriginatorPublicKeyStr NSSCMSOriginatorPublicKey; typedef enum { NSSCMSOriginatorIDOrKey_IssuerSN = 0, NSSCMSOriginatorIDOrKey_SubjectKeyID = 1, NSSCMSOriginatorIDOrKey_OriginatorPublicKey = 2 } NSSCMSOriginatorIDOrKeySelector; struct NSSCMSOriginatorIdentifierOrKeyStr { NSSCMSOriginatorIDOrKeySelector identifierType; union { CERTIssuerAndSN *issuerAndSN; /* static-static */ SECItem *subjectKeyID; /* static-static */ NSSCMSOriginatorPublicKey originatorPublicKey; /* ephemeral-static */ } id; }; typedef struct NSSCMSOriginatorIdentifierOrKeyStr NSSCMSOriginatorIdentifierOrKey; struct NSSCMSRecipientKeyIdentifierStr { SECItem *subjectKeyIdentifier; SECItem *date; /* optional */ SECItem *other; /* optional */ }; typedef struct NSSCMSRecipientKeyIdentifierStr NSSCMSRecipientKeyIdentifier; typedef enum { NSSCMSKeyAgreeRecipientID_IssuerSN = 0, NSSCMSKeyAgreeRecipientID_RKeyID = 1 } NSSCMSKeyAgreeRecipientIDSelector; struct NSSCMSKeyAgreeRecipientIdentifierStr { NSSCMSKeyAgreeRecipientIDSelector identifierType; union { CERTIssuerAndSN *issuerAndSN; NSSCMSRecipientKeyIdentifier recipientKeyIdentifier; } id; }; typedef struct NSSCMSKeyAgreeRecipientIdentifierStr NSSCMSKeyAgreeRecipientIdentifier; struct NSSCMSRecipientEncryptedKeyStr { NSSCMSKeyAgreeRecipientIdentifier recipientIdentifier; SECItem encKey; }; typedef struct NSSCMSRecipientEncryptedKeyStr NSSCMSRecipientEncryptedKey; struct NSSCMSKeyAgreeRecipientInfoStr { SECItem version; NSSCMSOriginatorIdentifierOrKey originatorIdentifierOrKey; SECItem *ukm; /* optional */ SECAlgorithmID keyEncAlg; NSSCMSRecipientEncryptedKey **recipientEncryptedKeys; }; typedef struct NSSCMSKeyAgreeRecipientInfoStr NSSCMSKeyAgreeRecipientInfo; #define NSS_CMS_KEYAGREE_RECIPIENT_INFO_VERSION 3 /* what we *create* */ /* ----------------------------------------------------------------------------- * KEK recipient info */ struct NSSCMSKEKIdentifierStr { SECItem keyIdentifier; SECItem *date; /* optional */ SECItem *other; /* optional */ }; typedef struct NSSCMSKEKIdentifierStr NSSCMSKEKIdentifier; struct NSSCMSKEKRecipientInfoStr { SECItem version; NSSCMSKEKIdentifier kekIdentifier; SECAlgorithmID keyEncAlg; SECItem encKey; }; typedef struct NSSCMSKEKRecipientInfoStr NSSCMSKEKRecipientInfo; #define NSS_CMS_KEK_RECIPIENT_INFO_VERSION 4 /* what we *create* */ /* ----------------------------------------------------------------------------- * recipient info */ typedef enum { NSSCMSRecipientInfoID_KeyTrans = 0, NSSCMSRecipientInfoID_KeyAgree = 1, NSSCMSRecipientInfoID_KEK = 2 } NSSCMSRecipientInfoIDSelector; /* * In order to preserve backwards binary compatibility when implementing * creation of Recipient Info's that uses subjectKeyID in the * keyTransRecipientInfo we need to stash a public key pointer in this * structure somewhere. We figured out that NSSCMSKeyTransRecipientInfo * is the smallest member of the ri union. We're in luck since that's * the very structure that would need to use the public key. So we created * a new structure NSSCMSKeyTransRecipientInfoEx which has a member * NSSCMSKeyTransRecipientInfo as the first member followed by a version * and a public key pointer. This way we can keep backwards compatibility * without changing the size of this structure. * * BTW, size of structure: * NSSCMSKeyTransRecipientInfo: 9 ints, 4 pointers * NSSCMSKeyAgreeRecipientInfo: 12 ints, 8 pointers * NSSCMSKEKRecipientInfo: 10 ints, 7 pointers * * The new structure: * NSSCMSKeyTransRecipientInfoEx: sizeof(NSSCMSKeyTransRecipientInfo) + * 1 int, 1 pointer */ struct NSSCMSRecipientInfoStr { NSSCMSRecipientInfoIDSelector recipientInfoType; union { NSSCMSKeyTransRecipientInfo keyTransRecipientInfo; NSSCMSKeyAgreeRecipientInfo keyAgreeRecipientInfo; NSSCMSKEKRecipientInfo kekRecipientInfo; NSSCMSKeyTransRecipientInfoEx keyTransRecipientInfoEx; } ri; /* --------- local; not part of encoding --------- */ NSSCMSMessage *cmsg; /* back pointer to message */ CERTCertificate *cert; /* recipient's certificate */ }; /* ============================================================================= * DIGESTED DATA */ struct NSSCMSDigestedDataStr { SECItem version; SECAlgorithmID digestAlg; NSSCMSContentInfo contentInfo; SECItem digest; /* --------- local; not part of encoding --------- */ NSSCMSMessage *cmsg; /* back pointer */ SECItem cdigest; /* calculated digest */ }; #define NSS_CMS_DIGESTED_DATA_VERSION_DATA 0 /* what we *create* */ #define NSS_CMS_DIGESTED_DATA_VERSION_ENCAP 2 /* what we *create* */ /* ============================================================================= * ENCRYPTED DATA */ struct NSSCMSEncryptedDataStr { SECItem version; NSSCMSContentInfo contentInfo; NSSCMSAttribute **unprotectedAttr; /* optional */ /* --------- local; not part of encoding --------- */ NSSCMSMessage *cmsg; /* back pointer */ }; #define NSS_CMS_ENCRYPTED_DATA_VERSION 0 /* what we *create* */ #define NSS_CMS_ENCRYPTED_DATA_VERSION_UPATTR 2 /* what we *create* */ /* * ***************************************************************************** * ***************************************************************************** * ***************************************************************************** */ /* * See comment above about this type not really belonging to CMS. */ struct NSSCMSAttributeStr { /* The following fields make up an encoded Attribute: */ SECItem type; SECItem **values; /* data may or may not be encoded */ /* The following fields are not part of an encoded Attribute: */ SECOidData *typeTag; PRBool encoded; /* when true, values are encoded */ }; #endif /* _CMST_H_ */