OLD | NEW |
1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 /* | 4 /* |
5 * certi.h - private data structures for the certificate library | 5 * certi.h - private data structures for the certificate library |
6 */ | 6 */ |
7 #ifndef _CERTI_H_ | 7 #ifndef _CERTI_H_ |
8 #define _CERTI_H_ | 8 #define _CERTI_H_ |
9 | 9 |
10 #include "certt.h" | 10 #include "certt.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 This is a cache of CRL entries for a given distribution point of an issuer | 109 This is a cache of CRL entries for a given distribution point of an issuer |
110 It is built from a collection of one full and 0 or more delta CRLs. | 110 It is built from a collection of one full and 0 or more delta CRLs. |
111 */ | 111 */ |
112 | 112 |
113 struct CRLDPCacheStr { | 113 struct CRLDPCacheStr { |
114 #ifdef DPC_RWLOCK | 114 #ifdef DPC_RWLOCK |
115 NSSRWLock* lock; | 115 NSSRWLock* lock; |
116 #else | 116 #else |
117 PRLock* lock; | 117 PRLock* lock; |
118 #endif | 118 #endif |
119 CERTCertificate* issuer; /* issuer cert | 119 SECItem *issuerDERCert; /* issuer DER cert. Don't hold a reference |
120 XXX there may be multiple issuer certs, | 120 » » » » to the actual cert so the trust can be |
121 with different validity dates. Also | 121 » » » » updated on the cert automatically. |
122 need to deal with SKID/AKID . See | 122 » » » » XXX there may be multiple issuer certs, |
123 bugzilla 217387, 233118 */ | 123 » » » » with different validity dates. Also |
| 124 » » » » need to deal with SKID/AKID . See |
| 125 » » » » bugzilla 217387, 233118 */ |
| 126 |
| 127 CERTCertDBHandle *dbHandle; |
| 128 |
124 SECItem* subject; /* DER of issuer subject */ | 129 SECItem* subject; /* DER of issuer subject */ |
125 SECItem* distributionPoint; /* DER of distribution point. This may be | 130 SECItem* distributionPoint; /* DER of distribution point. This may be |
126 NULL when distribution points aren't | 131 NULL when distribution points aren't |
127 in use (ie. the CA has a single CRL). | 132 in use (ie. the CA has a single CRL). |
128 Currently not used. */ | 133 Currently not used. */ |
129 | 134 |
130 /* array of full CRLs matching this distribution point */ | 135 /* array of full CRLs matching this distribution point */ |
131 PRUint32 ncrls; /* total number of CRLs in crls */ | 136 PRUint32 ncrls; /* total number of CRLs in crls */ |
132 CachedCrl** crls; /* array of all matching CRLs */ | 137 CachedCrl** crls; /* array of all matching CRLs */ |
133 /* XCRL With iCRLs and multiple DPs, the CRL can be shared accross several | 138 /* XCRL With iCRLs and multiple DPs, the CRL can be shared accross several |
(...skipping 24 matching lines...) Expand all Loading... |
158 /* CRL issuer cache object | 163 /* CRL issuer cache object |
159 This object tracks all the distribution point caches for a given issuer. | 164 This object tracks all the distribution point caches for a given issuer. |
160 XCRL once we support multiple issuing distribution points, this object | 165 XCRL once we support multiple issuing distribution points, this object |
161 will be a hash table. For now, it just holds the single CRL distribution | 166 will be a hash table. For now, it just holds the single CRL distribution |
162 point cache structure. | 167 point cache structure. |
163 */ | 168 */ |
164 | 169 |
165 struct CRLIssuerCacheStr { | 170 struct CRLIssuerCacheStr { |
166 SECItem* subject; /* DER of issuer subject */ | 171 SECItem* subject; /* DER of issuer subject */ |
167 CRLDPCache* dpp; | 172 CRLDPCache* dpp; |
168 #if 0 | |
169 /* XCRL for future use. | |
170 We don't need to lock at the moment because we only have one DP, | |
171 which gets created at the same time as this object */ | |
172 NSSRWLock* lock; | |
173 CRLDPCache** dps; | |
174 PLHashTable* distributionpoints; | |
175 CERTCertificate* issuer; | |
176 #endif | |
177 }; | 173 }; |
178 | 174 |
179 /* CRL revocation cache object | 175 /* CRL revocation cache object |
180 This object tracks all the issuer caches | 176 This object tracks all the issuer caches |
181 */ | 177 */ |
182 | 178 |
183 struct CRLCacheStr { | 179 struct CRLCacheStr { |
184 #ifdef GLOBAL_RWLOCK | 180 #ifdef GLOBAL_RWLOCK |
185 NSSRWLock* lock; | 181 NSSRWLock* lock; |
186 #else | 182 #else |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 * particular usage. | 390 * particular usage. |
395 */ | 391 */ |
396 SECStatus | 392 SECStatus |
397 cert_CheckLeafTrust(CERTCertificate *cert, | 393 cert_CheckLeafTrust(CERTCertificate *cert, |
398 SECCertUsage usage, | 394 SECCertUsage usage, |
399 unsigned int *failedFlags, | 395 unsigned int *failedFlags, |
400 PRBool *isTrusted); | 396 PRBool *isTrusted); |
401 | 397 |
402 #endif /* _CERTI_H_ */ | 398 #endif /* _CERTI_H_ */ |
403 | 399 |
OLD | NEW |