tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 */