pki.h (3168B)
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/. */ 4 5 #ifndef PKI_H 6 #define PKI_H 7 8 #ifndef NSSDEVT_H 9 #include "nssdevt.h" 10 #endif /* NSSDEVT_H */ 11 12 #ifndef NSSPKI_H 13 #include "nsspki.h" 14 #endif /* NSSPKI_H */ 15 16 #ifndef PKIT_H 17 #include "pkit.h" 18 #endif /* PKIT_H */ 19 20 PR_BEGIN_EXTERN_C 21 22 NSS_EXTERN NSSCallback * 23 nssTrustDomain_GetDefaultCallback( 24 NSSTrustDomain *td, 25 PRStatus *statusOpt); 26 27 NSS_EXTERN NSSCertificate ** 28 nssTrustDomain_FindCertificatesBySubject( 29 NSSTrustDomain *td, 30 NSSDER *subject, 31 NSSCertificate *rvOpt[], 32 PRUint32 maximumOpt, 33 NSSArena *arenaOpt); 34 35 NSS_EXTERN NSSTrust * 36 nssTrustDomain_FindTrustForCertificate( 37 NSSTrustDomain *td, 38 NSSCertificate *c); 39 40 NSS_EXTERN NSSCertificate * 41 nssCertificate_AddRef(NSSCertificate *c); 42 43 NSS_EXTERN PRStatus 44 nssCertificate_Destroy(NSSCertificate *c); 45 46 NSS_EXTERN NSSDER * 47 nssCertificate_GetEncoding(NSSCertificate *c); 48 49 NSS_EXTERN NSSDER * 50 nssCertificate_GetIssuer(NSSCertificate *c); 51 52 NSS_EXTERN NSSDER * 53 nssCertificate_GetSerialNumber(NSSCertificate *c); 54 55 NSS_EXTERN NSSDER * 56 nssCertificate_GetSubject(NSSCertificate *c); 57 58 /* Returns a copy, Caller must free using nss_ZFreeIf */ 59 NSS_EXTERN NSSUTF8 * 60 nssCertificate_GetNickname( 61 NSSCertificate *c, 62 NSSToken *tokenOpt); 63 64 NSS_EXTERN NSSASCII7 * 65 nssCertificate_GetEmailAddress(NSSCertificate *c); 66 67 NSS_EXTERN PRBool 68 nssCertificate_IssuerAndSerialEqual( 69 NSSCertificate *c1, 70 NSSCertificate *c2); 71 72 NSS_EXTERN NSSPrivateKey * 73 nssPrivateKey_AddRef(NSSPrivateKey *vk); 74 75 NSS_EXTERN PRStatus 76 nssPrivateKey_Destroy(NSSPrivateKey *vk); 77 78 NSS_EXTERN NSSItem * 79 nssPrivateKey_GetID(NSSPrivateKey *vk); 80 81 NSS_EXTERN NSSUTF8 * 82 nssPrivateKey_GetNickname( 83 NSSPrivateKey *vk, 84 NSSToken *tokenOpt); 85 86 NSS_EXTERN PRStatus 87 nssPublicKey_Destroy(NSSPublicKey *bk); 88 89 NSS_EXTERN NSSItem * 90 nssPublicKey_GetID(NSSPublicKey *vk); 91 92 NSS_EXTERN NSSCertificate ** 93 nssCryptoContext_FindCertificatesBySubject( 94 NSSCryptoContext *cc, 95 NSSDER *subject, 96 NSSCertificate *rvOpt[], 97 PRUint32 maximumOpt, /* 0 for no max */ 98 NSSArena *arenaOpt); 99 100 /* putting here for now, needs more thought */ 101 NSS_EXTERN PRStatus 102 nssCryptoContext_ImportTrust( 103 NSSCryptoContext *cc, 104 NSSTrust *trust); 105 106 NSS_EXTERN NSSTrust * 107 nssCryptoContext_FindTrustForCertificate( 108 NSSCryptoContext *cc, 109 NSSCertificate *cert); 110 111 NSS_EXTERN PRStatus 112 nssCryptoContext_ImportSMIMEProfile( 113 NSSCryptoContext *cc, 114 nssSMIMEProfile *profile); 115 116 NSS_EXTERN nssSMIMEProfile * 117 nssCryptoContext_FindSMIMEProfileForCertificate( 118 NSSCryptoContext *cc, 119 NSSCertificate *cert); 120 121 NSS_EXTERN NSSTrust * 122 nssTrust_AddRef(NSSTrust *trust); 123 124 NSS_EXTERN PRStatus 125 nssTrust_Destroy(NSSTrust *trust); 126 127 NSS_EXTERN nssSMIMEProfile * 128 nssSMIMEProfile_AddRef(nssSMIMEProfile *profile); 129 130 NSS_EXTERN PRStatus 131 nssSMIMEProfile_Destroy(nssSMIMEProfile *profile); 132 133 NSS_EXTERN nssSMIMEProfile * 134 nssSMIMEProfile_Create( 135 NSSCertificate *cert, 136 NSSItem *profileTime, 137 NSSItem *profileData); 138 139 PR_END_EXTERN_C 140 141 #endif /* PKI_H */