os/security/crypto/weakcryptospi/inc/spi/cryptospidef.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of the License "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description: 
sl@0
    15
* crypto spi data definition
sl@0
    16
*
sl@0
    17
*/
sl@0
    18
sl@0
    19
sl@0
    20
/**
sl@0
    21
 @file
sl@0
    22
 @publishedPartner
sl@0
    23
 @released
sl@0
    24
*/
sl@0
    25
 
sl@0
    26
#ifndef __CRYPTOAPI_CRYPTOSPIDEF_H__
sl@0
    27
#define __CRYPTOAPI_CRYPTOSPIDEF_H__
sl@0
    28
sl@0
    29
#include <e32base.h>
sl@0
    30
sl@0
    31
namespace CryptoSpi
sl@0
    32
	{
sl@0
    33
	/**
sl@0
    34
	Definition of Cryptography interface UID value
sl@0
    35
	*/
sl@0
    36
	const TInt32 KHashInterface = 0x10283161;
sl@0
    37
	const TInt32 KRandomInterface = 0x10283162;
sl@0
    38
	const TInt32 KSymmetricCipherInterface = 0x10283163;
sl@0
    39
	const TInt32 KAsymmetricCipherInterface = 0x10283164;
sl@0
    40
	const TInt32 KSignerInterface = 0x10283165;
sl@0
    41
	const TInt32 KVerifierInterface = 0x10283166;
sl@0
    42
	const TInt32 KKeyAgreementInterface = 0x10283167;
sl@0
    43
	const TInt32 KKeyGeneratorInterface = 0x10283168;
sl@0
    44
	const TInt32 KKeypairGeneratorInterface = 0x10283169;
sl@0
    45
	const TInt32 KAsyncHashInterface = 0x1028316a;
sl@0
    46
	const TInt32 KAsyncRandomInterface = 0x1028316b;
sl@0
    47
	const TInt32 KAsyncSymmetricCipherInterface = 0x1028316c;
sl@0
    48
	const TInt32 KAsyncAsymmetricCipherInterface = 0x1028316d;
sl@0
    49
	const TInt32 KAsyncSignerInterface = 0x1028316e;
sl@0
    50
	const TInt32 KAsyncVerifierInterface = 0x1028316f;
sl@0
    51
	const TInt32 KAsyncKeyAgreementInterface = 0x10283170;
sl@0
    52
	const TInt32 KAsyncKeyGeneratorInterface = 0x10283171;
sl@0
    53
	const TInt32 KAsyncKeypairGeneratorInterface = 0x10283172;
sl@0
    54
sl@0
    55
sl@0
    56
/******************************MAC INTERFACE UIDS**********************************/
sl@0
    57
sl@0
    58
#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT
sl@0
    59
	/**
sl@0
    60
	 * Mac Interface Uid
sl@0
    61
	 */
sl@0
    62
	const TInt32 KMacInterface = 0x2001ED9A;
sl@0
    63
	/**
sl@0
    64
	 * Asynchronous Mac Interface Uid
sl@0
    65
	 */
sl@0
    66
	const TInt32 KAsyncMacInterface = 0x2001ED9B;
sl@0
    67
	/**
sl@0
    68
	 * Definition of Mac mode Uid value
sl@0
    69
	 */
sl@0
    70
	const TInt32 KSymmetricCipherMode = 0x2001ED9C;
sl@0
    71
	/**
sl@0
    72
	 * Definition of Mac algorithm UID value
sl@0
    73
	 */
sl@0
    74
	const TInt32 KAlgorithmCipherAesXcbcMac96 = 0x2001ED9D; 
sl@0
    75
	const TInt32 KAlgorithmCipherAesXcbcPrf128 = 0x2001ED9E;
sl@0
    76
	/**
sl@0
    77
     * Mac algorithm Uids
sl@0
    78
	 */	
sl@0
    79
	const TUid KMacInterfaceUid={KMacInterface};
sl@0
    80
	const TUid KAsyncMacInterfaceUid={KAsyncMacInterface};
sl@0
    81
	const TUid KSymmetricCipherModeUid = {KSymmetricCipherMode};
sl@0
    82
	const TUid KAesXcbcMac96Uid = {KAlgorithmCipherAesXcbcMac96};
sl@0
    83
	const TUid KAesXcbcPrf128Uid = {KAlgorithmCipherAesXcbcPrf128};
sl@0
    84
	
sl@0
    85
#endif
sl@0
    86
	
sl@0
    87
/********************************************************************************/
sl@0
    88
	
sl@0
    89
	
sl@0
    90
	/**
sl@0
    91
	Hash Interface Uid
sl@0
    92
	*/
sl@0
    93
	const TUid KHashInterfaceUid={KHashInterface};
sl@0
    94
sl@0
    95
	
sl@0
    96
	
sl@0
    97
	/**
sl@0
    98
	Random Interface Uid
sl@0
    99
	*/
sl@0
   100
	const TUid KRandomInterfaceUid={KRandomInterface};
sl@0
   101
sl@0
   102
	/**
sl@0
   103
	Symmetric Cipher Interface Uid
sl@0
   104
	*/
sl@0
   105
	const TUid KSymmetricCipherInterfaceUid={KSymmetricCipherInterface};
sl@0
   106
sl@0
   107
	/**
sl@0
   108
	Asymmetric Cipher Interface Uid
sl@0
   109
	*/
sl@0
   110
	const TUid KAsymmetricCipherInterfaceUid={KAsymmetricCipherInterface};
sl@0
   111
sl@0
   112
	/**
sl@0
   113
	Signer Interface Uid
sl@0
   114
	*/
sl@0
   115
	const TUid KSignerInterfaceUid={KSignerInterface};
sl@0
   116
sl@0
   117
	/**
sl@0
   118
	Verifier Interface Uid
sl@0
   119
	*/
sl@0
   120
	const TUid KVerifierInterfaceUid={KVerifierInterface};
sl@0
   121
sl@0
   122
	/**
sl@0
   123
	Key Agreement Interface Uid
sl@0
   124
	*/
sl@0
   125
	const TUid KKeyAgreementInterfaceUid={KKeyAgreementInterface};
sl@0
   126
sl@0
   127
	/**
sl@0
   128
	Key generator Interface Uid
sl@0
   129
	*/
sl@0
   130
	const TUid KKeyGeneratorInterfaceUid={KKeyGeneratorInterface};
sl@0
   131
sl@0
   132
	/**
sl@0
   133
	Key generator Interface Uid
sl@0
   134
	*/
sl@0
   135
	const TUid KKeypairGeneratorInterfaceUid={KKeypairGeneratorInterface};
sl@0
   136
sl@0
   137
	/**
sl@0
   138
	Asynchronous Hash Interface Uid
sl@0
   139
	*/
sl@0
   140
	const TUid KAsyncHashInterfaceUid={KAsyncHashInterface};
sl@0
   141
sl@0
   142
	/**
sl@0
   143
	Asynchronous Random Interface Uid
sl@0
   144
	*/
sl@0
   145
	const TUid KAsyncRandomInterfaceUid={KAsyncRandomInterface};
sl@0
   146
sl@0
   147
	/**
sl@0
   148
	Asynchronous Symmetric Cipher Interface Uid
sl@0
   149
	*/
sl@0
   150
	const TUid KAsyncSymmetricCipherInterfaceUid={KAsyncSymmetricCipherInterface};
sl@0
   151
sl@0
   152
	/**
sl@0
   153
	Asynchronous Asymmetric Cipher Interface Uid
sl@0
   154
	*/
sl@0
   155
	const TUid KAsyncAsymmetricCipherInterfaceUid={KAsyncAsymmetricCipherInterface};
sl@0
   156
sl@0
   157
	/**
sl@0
   158
	Asynchronous Signer Interface Uid
sl@0
   159
	*/
sl@0
   160
	const TUid KAsyncSignerInterfaceUid={KAsyncSignerInterface};
sl@0
   161
sl@0
   162
	/**
sl@0
   163
	Asynchronous Verifier Interface Uid
sl@0
   164
	*/
sl@0
   165
	const TUid KAsyncVerifierInterfaceUid={KAsyncVerifierInterface};
sl@0
   166
sl@0
   167
	/**
sl@0
   168
	Asynchronous Key Agreement Interface Uid
sl@0
   169
	*/
sl@0
   170
	const TUid KAsyncKeyAgreementInterfaceUid={KAsyncKeyAgreementInterface};
sl@0
   171
sl@0
   172
	/**
sl@0
   173
	Asynchronous Key generator Interface Uid
sl@0
   174
	*/
sl@0
   175
	const TUid KAsyncKeyGeneratorInterfaceUid={KAsyncKeyGeneratorInterface};
sl@0
   176
sl@0
   177
	/**
sl@0
   178
	Asynchronous Key generator Interface Uid
sl@0
   179
	*/
sl@0
   180
	const TUid KAsyncKeypairGeneratorInterfaceUid={KAsyncKeypairGeneratorInterface};
sl@0
   181
sl@0
   182
	// Need to initialise directly by element to avoid ARMV5 compiler generating
sl@0
   183
	// an array construction table which causes writable global data to be placed
sl@0
   184
	// in the binary (writable global data is not permitted by the movable memory
sl@0
   185
	// model which e.g., the H2 reference board has to use).
sl@0
   186
	const TUid KInterfacesUids[]=
sl@0
   187
		{
sl@0
   188
		{KHashInterface}, 
sl@0
   189
		{KRandomInterface}, 
sl@0
   190
		{KSymmetricCipherInterface}, 
sl@0
   191
		{KAsymmetricCipherInterface},
sl@0
   192
		{KSignerInterface},
sl@0
   193
		{KVerifierInterface},
sl@0
   194
		{KKeyAgreementInterface},
sl@0
   195
		{KKeyGeneratorInterface},
sl@0
   196
		{KKeypairGeneratorInterface},
sl@0
   197
		{KAsyncHashInterface},
sl@0
   198
		{KAsyncRandomInterface},
sl@0
   199
		{KAsyncSymmetricCipherInterface},
sl@0
   200
		{KAsyncAsymmetricCipherInterface},
sl@0
   201
		{KAsyncSignerInterface},
sl@0
   202
		{KAsyncVerifierInterface},
sl@0
   203
		{KAsyncKeyAgreementInterface},
sl@0
   204
		{KAsyncKeyGeneratorInterface},
sl@0
   205
		{KAsyncKeypairGeneratorInterface},
sl@0
   206
#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT		
sl@0
   207
		{KMacInterface},
sl@0
   208
		{KAsyncMacInterface},
sl@0
   209
#endif		
sl@0
   210
		};
sl@0
   211
sl@0
   212
	/**
sl@0
   213
	Definition of Hash algorithm UID value
sl@0
   214
	*/
sl@0
   215
	const TInt32 KAlgorithmHashMd2 = 0x10283173;
sl@0
   216
	const TInt32 KAlgorithmHashMd4 = 0x2000B341;
sl@0
   217
	const TInt32 KAlgorithmHashMd5 = 0x10283174;
sl@0
   218
	const TInt32 KAlgorithmHashSha1 = 0x10283175;
sl@0
   219
	const TInt32 KAlgorithmHashSha224 = 0x2000E258;
sl@0
   220
	const TInt32 KAlgorithmHashSha256 = 0x2000E259;
sl@0
   221
	const TInt32 KAlgorithmHashSha384 = 0x2000E25A;
sl@0
   222
	const TInt32 KAlgorithmHashSha512 = 0x2000E25B;
sl@0
   223
sl@0
   224
	/**
sl@0
   225
	Md2 algorithm Uid
sl@0
   226
	*/	
sl@0
   227
	const TUid KMd2Uid={KAlgorithmHashMd2};
sl@0
   228
sl@0
   229
	/**
sl@0
   230
	Md4 algorithm Uid
sl@0
   231
	*/	
sl@0
   232
	const TUid KMd4Uid={KAlgorithmHashMd4};
sl@0
   233
sl@0
   234
	/**
sl@0
   235
	Md5 algorithm Uid
sl@0
   236
	*/	
sl@0
   237
	const TUid KMd5Uid={KAlgorithmHashMd5};
sl@0
   238
sl@0
   239
	/**
sl@0
   240
	Sha1 algorithm Uid
sl@0
   241
	*/	
sl@0
   242
	const TUid KSha1Uid={KAlgorithmHashSha1};
sl@0
   243
sl@0
   244
	/**
sl@0
   245
	Sha224 algorithm Uid
sl@0
   246
	*/	
sl@0
   247
	const TUid KSha224Uid={KAlgorithmHashSha224};
sl@0
   248
	
sl@0
   249
	/**
sl@0
   250
	Sha256 algorithm Uid
sl@0
   251
	*/	
sl@0
   252
	const TUid KSha256Uid={KAlgorithmHashSha256};
sl@0
   253
	
sl@0
   254
	/**
sl@0
   255
	Sha384 algorithm Uid
sl@0
   256
	*/	
sl@0
   257
	const TUid KSha384Uid={KAlgorithmHashSha384};
sl@0
   258
	
sl@0
   259
	/**
sl@0
   260
	Sha512 algorithm Uid
sl@0
   261
	*/	
sl@0
   262
	const TUid KSha512Uid={KAlgorithmHashSha512};
sl@0
   263
sl@0
   264
	/**
sl@0
   265
	Definition of hash mode Uid value
sl@0
   266
	*/
sl@0
   267
	const TInt32 KHashMode = 0x10283176;
sl@0
   268
	const TInt32 KHmacMode = 0x10283177;
sl@0
   269
		
sl@0
   270
	/**
sl@0
   271
	Hash mode Uid
sl@0
   272
	*/
sl@0
   273
	const TUid KHashModeUid = {KHashMode};
sl@0
   274
sl@0
   275
	/**
sl@0
   276
	Hmac mode Uid
sl@0
   277
	*/
sl@0
   278
	const TUid KHmacModeUid = {KHmacMode};
sl@0
   279
sl@0
   280
	/**
sl@0
   281
	Definition of Random algorithm UID value
sl@0
   282
	*/ 
sl@0
   283
	const TInt32 KAlgorithmRandom = 0x10283178;
sl@0
   284
sl@0
   285
	/**
sl@0
   286
	Random algorithm Uid
sl@0
   287
	*/	
sl@0
   288
	const TUid KRandomUid={KAlgorithmRandom};
sl@0
   289
sl@0
   290
	/**
sl@0
   291
	Definition of Symmetric Cipher algorithm UID value
sl@0
   292
	*/ 
sl@0
   293
	const TInt32 KAlgorithmCipherDes = 0x10283179;
sl@0
   294
	const TInt32 KAlgorithmCipher3Des = 0x1028317a;
sl@0
   295
	const TInt32 KAlgorithmCipherRc2 = 0x1028317b;
sl@0
   296
	const TInt32 KAlgorithmCipherArc4 = 0x1028317c;
sl@0
   297
	const TInt32 KAlgorithmCipherAes = 0x1028317d;
sl@0
   298
	const TInt32 KAlgorithmCipherMisty1 = 0x102831be;
sl@0
   299
	const TInt32 KAlgorithmCipherMisty2 = 0x102831bf;
sl@0
   300
	const TInt32 KAlgorithmCipherKasumi = 0x102831c0;
sl@0
   301
sl@0
   302
	/**
sl@0
   303
	Des algorithm Uid
sl@0
   304
	*/
sl@0
   305
	const TUid KDesUid={KAlgorithmCipherDes};
sl@0
   306
sl@0
   307
	/**
sl@0
   308
	3Des algorithm Uid
sl@0
   309
	*/
sl@0
   310
	const TUid K3DesUid={KAlgorithmCipher3Des};
sl@0
   311
sl@0
   312
	/**
sl@0
   313
	RC2 algorithm Uid
sl@0
   314
	*/
sl@0
   315
	const TUid KRc2Uid={KAlgorithmCipherRc2};
sl@0
   316
sl@0
   317
	/**
sl@0
   318
	ARC4 algorithm Uid
sl@0
   319
	*/
sl@0
   320
	const TUid KArc4Uid={KAlgorithmCipherArc4};
sl@0
   321
sl@0
   322
	/**
sl@0
   323
	AES algorithm Uid
sl@0
   324
	*/
sl@0
   325
	const TUid KAesUid={KAlgorithmCipherAes};
sl@0
   326
sl@0
   327
	/**
sl@0
   328
	Misty1 (RFC 2294) algorithm Uid
sl@0
   329
	*/
sl@0
   330
	const TUid KMisty1Uid={KAlgorithmCipherMisty1};
sl@0
   331
sl@0
   332
	/**
sl@0
   333
	Misty2 algorithm Uid
sl@0
   334
	*/
sl@0
   335
	const TUid KMisty2Uid={KAlgorithmCipherMisty2};
sl@0
   336
	
sl@0
   337
	/**
sl@0
   338
	Kasumi algorithm Uid
sl@0
   339
	*/
sl@0
   340
	const TUid KKasumiUid={KAlgorithmCipherKasumi};	
sl@0
   341
sl@0
   342
	/**
sl@0
   343
	Definition of Asymmetric Cipher algorithm UID value
sl@0
   344
	*/ 
sl@0
   345
	const TInt32 KAlgorithmCipherRsa = 0x1028317e;
sl@0
   346
sl@0
   347
	/**
sl@0
   348
	Rsa Cipher algorithm Uid
sl@0
   349
	*/
sl@0
   350
	const TUid KRsaCipherUid={KAlgorithmCipherRsa};
sl@0
   351
sl@0
   352
	/**
sl@0
   353
	Definition of Signer algorithm UID value
sl@0
   354
	*/ 
sl@0
   355
	const TInt32 KAlgorithmSignerRsa = 0x1028317f;
sl@0
   356
	const TInt32 KAlgorithmSignerDsa = 0x10283180;
sl@0
   357
sl@0
   358
	/**
sl@0
   359
	Rsa Signer algorithm Uid
sl@0
   360
	*/
sl@0
   361
	const TUid KRsaSignerUid={KAlgorithmSignerRsa};
sl@0
   362
sl@0
   363
	/**
sl@0
   364
	Dsa Signer algorithm Uid
sl@0
   365
	*/
sl@0
   366
	const TUid KDsaSignerUid={KAlgorithmSignerDsa};
sl@0
   367
sl@0
   368
	/**
sl@0
   369
	Definition of Verifier algorithm UID value
sl@0
   370
	*/
sl@0
   371
	const TInt32 KAlgorithmVerifierRsa = 0x10283181;
sl@0
   372
	const TInt32 KAlgorithmVerifierDsa = 0x10283182;
sl@0
   373
sl@0
   374
	/**
sl@0
   375
	Rsa Veifier algorithm Uid
sl@0
   376
	*/
sl@0
   377
	const TUid KRsaVerifierUid={KAlgorithmVerifierRsa};
sl@0
   378
sl@0
   379
	/**
sl@0
   380
	Dsa Signer algorithm Uid
sl@0
   381
	*/
sl@0
   382
	const TUid KDsaVerifierUid={KAlgorithmVerifierDsa};
sl@0
   383
sl@0
   384
sl@0
   385
	/**
sl@0
   386
	Definition of Key Agreement algorithm UID value
sl@0
   387
	*/
sl@0
   388
	const TInt32 KAlgorithmKeyAgreementDH = 0x10283183;
sl@0
   389
sl@0
   390
	/**
sl@0
   391
	DH Agreement algorithm Uid
sl@0
   392
	*/
sl@0
   393
	const TUid KDHAgreementUid={KAlgorithmKeyAgreementDH};
sl@0
   394
sl@0
   395
	/**
sl@0
   396
	Definition of Key Pair Generator algorithm UID value
sl@0
   397
	*/
sl@0
   398
	const TInt32 KAlgorithmDHKeyPairGenerator = 0x10283184;
sl@0
   399
	const TInt32 KAlgorithmRSAKeyPairGenerator = 0x10283185;
sl@0
   400
	const TInt32 KAlgorithmDSAKeyPairGenerator = 0x10283186;
sl@0
   401
	/**
sl@0
   402
	DH Key Pair Generator Algorithm Uid
sl@0
   403
	*/
sl@0
   404
	const TUid KDHKeyPairGeneratorUid={KAlgorithmDHKeyPairGenerator};
sl@0
   405
sl@0
   406
	/**
sl@0
   407
	RSA Key Pair Generator Algorithm Uid
sl@0
   408
	*/
sl@0
   409
	const TUid KRSAKeyPairGeneratorUid={KAlgorithmRSAKeyPairGenerator};
sl@0
   410
sl@0
   411
	/**
sl@0
   412
	DSA Key Pair Generator Algorithm Uid
sl@0
   413
	*/
sl@0
   414
	const TUid KDSAKeyPairGeneratorUid={KAlgorithmDSAKeyPairGenerator};
sl@0
   415
sl@0
   416
	/**
sl@0
   417
	This fake interface uid is used to allow the sub-class of CPadding
sl@0
   418
	to be determined via Extension_ because true RTTI is not supported.		
sl@0
   419
	*/
sl@0
   420
	const TInt32 KPaddingInterface = 0x10283187;
sl@0
   421
	const TUid KPaddingInterfaceUid = {KPaddingInterface};		
sl@0
   422
sl@0
   423
	/**
sl@0
   424
	Definition of Padding mode UID value
sl@0
   425
	*/
sl@0
   426
	const TInt32 KPaddingModeNone = 0x10283188;
sl@0
   427
	const TInt32 KPaddingModeSSLv3 = 0x10283189;
sl@0
   428
	const TInt32 KPaddingModePKCS7 = 0x1028318a;
sl@0
   429
	const TInt32 KPaddingModePkcs1_v1_5_Encryption = 0x1028318b;
sl@0
   430
	const TInt32 KPaddingModePkcs1_v1_5_Signature = 0x1028318c;
sl@0
   431
	
sl@0
   432
	/**
sl@0
   433
	Padding Mode None Uid
sl@0
   434
	*/
sl@0
   435
	const TUid KPaddingModeNoneUid = {KPaddingModeNone};
sl@0
   436
	
sl@0
   437
	/**
sl@0
   438
	SSLv3 Padding Mode Uid
sl@0
   439
	*/	
sl@0
   440
	const TUid KPaddingModeSSLv3Uid = {KPaddingModeSSLv3};
sl@0
   441
sl@0
   442
	/**
sl@0
   443
	PKCS7 Padding Mode Uid
sl@0
   444
	*/		
sl@0
   445
	const TUid KPaddingModePKCS7Uid = {KPaddingModePKCS7};
sl@0
   446
	
sl@0
   447
	/**
sl@0
   448
	Pkcs1 v1.5 Encryption Padding mode Uid
sl@0
   449
	*/
sl@0
   450
	const TUid KPaddingModePkcs1_v1_5_EncryptionUid = {KPaddingModePkcs1_v1_5_Encryption};
sl@0
   451
	
sl@0
   452
	/**
sl@0
   453
	Pkcs1 v1.5 Signature Padding mode Uid
sl@0
   454
	*/	
sl@0
   455
	const TUid KPaddingModePkcs1_v1_5_SignatureUid = {KPaddingModePkcs1_v1_5_Signature};	
sl@0
   456
	
sl@0
   457
	/**
sl@0
   458
	Definition of Cryptography mode UID value
sl@0
   459
	*/
sl@0
   460
	const TInt32 KCryptoModeEncrypt = 0x1028318d;
sl@0
   461
	const TInt32 KCryptoModeDecrypt = 0x1028318e;
sl@0
   462
	const TInt32 KCryptoModeNone = 0x1028318f;
sl@0
   463
	
sl@0
   464
	/**
sl@0
   465
	Crypto Encrypt Mode Uid
sl@0
   466
	*/
sl@0
   467
	const TUid KCryptoModeEncryptUid = {KCryptoModeEncrypt};
sl@0
   468
	
sl@0
   469
	/**
sl@0
   470
	Crypto Decrypt Mode Uid
sl@0
   471
	*/
sl@0
   472
	const TUid KCryptoModeDecryptUid = {KCryptoModeDecrypt};
sl@0
   473
	
sl@0
   474
	/**
sl@0
   475
	Crypto None Mode Uid
sl@0
   476
	*/
sl@0
   477
	const TUid KCryptoModeNoneUid = {KCryptoModeNone};
sl@0
   478
sl@0
   479
	/**
sl@0
   480
	Definition of Symmetric operation mode Uid value
sl@0
   481
	*/
sl@0
   482
	const TInt32 KOperationModeNone = 0x10283190;
sl@0
   483
	const TInt32 KOperationModeECB = 0x10283191;
sl@0
   484
	const TInt32 KOperationModeCBC = 0x10283192;
sl@0
   485
	const TInt32 KOperationModeOFB = 0x10283193;
sl@0
   486
	const TInt32 KOperationModeCFB = 0x10283194;
sl@0
   487
	const TInt32 KOperationModeCTR = 0x10283195;
sl@0
   488
	
sl@0
   489
	/**
sl@0
   490
	None Mode Uid
sl@0
   491
	*/
sl@0
   492
	const TUid KOperationModeNoneUid = {KOperationModeNone};
sl@0
   493
	
sl@0
   494
	/**
sl@0
   495
	ECB Mode Uid
sl@0
   496
	*/
sl@0
   497
	const TUid KOperationModeECBUid = {KOperationModeECB};
sl@0
   498
	
sl@0
   499
	/**
sl@0
   500
	CBC Mode Uid
sl@0
   501
	*/	
sl@0
   502
	const TUid KOperationModeCBCUid = {KOperationModeCBC};
sl@0
   503
	
sl@0
   504
	/**
sl@0
   505
	OFB Mode Uid
sl@0
   506
	*/	
sl@0
   507
	const TUid KOperationModeOFBUid = {KOperationModeOFB};
sl@0
   508
	
sl@0
   509
	/**
sl@0
   510
	CFB Mode Uid
sl@0
   511
	*/	
sl@0
   512
	const TUid KOperationModeCFBUid = {KOperationModeCFB};
sl@0
   513
	
sl@0
   514
	/**
sl@0
   515
	CTR Mode Uid
sl@0
   516
	*/	
sl@0
   517
	const TUid KOperationModeCTRUid = {KOperationModeCTR};
sl@0
   518
sl@0
   519
 	/**
sl@0
   520
 	Definition of the Hmac key parameter Uid value
sl@0
   521
 	*/
sl@0
   522
 	const TInt32 KHmacKeyParameter = 0x102831ba;	
sl@0
   523
 	const TUid KHmacKeyParameterUid={KHmacKeyParameter};
sl@0
   524
sl@0
   525
	/**
sl@0
   526
	Definition of the Symmetric key parameter Uid value
sl@0
   527
	*/
sl@0
   528
	const TInt32 KSymmetricKeyParameter = 0x10283196;	
sl@0
   529
	const TUid KSymmetricKeyParameterUid={KSymmetricKeyParameter};
sl@0
   530
	
sl@0
   531
	/**
sl@0
   532
	Definition of the Dsa key parameter Uid value
sl@0
   533
	*/	
sl@0
   534
	const TInt32 KDsaKeyParameterP = 0x10283197;
sl@0
   535
	const TInt32 KDsaKeyParameterQ = 0x10283198;
sl@0
   536
	const TInt32 KDsaKeyParameterG = 0x10283199;
sl@0
   537
	const TInt32 KDsaKeyParameterY = 0x1028319a;
sl@0
   538
	const TInt32 KDsaKeyParameterX = 0x1028319b;
sl@0
   539
	const TInt32 KDsaKeyGenerationCounter = 0x1028319c;
sl@0
   540
	const TInt32 KDsaKeyGenerationSeed = 0x1028319d;
sl@0
   541
sl@0
   542
	const TUid KDsaKeyParameterPUid={KDsaKeyParameterP};
sl@0
   543
	const TUid KDsaKeyParameterQUid={KDsaKeyParameterQ};
sl@0
   544
	const TUid KDsaKeyParameterGUid={KDsaKeyParameterG};
sl@0
   545
	const TUid KDsaKeyParameterYUid={KDsaKeyParameterY};
sl@0
   546
	const TUid KDsaKeyParameterXUid={KDsaKeyParameterX};
sl@0
   547
	const TUid KDsaKeyGenerationCounterUid={KDsaKeyGenerationCounter};
sl@0
   548
	const TUid KDsaKeyGenerationSeedUid={KDsaKeyGenerationSeed};
sl@0
   549
sl@0
   550
	/**
sl@0
   551
	Definition of the Diffie-Hellman parameter Uid value
sl@0
   552
	*/
sl@0
   553
	const TInt32 KDhKeyParameterN = 0x1028319e;
sl@0
   554
	const TInt32 KDhKeyParameterG = 0x1028319f;
sl@0
   555
	const TInt32 KDhKeyParameterX = 0x102831a0;
sl@0
   556
	const TInt32 KDhKeyParameterx = 0x102831a1;
sl@0
   557
sl@0
   558
	const TUid KDhKeyParameterNUid = {KDhKeyParameterN};
sl@0
   559
	const TUid KDhKeyParameterGUid = {KDhKeyParameterG};
sl@0
   560
	const TUid KDhKeyParameterXUid = {KDhKeyParameterX};
sl@0
   561
	const TUid KDhKeyParameterxUid = {KDhKeyParameterx};
sl@0
   562
sl@0
   563
	/**
sl@0
   564
	Definition of the RSA cipher parameter Uid value
sl@0
   565
	*/
sl@0
   566
	const TInt32 KRsaKeyParameterN = 0x102831a2;
sl@0
   567
	const TInt32 KRsaKeyParameterE = 0x102831a3;
sl@0
   568
	const TInt32 KRsaKeyParameterD = 0x102831a4;
sl@0
   569
	const TInt32 KRsaKeyParameterP = 0x102831a5;
sl@0
   570
	const TInt32 KRsaKeyParameterQ = 0x102831a6;
sl@0
   571
	const TInt32 KRsaKeyParameterQInv = 0x102831a7;
sl@0
   572
	const TInt32 KRsaKeyParameterDP = 0x102831a8;
sl@0
   573
	const TInt32 KRsaKeyParameterDQ = 0x102831a9;
sl@0
   574
sl@0
   575
	const TUid KRsaKeyParameterNUid = {KRsaKeyParameterN};
sl@0
   576
	const TUid KRsaKeyParameterEUid = {KRsaKeyParameterE};
sl@0
   577
	const TUid KRsaKeyParameterDUid = {KRsaKeyParameterD};
sl@0
   578
	const TUid KRsaKeyParameterPUid = {KRsaKeyParameterP};
sl@0
   579
	const TUid KRsaKeyParameterQUid = {KRsaKeyParameterQ};
sl@0
   580
	const TUid KRsaKeyParameterQInvUid = {KRsaKeyParameterQInv};
sl@0
   581
	const TUid KRsaKeyParameterDPUid = {KRsaKeyParameterDP};
sl@0
   582
	const TUid KRsaKeyParameterDQUid = {KRsaKeyParameterDQ};
sl@0
   583
sl@0
   584
	/**
sl@0
   585
	Definition of the DSA Signature Parameter Uid value
sl@0
   586
	*/
sl@0
   587
	const TInt32 KDsaSignatureParameterR = 0x102831aa;
sl@0
   588
	const TInt32 KDsaSignatureParameterS = 0x102831ab;
sl@0
   589
	
sl@0
   590
	const TUid KDsaSignatureParameterRUid = {KDsaSignatureParameterR};
sl@0
   591
	const TUid KDsaSignatureParameterSUid = {KDsaSignatureParameterS};
sl@0
   592
sl@0
   593
	/**
sl@0
   594
	Definition of the RSA Signature Parameter Uid value
sl@0
   595
	*/	
sl@0
   596
	const TInt32 KRsaSignatureParameterS = 0x102831ac;
sl@0
   597
	const TUid KRsaSignatureParameterSUid = {KRsaSignatureParameterS};
sl@0
   598
sl@0
   599
	/**
sl@0
   600
	Definition of the key type uid
sl@0
   601
	*/
sl@0
   602
	const TInt32 KRsaKeyType = 0x102831ad;
sl@0
   603
	const TUid KRsaKeyTypeUid= {KRsaKeyType};
sl@0
   604
sl@0
   605
	/**
sl@0
   606
	Definition of Symmetric and Asymmetric Key Type Uid value
sl@0
   607
	*/
sl@0
   608
	const TInt32 KHmacKey = 0x102831bb;
sl@0
   609
	const TInt32 KSymmetricKey = 0x102831ae;	
sl@0
   610
	const TInt32 KDsaPublicKey = 0x102831af;
sl@0
   611
	const TInt32 KDsaPrivateKey = 0x102831b0;
sl@0
   612
	const TInt32 KRsaPublicKey = 0x102831b1;
sl@0
   613
	const TInt32 KRsaPrivateKeyStandard = 0x102831b2;
sl@0
   614
	const TInt32 KRsaPrivateKeyCRT = 0x102831b3;
sl@0
   615
	const TInt32 KDHPublicKey = 0x102831b4;
sl@0
   616
	const TInt32 KDHPrivateKey = 0x102831b5;
sl@0
   617
	const TInt32 KDHAgreedKey = 0x102831b6;
sl@0
   618
sl@0
   619
	const TUid KHmacKeyUid={KHmacKey};
sl@0
   620
	const TUid KSymmetricKeyUid={KSymmetricKey};
sl@0
   621
	const TUid KDsaPublicKeyUid={KDsaPublicKey};
sl@0
   622
	const TUid KDsaPrivateKeyUid={KDsaPrivateKey};
sl@0
   623
	const TUid KRsaPublicKeyUid={KRsaPublicKey};
sl@0
   624
	const TUid KRsaPrivateKeyStandardUid={KRsaPrivateKeyStandard};
sl@0
   625
	const TUid KRsaPrivateKeyCRTUid={KRsaPrivateKeyCRT};
sl@0
   626
	const TUid KDHPublicKeyUid={KDHPublicKey};
sl@0
   627
	const TUid KDHPrivateKeyUid={KDHPrivateKey};
sl@0
   628
	const TUid KDHAgreedKeyUid={KDHAgreedKey};
sl@0
   629
sl@0
   630
	const TUid KRC2EffectiveKeyLenBits = { 0x102831bc };
sl@0
   631
	const TUid KARC4DiscardBytes = { 0x102831bd };
sl@0
   632
sl@0
   633
	/**
sl@0
   634
	Definition of Key Attribute value
sl@0
   635
	*/
sl@0
   636
	const TInt32 KNonEmbeddedKey = 0x102831b7;
sl@0
   637
	const TInt32 KExtractableKey = 0x102831b8;
sl@0
   638
	const TInt32 KNonExtractableKey = 0x102831b9;
sl@0
   639
sl@0
   640
	const TUid KNonEmbeddedKeyUid={KNonEmbeddedKey};
sl@0
   641
	const TUid KExtractableKeyUid={KExtractableKey};
sl@0
   642
	const TUid KNonExtractableKeyUid={KNonExtractableKey};
sl@0
   643
sl@0
   644
#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
   645
	/**
sl@0
   646
	 * The UID below is not specific to ECC. This should be used 
sl@0
   647
	 * as a CKey key param, whenever the user of CryptoSPI just has
sl@0
   648
	 * the handle and not the actual key with him. The SPI plugin 
sl@0
   649
	 * should search for this ID and invoke the right apis for 
sl@0
   650
	 * getting access to keys.
sl@0
   651
	 */
sl@0
   652
    const TInt32 KPassedHandleToKey = 0x20025161;
sl@0
   653
    const TUid KPassedHandleToKeyUid = {KPassedHandleToKey};
sl@0
   654
sl@0
   655
#ifdef SYMBIAN_ENABLE_SDP_ECC
sl@0
   656
    /**
sl@0
   657
    UIDs related to Ecc (which is Asymmetric Cipher)
sl@0
   658
    */
sl@0
   659
    const TInt32 KAlgorithmCipherEcc = 0x20024482;
sl@0
   660
    const TInt32 KAlgorithmSignerEcc = 0x20024483;
sl@0
   661
    const TInt32 KAlgorithmVerifierEcc = 0x20024486;
sl@0
   662
    const TInt32 KAlgorithmECCKeyPairGenerator = 0x20024487;
sl@0
   663
sl@0
   664
    const TUid KEccCipherUid = {KAlgorithmCipherEcc};
sl@0
   665
    const TUid KEccSignerUid = {KAlgorithmSignerEcc};
sl@0
   666
    const TUid KEccVerifierUid = {KAlgorithmVerifierEcc};
sl@0
   667
    const TUid KEccKeyPairGeneratorUid = {KAlgorithmECCKeyPairGenerator};
sl@0
   668
sl@0
   669
    /**
sl@0
   670
    UIDs related to ECC keys
sl@0
   671
    */
sl@0
   672
    const TInt32 KEccKeyType = 0x20025160;
sl@0
   673
    const TInt32 KEccPublicKey = 0x20024484;
sl@0
   674
    const TInt32 KEccPrivateKey = 0x20024485;
sl@0
   675
sl@0
   676
    const TUid KEccKeyTypeUid = {KEccKeyType};
sl@0
   677
    const TUid KEccPublicKeyUid = {KEccPublicKey};
sl@0
   678
    const TUid KEccPrivateKeyUid = {KEccPrivateKey};
sl@0
   679
sl@0
   680
    /**
sl@0
   681
    UIDs related to ECC key params
sl@0
   682
    */
sl@0
   683
    const TInt32 KEccFiniteFieldFP = 0x20025151;
sl@0
   684
    const TInt32 KEccFiniteFieldF2M = 0x20025152;
sl@0
   685
    const TInt32 KEccKeyGenerationSeed = 0x20025153;
sl@0
   686
    const TInt32 KEccKeyParameterP = 0x20025154;
sl@0
   687
    const TInt32 KEccKeyParameterA = 0x20025155;
sl@0
   688
    const TInt32 KEccKeyParameterB = 0x20025156;
sl@0
   689
    const TInt32 KEccKeyParameterG = 0x20025157;
sl@0
   690
    const TInt32 KEccKeyParameterN = 0x20025158;
sl@0
   691
    const TInt32 KEccKeyParameterH = 0x20025159;
sl@0
   692
    const TInt32 KEccKeyParameterM = 0x2002515A;
sl@0
   693
    const TInt32 KEccKeyParameterF = 0x2002515B;
sl@0
   694
    const TInt32 KEccKeyParameterD = 0x2002515C;
sl@0
   695
    const TInt32 KEccKeyParameterQ = 0x2002515D;
sl@0
   696
    const TInt32 KEccSignatureParameterR = 0x2002515E;
sl@0
   697
    const TInt32 KEccSignatureParameterS = 0x2002515F;
sl@0
   698
sl@0
   699
    const TUid KEccFiniteFieldFPUid = {KEccFiniteFieldFP};
sl@0
   700
    const TUid KEccFiniteFieldF2MUid = {KEccFiniteFieldF2M};
sl@0
   701
    const TUid KEccKeyGenerationSeedUid = {KEccKeyGenerationSeed};
sl@0
   702
    const TUid KEccKeyParameterPUid = {KEccKeyParameterP};
sl@0
   703
    const TUid KEccKeyParameterAUid = {KEccKeyParameterA};
sl@0
   704
    const TUid KEccKeyParameterBUid = {KEccKeyParameterB};
sl@0
   705
    const TUid KEccKeyParameterGUid = {KEccKeyParameterG};
sl@0
   706
    const TUid KEccKeyParameterNUid = {KEccKeyParameterN};
sl@0
   707
    const TUid KEccKeyParameterHUid = {KEccKeyParameterH};
sl@0
   708
    const TUid KEccKeyParameterMUid = {KEccKeyParameterM};
sl@0
   709
    const TUid KEccKeyParameterFUid = {KEccKeyParameterF};
sl@0
   710
    const TUid KEccKeyParameterDUid = {KEccKeyParameterD};
sl@0
   711
    const TUid KEccKeyParameterQUid = {KEccKeyParameterQ};
sl@0
   712
    const TUid KEccSignatureParameterRUid = {KEccSignatureParameterR};
sl@0
   713
    const TUid KEccSignatureParameterSUid = {KEccSignatureParameterS};
sl@0
   714
#endif //SYMBIAN_ENABLE_SDP_ECC
sl@0
   715
#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
sl@0
   716
	}
sl@0
   717
sl@0
   718
sl@0
   719
#endif //__CRYPTOAPI_CRYPTOSPIDEF_H__