tor-browser

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

cmmft.h (2303B)


      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 _CMMFT_H_
      7 #define _CMMFT_H_
      8 
      9 #include "secasn1.h"
     10 
     11 /*
     12 * These are the enumerations used to distinguish between the different
     13 * choices available for the CMMFCertOrEncCert structure.
     14 */
     15 typedef enum {
     16    cmmfNoCertOrEncCert = 0,
     17    cmmfCertificate = 1,
     18    cmmfEncryptedCert = 2
     19 } CMMFCertOrEncCertChoice;
     20 
     21 /*
     22 * This is the enumeration and the corresponding values used to
     23 * represent the CMMF type PKIStatus
     24 */
     25 typedef enum {
     26    cmmfNoPKIStatus = -1,
     27    cmmfGranted = 0,
     28    cmmfGrantedWithMods = 1,
     29    cmmfRejection = 2,
     30    cmmfWaiting = 3,
     31    cmmfRevocationWarning = 4,
     32    cmmfRevocationNotification = 5,
     33    cmmfKeyUpdateWarning = 6,
     34    cmmfNumPKIStatus
     35 } CMMFPKIStatus;
     36 
     37 /*
     38 * These enumerations are used to represent the corresponding values
     39 * in PKIFailureInfo defined in CMMF.
     40 */
     41 typedef enum {
     42    cmmfBadAlg = 0,
     43    cmmfBadMessageCheck = 1,
     44    cmmfBadRequest = 2,
     45    cmmfBadTime = 3,
     46    cmmfBadCertId = 4,
     47    cmmfBadDataFormat = 5,
     48    cmmfWrongAuthority = 6,
     49    cmmfIncorrectData = 7,
     50    cmmfMissingTimeStamp = 8,
     51    cmmfNoFailureInfo = 9
     52 } CMMFPKIFailureInfo;
     53 
     54 typedef struct CMMFPKIStatusInfoStr CMMFPKIStatusInfo;
     55 typedef struct CMMFCertOrEncCertStr CMMFCertOrEncCert;
     56 typedef struct CMMFCertifiedKeyPairStr CMMFCertifiedKeyPair;
     57 typedef struct CMMFCertResponseStr CMMFCertResponse;
     58 typedef struct CMMFCertResponseSeqStr CMMFCertResponseSeq;
     59 typedef struct CMMFPOPODecKeyChallContentStr CMMFPOPODecKeyChallContent;
     60 typedef struct CMMFChallengeStr CMMFChallenge;
     61 typedef struct CMMFRandStr CMMFRand;
     62 typedef struct CMMFPOPODecKeyRespContentStr CMMFPOPODecKeyRespContent;
     63 typedef struct CMMFKeyRecRepContentStr CMMFKeyRecRepContent;
     64 typedef struct CMMFCertRepContentStr CMMFCertRepContent;
     65 
     66 /* Export this so people can call SEC_ASN1EncodeItem instead of having to
     67 * write callbacks that are passed in to the high level encode function
     68 * for CMMFCertRepContent.
     69 */
     70 extern const SEC_ASN1Template CMMFCertRepContentTemplate[];
     71 extern const SEC_ASN1Template CMMFPOPODecKeyChallContentTemplate[];
     72 
     73 #endif /*_CMMFT_H_*/