michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef PKI_H michael@0: #define PKI_H michael@0: michael@0: #ifndef NSSDEVT_H michael@0: #include "nssdevt.h" michael@0: #endif /* NSSDEVT_H */ michael@0: michael@0: #ifndef NSSPKI_H michael@0: #include "nsspki.h" michael@0: #endif /* NSSPKI_H */ michael@0: michael@0: #ifndef PKIT_H michael@0: #include "pkit.h" michael@0: #endif /* PKIT_H */ michael@0: michael@0: PR_BEGIN_EXTERN_C michael@0: michael@0: NSS_EXTERN NSSCallback * michael@0: nssTrustDomain_GetDefaultCallback michael@0: ( michael@0: NSSTrustDomain *td, michael@0: PRStatus *statusOpt michael@0: ); michael@0: michael@0: NSS_EXTERN NSSCertificate ** michael@0: nssTrustDomain_FindCertificatesBySubject michael@0: ( michael@0: NSSTrustDomain *td, michael@0: NSSDER *subject, michael@0: NSSCertificate *rvOpt[], michael@0: PRUint32 maximumOpt, michael@0: NSSArena *arenaOpt michael@0: ); michael@0: michael@0: NSS_EXTERN NSSTrust * michael@0: nssTrustDomain_FindTrustForCertificate michael@0: ( michael@0: NSSTrustDomain *td, michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: NSS_EXTERN NSSCertificate * michael@0: nssCertificate_AddRef michael@0: ( michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: NSS_EXTERN PRStatus michael@0: nssCertificate_Destroy michael@0: ( michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: NSS_EXTERN NSSDER * michael@0: nssCertificate_GetEncoding michael@0: ( michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: NSS_EXTERN NSSDER * michael@0: nssCertificate_GetIssuer michael@0: ( michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: NSS_EXTERN NSSDER * michael@0: nssCertificate_GetSerialNumber michael@0: ( michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: NSS_EXTERN NSSDER * michael@0: nssCertificate_GetSubject michael@0: ( michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: /* Returns a copy, Caller must free using nss_ZFreeIf */ michael@0: NSS_EXTERN NSSUTF8 * michael@0: nssCertificate_GetNickname michael@0: ( michael@0: NSSCertificate *c, michael@0: NSSToken *tokenOpt michael@0: ); michael@0: michael@0: NSS_EXTERN NSSASCII7 * michael@0: nssCertificate_GetEmailAddress michael@0: ( michael@0: NSSCertificate *c michael@0: ); michael@0: michael@0: NSS_EXTERN PRBool michael@0: nssCertificate_IssuerAndSerialEqual michael@0: ( michael@0: NSSCertificate *c1, michael@0: NSSCertificate *c2 michael@0: ); michael@0: michael@0: NSS_EXTERN NSSPrivateKey * michael@0: nssPrivateKey_AddRef michael@0: ( michael@0: NSSPrivateKey *vk michael@0: ); michael@0: michael@0: NSS_EXTERN PRStatus michael@0: nssPrivateKey_Destroy michael@0: ( michael@0: NSSPrivateKey *vk michael@0: ); michael@0: michael@0: NSS_EXTERN NSSItem * michael@0: nssPrivateKey_GetID michael@0: ( michael@0: NSSPrivateKey *vk michael@0: ); michael@0: michael@0: NSS_EXTERN NSSUTF8 * michael@0: nssPrivateKey_GetNickname michael@0: ( michael@0: NSSPrivateKey *vk, michael@0: NSSToken *tokenOpt michael@0: ); michael@0: michael@0: NSS_EXTERN PRStatus michael@0: nssPublicKey_Destroy michael@0: ( michael@0: NSSPublicKey *bk michael@0: ); michael@0: michael@0: NSS_EXTERN NSSItem * michael@0: nssPublicKey_GetID michael@0: ( michael@0: NSSPublicKey *vk michael@0: ); michael@0: michael@0: NSS_EXTERN NSSCertificate ** michael@0: nssCryptoContext_FindCertificatesBySubject michael@0: ( michael@0: NSSCryptoContext *cc, michael@0: NSSDER *subject, michael@0: NSSCertificate *rvOpt[], michael@0: PRUint32 maximumOpt, /* 0 for no max */ michael@0: NSSArena *arenaOpt michael@0: ); michael@0: michael@0: /* putting here for now, needs more thought */ michael@0: NSS_EXTERN PRStatus michael@0: nssCryptoContext_ImportTrust michael@0: ( michael@0: NSSCryptoContext *cc, michael@0: NSSTrust *trust michael@0: ); michael@0: michael@0: NSS_EXTERN NSSTrust * michael@0: nssCryptoContext_FindTrustForCertificate michael@0: ( michael@0: NSSCryptoContext *cc, michael@0: NSSCertificate *cert michael@0: ); michael@0: michael@0: NSS_EXTERN PRStatus michael@0: nssCryptoContext_ImportSMIMEProfile michael@0: ( michael@0: NSSCryptoContext *cc, michael@0: nssSMIMEProfile *profile michael@0: ); michael@0: michael@0: NSS_EXTERN nssSMIMEProfile * michael@0: nssCryptoContext_FindSMIMEProfileForCertificate michael@0: ( michael@0: NSSCryptoContext *cc, michael@0: NSSCertificate *cert michael@0: ); michael@0: michael@0: NSS_EXTERN NSSTrust * michael@0: nssTrust_AddRef michael@0: ( michael@0: NSSTrust *trust michael@0: ); michael@0: michael@0: NSS_EXTERN PRStatus michael@0: nssTrust_Destroy michael@0: ( michael@0: NSSTrust *trust michael@0: ); michael@0: michael@0: NSS_EXTERN nssSMIMEProfile * michael@0: nssSMIMEProfile_AddRef michael@0: ( michael@0: nssSMIMEProfile *profile michael@0: ); michael@0: michael@0: NSS_EXTERN PRStatus michael@0: nssSMIMEProfile_Destroy michael@0: ( michael@0: nssSMIMEProfile *profile michael@0: ); michael@0: michael@0: NSS_EXTERN nssSMIMEProfile * michael@0: nssSMIMEProfile_Create michael@0: ( michael@0: NSSCertificate *cert, michael@0: NSSItem *profileTime, michael@0: NSSItem *profileData michael@0: ); michael@0: michael@0: PR_END_EXTERN_C michael@0: michael@0: #endif /* PKI_H */