pkiutilities/PKCS12/Inc/crdefs.h
changeset 0 164170e6151a
equal deleted inserted replaced
-1:000000000000 0:164170e6151a
       
     1 /*
       
     2 * Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  This file contains common defines for all Cradle projects.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CR_DEFS
       
    21 #define CR_DEFS
       
    22 
       
    23 
       
    24 //  INCLUDES
       
    25 
       
    26 #include <e32std.h>
       
    27 
       
    28 //  CONSTANTS
       
    29 
       
    30 typedef TUint8  TCrKeyType;
       
    31 typedef TUint16 TCrStatus;
       
    32 typedef TUint8	TCrApduStatus;
       
    33 typedef TUint8  TCrCryptoStatus;
       
    34 typedef TUint8  TCrWimStatus;
       
    35 typedef TInt    TCrLeaveCode;
       
    36 
       
    37 // Buffer size
       
    38 const TInt KBufSize     = 1024;
       
    39 
       
    40 // LDAP Server Address size
       
    41 const TInt KLDAPBuffer = 128;
       
    42 
       
    43 // Message digest size
       
    44 const TInt KDigestSize  = 20;
       
    45 
       
    46 // RSA signature length
       
    47 const TInt KRSASignatureSize  = 1024;
       
    48 
       
    49 // Key length
       
    50 const TInt KDESKeyLength    = 8;
       
    51 
       
    52 // Key types.
       
    53 const TCrKeyType KCrDigitalSignature = 0x80;
       
    54 const TCrKeyType KCrNonRepudiation   = 0x40;
       
    55 
       
    56 // Upmost byte is used to define context of error.
       
    57 const TCrStatus KCrWim          = 0x0100;
       
    58 const TCrStatus KCrWimLib       = 0x0200;
       
    59 const TCrStatus KCrWimApdu      = 0x0300;
       
    60 const TCrStatus KCrKey          = 0x0400;
       
    61 const TCrStatus KCrCrypto       = 0x0500;
       
    62 const TCrStatus KCrPkcs7        = 0x0600;
       
    63 const TCrStatus KCrPkcs12       = 0x0700;
       
    64 const TCrStatus KCrCertEng      = 0x0800;
       
    65 const TCrStatus KCrSegMsg       = 0x0900;
       
    66 
       
    67 // Lowest byte defines actual error.
       
    68 
       
    69 // Common errors.
       
    70 const TCrStatus KCrOK           = 0x0000;
       
    71 const TCrStatus KCrNotSupported = 0x00a0;
       
    72 const TCrStatus KCrNoMemory     = 0x00b0;
       
    73 
       
    74 // WIM errors are listed in "wim_const.h"
       
    75 
       
    76 // CrWim errors
       
    77 const TCrWimStatus KCrInvalidContext    = 0x01;
       
    78 const TCrWimStatus KCrInvalidParameters = 0x02;
       
    79 
       
    80 // CrKeyApi errors
       
    81 
       
    82 
       
    83 // CrCrypto errors
       
    84 const TCrCryptoStatus KCrNoError              = 0x00;
       
    85 const TCrCryptoStatus KCrNotSupportedAlg      = 0x01;
       
    86 const TCrCryptoStatus KCrUnknownLibrary       = 0x02;
       
    87 const TCrCryptoStatus KCrErrorGeneral         = 0x03;
       
    88 const TCrCryptoStatus KCrDataValid            = 0x04;
       
    89 const TCrCryptoStatus KCrDataInvalid          = 0x05; 
       
    90 const TCrCryptoStatus KCrUnknownMode          = 0x06;
       
    91 const TCrCryptoStatus KCrUndefinedLibrary     = 0x07; 
       
    92 const TCrCryptoStatus KCrWrongAlgType         = 0x08;
       
    93 const TCrCryptoStatus KCrNotInitialized       = 0x09;           
       
    94 
       
    95 
       
    96 // CrWimApdu errors
       
    97 
       
    98 //These errors are defined in WIM library desing spec.
       
    99 const TCrApduStatus KCrApduOk                 =	0x00; //APDU_OK
       
   100 const TCrApduStatus KCrApduTransmiossionError =	0x01; //APDU_TRANSMISSION_ERROR
       
   101 const TCrApduStatus KCrApduCardMute           = 0x02; //APDU_CARD_MUTE		
       
   102 const TCrApduStatus KCrApduCardDisconnected   = 0x03; //APDU_CARD_DISCONNECTED
       
   103 const TCrApduStatus KCrApduNoCause            =	0x04; //APDU_NO_CAUSE	
       
   104 const TCrApduStatus KCrApduReaderNotValid     =	0x05; //APDU_READER_NOT_VALID	
       
   105 const TCrApduStatus KCrApduFormatError        =	0x06; //APDU_FORMAT_ERROR	
       
   106 const TCrApduStatus KCrApduTypeNotValid       =	0x07; //APDU_TYPE_NOT_VALID	
       
   107 const TCrApduStatus KCrApduReaderRemoved      =	0x08; //APDU_CARD_READER_REMOVED
       
   108 const TCrApduStatus KCrApduCardRemoved        =	0x09; //APDU_CARD_REMOVED
       
   109 const TCrApduStatus KCrApduCardReaderBusy     =	0x0a; //APDU_CARD_READER_BUSY	
       
   110 const TCrApduStatus KCrApduCardPoweredOff     =	0x0b; //APDU_CARD_POWERED_OFF
       
   111 //CrWimApdu own errors, used only in RequestList
       
   112 const TCrApduStatus KCrApduNoMemory           =	0xa0;
       
   113 const TCrApduStatus KCrApduScardDatabaseError = 0xa1;
       
   114 
       
   115 //const TCrStatus KCrNotSupported = 0x00800000;
       
   116 
       
   117 // Pkcs7 errors
       
   118 const TCrStatus KCrNotValidObject       = 0x0001;
       
   119 const TCrStatus KCrUnsupportedFormat    = 0x0002;
       
   120 const TCrStatus KCrUnsupportedVersion   = 0x0003;
       
   121 const TCrStatus KCrDigestInvalid        = 0x0004;
       
   122 const TCrStatus KCrEncContentInvalid    = 0x0005;
       
   123 const TCrStatus KCrContentInvalid		= 0x0006;
       
   124 const TCrStatus KCrSigningFailed        = 0x0007;
       
   125 const TCrStatus KCrInvalidAlgorithm     = 0x0008;
       
   126 const TCrStatus KCrInvalidCertificate   = 0x0009;
       
   127 
       
   128 // Pkcs12 errors
       
   129 const TCrStatus KCrValidFile = 0x0000;
       
   130 const TCrStatus KCrNotValidFile = 0x0001;
       
   131 const TCrStatus KCrBerLibraryError = 0x002;
       
   132 const TCrStatus KCrNotPasswordBasedEncryption = 0x003;
       
   133 const TCrStatus KCrNotSupportedHMACalgorithm = 0x004;
       
   134 const TCrStatus KCrWrongPassWordOrCorruptedFile = 0x005;
       
   135 const TCrStatus KCrNotValidPkcs12Object = 0x006;
       
   136 const TCrStatus KCrCancelled = 0x007;
       
   137 const TCrStatus KCrGeneralError = 0x008;
       
   138 
       
   139 //CrCert own Leave codes
       
   140 const TCrLeaveCode KCrLocationNotCertMan  = 0x0001;
       
   141 const TCrLeaveCode KCrLocationInvalid     = 0x0002;
       
   142 const TCrLeaveCode KCrCertFormatInvalid   = 0x0003;
       
   143 const TCrLeaveCode KCrCertNotDeletable    = 0x0004;
       
   144 
       
   145 // certificate engine errors
       
   146 const TCrStatus KCrCertificateCorrupted             = 0x0001;
       
   147 const TCrStatus KCrCertificateSaveError             = 0x0003;
       
   148 const TCrStatus KCrCertificateLoadError             = 0x0004;
       
   149 const TCrStatus KCrLDAPCertificateServerFoundError  = 0x0005;
       
   150 const TCrStatus KCrLDAPLoginFailed                  = 0x0006;
       
   151 const TCrStatus KCrConnectionFailed                 = 0x0007;
       
   152 const TCrStatus KCrLDAPserverIsDownOrNotFound       = 0x0008;
       
   153 const TCrStatus KCrInvalidUsernameOrPassword        = 0x0009;
       
   154 
       
   155 // certificate engine and secure email errors
       
   156 const TCrStatus KCrNotEnougtMemory                  = 0x0002;
       
   157 
       
   158 // secure email errors
       
   159 const TCrStatus KCrCanNotOpenMessage                = 0x0001;
       
   160 const TCrStatus KCrDeCryptionFailed                 = 0x0003;
       
   161 
       
   162 // secure email warning code
       
   163 //const TCrStatus KCrSignatureIsNotValid              = 0x0001;
       
   164 //const TCrStatus KCrSignatureIsExpired               = 0x0003;
       
   165 //const TCrStatus KCrSignatureIsNotTrusted            = 0x0004;
       
   166 //const TCrStatus KCrSignatureIsInvalid               = 0x0005;
       
   167 
       
   168 
       
   169 // certificate engine's return values
       
   170 const TInt KCrCancel       = 0x0001;
       
   171 const TInt KCrZero         = 0x0001;
       
   172 const TInt KCrTooLong      = 0x0002;
       
   173 const TInt KCrSearch       = 0x0003;
       
   174 const TInt KCrSend         = 0x0004;
       
   175 
       
   176 //  MACROS
       
   177 //  DATA TYPES
       
   178 
       
   179 enum TCrEncodeMode
       
   180     {
       
   181     ECrSendMode,
       
   182     ECrDraftMode
       
   183     };
       
   184 
       
   185 enum TCrDecodeMode
       
   186     {
       
   187     ECrSendingMode,
       
   188     ECrReceivingMode
       
   189     };
       
   190 
       
   191 // Certificate types
       
   192 
       
   193 enum TCrCertValidationType
       
   194 	{
       
   195     ECrValid,
       
   196     ECrInvalid,
       
   197     ECrRevoked,
       
   198     ECrExpired,
       
   199     ECrNotTrusted,
       
   200 	ECrSelfSigned,
       
   201     ECrNotFound,
       
   202 	ECrRemoveUser,
       
   203     ECrSignatureInvalid,
       
   204 	ECrUnknown,
       
   205     ECrAddressConflict,
       
   206     ECrMultiple,
       
   207     ECrSave,
       
   208 	ECrNotSupported,
       
   209     ECrAdded
       
   210 	};
       
   211 
       
   212 //Data types CrCert
       
   213 enum TCrCertLocation
       
   214     {
       
   215     ECrCertLocationCertMan,
       
   216     ECrCertLocationPhoneMemory,
       
   217     ECrCertLocationPhoneMemoryURL,
       
   218     ECrCertLocationWIMCard,
       
   219     ECrCertLocationWIMURL
       
   220     };
       
   221 
       
   222 enum TCrCertType
       
   223     {
       
   224     ECrCertTypeCA,
       
   225     ECrCertTypePersonal
       
   226     };
       
   227 
       
   228 enum TCrCertFormat
       
   229     {
       
   230     ECrWTLSCertificate,
       
   231     ECrX509Certificate,
       
   232     ECrX968Certificate,
       
   233     ECrCertificateURL
       
   234     };
       
   235 
       
   236 enum TCrEntryType
       
   237     {
       
   238     ECrEntryTypeAll,
       
   239     ECrEntryTypeCA,
       
   240     ECrEntryTypePersonal
       
   241     };
       
   242 
       
   243 enum TCrKeyLocation
       
   244     {
       
   245     ECrKeyLocationWIMCard,
       
   246     ECrKeyLocationPhoneMemory,
       
   247     ECrKeyLocationNoKey
       
   248     };
       
   249 
       
   250 enum TCrCertStoringStatus
       
   251     {
       
   252     ECrCertNotStored
       
   253     };
       
   254 
       
   255 enum TCrBer
       
   256 	{
       
   257 	ECrNoBer,
       
   258 	ECrSetBer
       
   259 	};
       
   260 
       
   261 //  EXTERNAL DATA STRUCTURES
       
   262 //  FUNCTION PROTOTYPES
       
   263 //  FORWARD DECLARATIONS
       
   264 //  CLASS DEFINITIONS
       
   265 
       
   266 #endif CR_DEFS
       
   267