tor-browser

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

cmmfit.h (3290B)


      1 /* -*- Mode: C; tab-width: 8 -*-*/
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 #ifndef _CMMFIT_H_
      7 #define _CMMFIT_H_
      8 
      9 /*
     10 * All fields marked by a PKIStausInfo in comments is an integer
     11 * with the following possible values.
     12 *
     13 *  Integer Value          Meaning
     14 *  -------------          -------
     15 *         0               granted- got exactly what you asked for.
     16 *
     17 *         1               grantedWithMods-got something like what you asked
     18 *                          for;requester is responsible for ascertainging the
     19 *                          differences.
     20 *
     21 *         2               rejection-you don't get what you asked for; more
     22 *                          information elsewhere in the message
     23 *
     24 *         3               waiting-the request body part has not yet been
     25 *                          processed, expect to hear more later.
     26 *
     27 *         4               revocationWarning-this message contains a warning
     28 *                          that a revocation is imminent.
     29 *
     30 *         5               revocationNotification-notification that a
     31 *                          revocation has occurred.
     32 *
     33 *         6               keyUpdateWarning-update already done for the
     34 *                          oldCertId specified in FullCertTemplate.
     35 */
     36 
     37 struct CMMFPKIStatusInfoStr {
     38    SECItem status;
     39    SECItem statusString;
     40    SECItem failInfo;
     41 };
     42 
     43 struct CMMFCertOrEncCertStr {
     44    union {
     45        CERTCertificate *certificate;
     46        CRMFEncryptedValue *encryptedCert;
     47    } cert;
     48    CMMFCertOrEncCertChoice choice;
     49    SECItem derValue;
     50 };
     51 
     52 struct CMMFCertifiedKeyPairStr {
     53    CMMFCertOrEncCert certOrEncCert;
     54    CRMFEncryptedValue *privateKey;
     55    SECItem derPublicationInfo; /* We aren't creating
     56                                 * PKIPublicationInfo's, so
     57                                 * we'll store away the der
     58                                 * here if we decode one that
     59                                 * does have pubInfo.
     60                                 */
     61    SECItem unwrappedPrivKey;
     62 };
     63 
     64 struct CMMFCertResponseStr {
     65    SECItem certReqId;
     66    CMMFPKIStatusInfo status; /*PKIStatusInfo*/
     67    CMMFCertifiedKeyPair *certifiedKeyPair;
     68 };
     69 
     70 struct CMMFCertRepContentStr {
     71    CERTCertificate **caPubs;
     72    CMMFCertResponse **response;
     73    PLArenaPool *poolp;
     74    PRBool isDecoded;
     75 };
     76 
     77 struct CMMFChallengeStr {
     78    SECAlgorithmID *owf;
     79    SECItem witness;
     80    SECItem senderDER;
     81    SECItem key;
     82    SECItem challenge;
     83    SECItem randomNumber;
     84 };
     85 
     86 struct CMMFRandStr {
     87    SECItem integer;
     88    SECItem senderHash;
     89    CERTGeneralName *sender;
     90 };
     91 
     92 struct CMMFPOPODecKeyChallContentStr {
     93    CMMFChallenge **challenges;
     94    PLArenaPool *poolp;
     95    int numChallenges;
     96    int numAllocated;
     97 };
     98 
     99 struct CMMFPOPODecKeyRespContentStr {
    100    SECItem **responses;
    101    PLArenaPool *poolp;
    102 };
    103 
    104 struct CMMFKeyRecRepContentStr {
    105    CMMFPKIStatusInfo status; /* PKIStatusInfo */
    106    CERTCertificate *newSigCert;
    107    CERTCertificate **caCerts;
    108    CMMFCertifiedKeyPair **keyPairHist;
    109    PLArenaPool *poolp;
    110    int numKeyPairs;
    111    int allocKeyPairs;
    112    PRBool isDecoded;
    113 };
    114 
    115 #endif /* _CMMFIT_H_ */