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
3
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
9
static const char PKISTORE_CVS_ID[] = "@(#) $RCSfile: pkistore.h,v $ $Revision: 1.13 $ $Date: 2012/04/25 14:50:07 $";
14
#endif /* NSSPKIT_H */
25
* This is a set of routines for managing local stores of PKI objects.
26
* Currently, the only application is in crypto contexts, where the
27
* certificate store is used. In the future, methods should be added
28
* here for storing local references to keys.
34
* Manages local store of certificate, trust, and S/MIME profile objects.
35
* Within a crypto context, mappings of cert to trust and cert to S/MIME
36
* profile are always 1-1. Therefore, it is reasonable to store all objects
37
* in a single collection, indexed by the certificate.
40
NSS_EXTERN nssCertificateStore *
41
nssCertificateStore_Create
47
nssCertificateStore_Destroy
49
nssCertificateStore *store
52
/* Atomic Find cert in store, or add this cert to the store.
53
** Ref counts properly maintained.
55
NSS_EXTERN NSSCertificate *
56
nssCertificateStore_FindOrAdd
58
nssCertificateStore *store,
63
nssCertificateStore_RemoveCertLOCKED
65
nssCertificateStore *store,
69
struct nssCertificateStoreTraceStr {
70
nssCertificateStore* store;
76
typedef struct nssCertificateStoreTraceStr nssCertificateStoreTrace;
79
nssCertificateStore_Lock (
80
nssCertificateStore *store, nssCertificateStoreTrace* out
84
nssCertificateStore_Unlock (
85
nssCertificateStore *store, const nssCertificateStoreTrace* in,
86
nssCertificateStoreTrace* out
89
NSS_EXTERN NSSCertificate **
90
nssCertificateStore_FindCertificatesBySubject
92
nssCertificateStore *store,
94
NSSCertificate *rvOpt[],
99
NSS_EXTERN NSSCertificate **
100
nssCertificateStore_FindCertificatesByNickname
102
nssCertificateStore *store,
103
const NSSUTF8 *nickname,
104
NSSCertificate *rvOpt[],
109
NSS_EXTERN NSSCertificate **
110
nssCertificateStore_FindCertificatesByEmail
112
nssCertificateStore *store,
114
NSSCertificate *rvOpt[],
119
NSS_EXTERN NSSCertificate *
120
nssCertificateStore_FindCertificateByIssuerAndSerialNumber
122
nssCertificateStore *store,
127
NSS_EXTERN NSSCertificate *
128
nssCertificateStore_FindCertificateByEncodedCertificate
130
nssCertificateStore *store,
135
nssCertificateStore_AddTrust
137
nssCertificateStore *store,
141
NSS_EXTERN NSSTrust *
142
nssCertificateStore_FindTrustForCertificate
144
nssCertificateStore *store,
149
nssCertificateStore_AddSMIMEProfile
151
nssCertificateStore *store,
152
nssSMIMEProfile *profile
155
NSS_EXTERN nssSMIMEProfile *
156
nssCertificateStore_FindSMIMEProfileForCertificate
158
nssCertificateStore *store,
163
nssCertificateStore_DumpStoreInfo
165
nssCertificateStore *store,
166
void (* cert_dump_iter)(const void *, void *, void *),
172
#endif /* PKISTORE_H */