diff -r 675a964f4eb5 -r 35751d3474b7 crypto/weakcryptospi/inc/spi/cryptospidef.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/crypto/weakcryptospi/inc/spi/cryptospidef.h Thu Sep 10 14:01:51 2009 +0300 @@ -0,0 +1,646 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* crypto spi data definition +* +*/ + + +/** + @file + @publishedPartner + @released +*/ + +#ifndef __CRYPTOAPI_CRYPTOSPIDEF_H__ +#define __CRYPTOAPI_CRYPTOSPIDEF_H__ + +#include + +namespace CryptoSpi + { + /** + Definition of Cryptography interface UID value + */ + const TInt32 KHashInterface = 0x10283161; + const TInt32 KRandomInterface = 0x10283162; + const TInt32 KSymmetricCipherInterface = 0x10283163; + const TInt32 KAsymmetricCipherInterface = 0x10283164; + const TInt32 KSignerInterface = 0x10283165; + const TInt32 KVerifierInterface = 0x10283166; + const TInt32 KKeyAgreementInterface = 0x10283167; + const TInt32 KKeyGeneratorInterface = 0x10283168; + const TInt32 KKeypairGeneratorInterface = 0x10283169; + const TInt32 KAsyncHashInterface = 0x1028316a; + const TInt32 KAsyncRandomInterface = 0x1028316b; + const TInt32 KAsyncSymmetricCipherInterface = 0x1028316c; + const TInt32 KAsyncAsymmetricCipherInterface = 0x1028316d; + const TInt32 KAsyncSignerInterface = 0x1028316e; + const TInt32 KAsyncVerifierInterface = 0x1028316f; + const TInt32 KAsyncKeyAgreementInterface = 0x10283170; + const TInt32 KAsyncKeyGeneratorInterface = 0x10283171; + const TInt32 KAsyncKeypairGeneratorInterface = 0x10283172; + + +/******************************MAC INTERFACE UIDS**********************************/ + +#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT + /** + * Mac Interface Uid + */ + const TInt32 KMacInterface = 0x2001ED9A; + /** + * Asynchronous Mac Interface Uid + */ + const TInt32 KAsyncMacInterface = 0x2001ED9B; + /** + * Definition of Mac mode Uid value + */ + const TInt32 KSymmetricCipherMode = 0x2001ED9C; + /** + * Definition of Mac algorithm UID value + */ + const TInt32 KAlgorithmCipherAesXcbcMac96 = 0x2001ED9D; + const TInt32 KAlgorithmCipherAesXcbcPrf128 = 0x2001ED9E; + /** + * Mac algorithm Uids + */ + const TUid KMacInterfaceUid={KMacInterface}; + const TUid KAsyncMacInterfaceUid={KAsyncMacInterface}; + const TUid KSymmetricCipherModeUid = {KSymmetricCipherMode}; + const TUid KAesXcbcMac96Uid = {KAlgorithmCipherAesXcbcMac96}; + const TUid KAesXcbcPrf128Uid = {KAlgorithmCipherAesXcbcPrf128}; + +#endif + +/********************************************************************************/ + + + /** + Hash Interface Uid + */ + const TUid KHashInterfaceUid={KHashInterface}; + + + + /** + Random Interface Uid + */ + const TUid KRandomInterfaceUid={KRandomInterface}; + + /** + Symmetric Cipher Interface Uid + */ + const TUid KSymmetricCipherInterfaceUid={KSymmetricCipherInterface}; + + /** + Asymmetric Cipher Interface Uid + */ + const TUid KAsymmetricCipherInterfaceUid={KAsymmetricCipherInterface}; + + /** + Signer Interface Uid + */ + const TUid KSignerInterfaceUid={KSignerInterface}; + + /** + Verifier Interface Uid + */ + const TUid KVerifierInterfaceUid={KVerifierInterface}; + + /** + Key Agreement Interface Uid + */ + const TUid KKeyAgreementInterfaceUid={KKeyAgreementInterface}; + + /** + Key generator Interface Uid + */ + const TUid KKeyGeneratorInterfaceUid={KKeyGeneratorInterface}; + + /** + Key generator Interface Uid + */ + const TUid KKeypairGeneratorInterfaceUid={KKeypairGeneratorInterface}; + + /** + Asynchronous Hash Interface Uid + */ + const TUid KAsyncHashInterfaceUid={KAsyncHashInterface}; + + /** + Asynchronous Random Interface Uid + */ + const TUid KAsyncRandomInterfaceUid={KAsyncRandomInterface}; + + /** + Asynchronous Symmetric Cipher Interface Uid + */ + const TUid KAsyncSymmetricCipherInterfaceUid={KAsyncSymmetricCipherInterface}; + + /** + Asynchronous Asymmetric Cipher Interface Uid + */ + const TUid KAsyncAsymmetricCipherInterfaceUid={KAsyncAsymmetricCipherInterface}; + + /** + Asynchronous Signer Interface Uid + */ + const TUid KAsyncSignerInterfaceUid={KAsyncSignerInterface}; + + /** + Asynchronous Verifier Interface Uid + */ + const TUid KAsyncVerifierInterfaceUid={KAsyncVerifierInterface}; + + /** + Asynchronous Key Agreement Interface Uid + */ + const TUid KAsyncKeyAgreementInterfaceUid={KAsyncKeyAgreementInterface}; + + /** + Asynchronous Key generator Interface Uid + */ + const TUid KAsyncKeyGeneratorInterfaceUid={KAsyncKeyGeneratorInterface}; + + /** + Asynchronous Key generator Interface Uid + */ + const TUid KAsyncKeypairGeneratorInterfaceUid={KAsyncKeypairGeneratorInterface}; + + // Need to initialise directly by element to avoid ARMV5 compiler generating + // an array construction table which causes writable global data to be placed + // in the binary (writable global data is not permitted by the movable memory + // model which e.g., the H2 reference board has to use). + const TUid KInterfacesUids[]= + { + {KHashInterface}, + {KRandomInterface}, + {KSymmetricCipherInterface}, + {KAsymmetricCipherInterface}, + {KSignerInterface}, + {KVerifierInterface}, + {KKeyAgreementInterface}, + {KKeyGeneratorInterface}, + {KKeypairGeneratorInterface}, + {KAsyncHashInterface}, + {KAsyncRandomInterface}, + {KAsyncSymmetricCipherInterface}, + {KAsyncAsymmetricCipherInterface}, + {KAsyncSignerInterface}, + {KAsyncVerifierInterface}, + {KAsyncKeyAgreementInterface}, + {KAsyncKeyGeneratorInterface}, + {KAsyncKeypairGeneratorInterface}, +#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT + {KMacInterface}, + {KAsyncMacInterface}, +#endif + }; + + /** + Definition of Hash algorithm UID value + */ + const TInt32 KAlgorithmHashMd2 = 0x10283173; + const TInt32 KAlgorithmHashMd4 = 0x2000B341; + const TInt32 KAlgorithmHashMd5 = 0x10283174; + const TInt32 KAlgorithmHashSha1 = 0x10283175; + const TInt32 KAlgorithmHashSha224 = 0x2000E258; + const TInt32 KAlgorithmHashSha256 = 0x2000E259; + const TInt32 KAlgorithmHashSha384 = 0x2000E25A; + const TInt32 KAlgorithmHashSha512 = 0x2000E25B; + + /** + Md2 algorithm Uid + */ + const TUid KMd2Uid={KAlgorithmHashMd2}; + + /** + Md4 algorithm Uid + */ + const TUid KMd4Uid={KAlgorithmHashMd4}; + + /** + Md5 algorithm Uid + */ + const TUid KMd5Uid={KAlgorithmHashMd5}; + + /** + Sha1 algorithm Uid + */ + const TUid KSha1Uid={KAlgorithmHashSha1}; + + /** + Sha224 algorithm Uid + */ + const TUid KSha224Uid={KAlgorithmHashSha224}; + + /** + Sha256 algorithm Uid + */ + const TUid KSha256Uid={KAlgorithmHashSha256}; + + /** + Sha384 algorithm Uid + */ + const TUid KSha384Uid={KAlgorithmHashSha384}; + + /** + Sha512 algorithm Uid + */ + const TUid KSha512Uid={KAlgorithmHashSha512}; + + /** + Definition of hash mode Uid value + */ + const TInt32 KHashMode = 0x10283176; + const TInt32 KHmacMode = 0x10283177; + + /** + Hash mode Uid + */ + const TUid KHashModeUid = {KHashMode}; + + /** + Hmac mode Uid + */ + const TUid KHmacModeUid = {KHmacMode}; + + /** + Definition of Random algorithm UID value + */ + const TInt32 KAlgorithmRandom = 0x10283178; + + /** + Random algorithm Uid + */ + const TUid KRandomUid={KAlgorithmRandom}; + + /** + Definition of Symmetric Cipher algorithm UID value + */ + const TInt32 KAlgorithmCipherDes = 0x10283179; + const TInt32 KAlgorithmCipher3Des = 0x1028317a; + const TInt32 KAlgorithmCipherRc2 = 0x1028317b; + const TInt32 KAlgorithmCipherArc4 = 0x1028317c; + const TInt32 KAlgorithmCipherAes = 0x1028317d; + const TInt32 KAlgorithmCipherMisty1 = 0x102831be; + const TInt32 KAlgorithmCipherMisty2 = 0x102831bf; + const TInt32 KAlgorithmCipherKasumi = 0x102831c0; + + /** + Des algorithm Uid + */ + const TUid KDesUid={KAlgorithmCipherDes}; + + /** + 3Des algorithm Uid + */ + const TUid K3DesUid={KAlgorithmCipher3Des}; + + /** + RC2 algorithm Uid + */ + const TUid KRc2Uid={KAlgorithmCipherRc2}; + + /** + ARC4 algorithm Uid + */ + const TUid KArc4Uid={KAlgorithmCipherArc4}; + + /** + AES algorithm Uid + */ + const TUid KAesUid={KAlgorithmCipherAes}; + + /** + Misty1 (RFC 2294) algorithm Uid + */ + const TUid KMisty1Uid={KAlgorithmCipherMisty1}; + + /** + Misty2 algorithm Uid + */ + const TUid KMisty2Uid={KAlgorithmCipherMisty2}; + + /** + Kasumi algorithm Uid + */ + const TUid KKasumiUid={KAlgorithmCipherKasumi}; + + /** + Definition of Asymmetric Cipher algorithm UID value + */ + const TInt32 KAlgorithmCipherRsa = 0x1028317e; + + /** + Rsa Cipher algorithm Uid + */ + const TUid KRsaCipherUid={KAlgorithmCipherRsa}; + + /** + Definition of Signer algorithm UID value + */ + const TInt32 KAlgorithmSignerRsa = 0x1028317f; + const TInt32 KAlgorithmSignerDsa = 0x10283180; + + /** + Rsa Signer algorithm Uid + */ + const TUid KRsaSignerUid={KAlgorithmSignerRsa}; + + /** + Dsa Signer algorithm Uid + */ + const TUid KDsaSignerUid={KAlgorithmSignerDsa}; + + /** + Definition of Verifier algorithm UID value + */ + const TInt32 KAlgorithmVerifierRsa = 0x10283181; + const TInt32 KAlgorithmVerifierDsa = 0x10283182; + + /** + Rsa Veifier algorithm Uid + */ + const TUid KRsaVerifierUid={KAlgorithmVerifierRsa}; + + /** + Dsa Signer algorithm Uid + */ + const TUid KDsaVerifierUid={KAlgorithmVerifierDsa}; + + + /** + Definition of Key Agreement algorithm UID value + */ + const TInt32 KAlgorithmKeyAgreementDH = 0x10283183; + + /** + DH Agreement algorithm Uid + */ + const TUid KDHAgreementUid={KAlgorithmKeyAgreementDH}; + + /** + Definition of Key Pair Generator algorithm UID value + */ + const TInt32 KAlgorithmDHKeyPairGenerator = 0x10283184; + const TInt32 KAlgorithmRSAKeyPairGenerator = 0x10283185; + const TInt32 KAlgorithmDSAKeyPairGenerator = 0x10283186; + /** + DH Key Pair Generator Algorithm Uid + */ + const TUid KDHKeyPairGeneratorUid={KAlgorithmDHKeyPairGenerator}; + + /** + RSA Key Pair Generator Algorithm Uid + */ + const TUid KRSAKeyPairGeneratorUid={KAlgorithmRSAKeyPairGenerator}; + + /** + DSA Key Pair Generator Algorithm Uid + */ + const TUid KDSAKeyPairGeneratorUid={KAlgorithmDSAKeyPairGenerator}; + + /** + This fake interface uid is used to allow the sub-class of CPadding + to be determined via Extension_ because true RTTI is not supported. + */ + const TInt32 KPaddingInterface = 0x10283187; + const TUid KPaddingInterfaceUid = {KPaddingInterface}; + + /** + Definition of Padding mode UID value + */ + const TInt32 KPaddingModeNone = 0x10283188; + const TInt32 KPaddingModeSSLv3 = 0x10283189; + const TInt32 KPaddingModePKCS7 = 0x1028318a; + const TInt32 KPaddingModePkcs1_v1_5_Encryption = 0x1028318b; + const TInt32 KPaddingModePkcs1_v1_5_Signature = 0x1028318c; + + /** + Padding Mode None Uid + */ + const TUid KPaddingModeNoneUid = {KPaddingModeNone}; + + /** + SSLv3 Padding Mode Uid + */ + const TUid KPaddingModeSSLv3Uid = {KPaddingModeSSLv3}; + + /** + PKCS7 Padding Mode Uid + */ + const TUid KPaddingModePKCS7Uid = {KPaddingModePKCS7}; + + /** + Pkcs1 v1.5 Encryption Padding mode Uid + */ + const TUid KPaddingModePkcs1_v1_5_EncryptionUid = {KPaddingModePkcs1_v1_5_Encryption}; + + /** + Pkcs1 v1.5 Signature Padding mode Uid + */ + const TUid KPaddingModePkcs1_v1_5_SignatureUid = {KPaddingModePkcs1_v1_5_Signature}; + + /** + Definition of Cryptography mode UID value + */ + const TInt32 KCryptoModeEncrypt = 0x1028318d; + const TInt32 KCryptoModeDecrypt = 0x1028318e; + const TInt32 KCryptoModeNone = 0x1028318f; + + /** + Crypto Encrypt Mode Uid + */ + const TUid KCryptoModeEncryptUid = {KCryptoModeEncrypt}; + + /** + Crypto Decrypt Mode Uid + */ + const TUid KCryptoModeDecryptUid = {KCryptoModeDecrypt}; + + /** + Crypto None Mode Uid + */ + const TUid KCryptoModeNoneUid = {KCryptoModeNone}; + + /** + Definition of Symmetric operation mode Uid value + */ + const TInt32 KOperationModeNone = 0x10283190; + const TInt32 KOperationModeECB = 0x10283191; + const TInt32 KOperationModeCBC = 0x10283192; + const TInt32 KOperationModeOFB = 0x10283193; + const TInt32 KOperationModeCFB = 0x10283194; + const TInt32 KOperationModeCTR = 0x10283195; + + /** + None Mode Uid + */ + const TUid KOperationModeNoneUid = {KOperationModeNone}; + + /** + ECB Mode Uid + */ + const TUid KOperationModeECBUid = {KOperationModeECB}; + + /** + CBC Mode Uid + */ + const TUid KOperationModeCBCUid = {KOperationModeCBC}; + + /** + OFB Mode Uid + */ + const TUid KOperationModeOFBUid = {KOperationModeOFB}; + + /** + CFB Mode Uid + */ + const TUid KOperationModeCFBUid = {KOperationModeCFB}; + + /** + CTR Mode Uid + */ + const TUid KOperationModeCTRUid = {KOperationModeCTR}; + + /** + Definition of the Hmac key parameter Uid value + */ + const TInt32 KHmacKeyParameter = 0x102831ba; + const TUid KHmacKeyParameterUid={KHmacKeyParameter}; + + /** + Definition of the Symmetric key parameter Uid value + */ + const TInt32 KSymmetricKeyParameter = 0x10283196; + const TUid KSymmetricKeyParameterUid={KSymmetricKeyParameter}; + + /** + Definition of the Dsa key parameter Uid value + */ + const TInt32 KDsaKeyParameterP = 0x10283197; + const TInt32 KDsaKeyParameterQ = 0x10283198; + const TInt32 KDsaKeyParameterG = 0x10283199; + const TInt32 KDsaKeyParameterY = 0x1028319a; + const TInt32 KDsaKeyParameterX = 0x1028319b; + const TInt32 KDsaKeyGenerationCounter = 0x1028319c; + const TInt32 KDsaKeyGenerationSeed = 0x1028319d; + + const TUid KDsaKeyParameterPUid={KDsaKeyParameterP}; + const TUid KDsaKeyParameterQUid={KDsaKeyParameterQ}; + const TUid KDsaKeyParameterGUid={KDsaKeyParameterG}; + const TUid KDsaKeyParameterYUid={KDsaKeyParameterY}; + const TUid KDsaKeyParameterXUid={KDsaKeyParameterX}; + const TUid KDsaKeyGenerationCounterUid={KDsaKeyGenerationCounter}; + const TUid KDsaKeyGenerationSeedUid={KDsaKeyGenerationSeed}; + + /** + Definition of the Diffie-Hellman parameter Uid value + */ + const TInt32 KDhKeyParameterN = 0x1028319e; + const TInt32 KDhKeyParameterG = 0x1028319f; + const TInt32 KDhKeyParameterX = 0x102831a0; + const TInt32 KDhKeyParameterx = 0x102831a1; + + const TUid KDhKeyParameterNUid = {KDhKeyParameterN}; + const TUid KDhKeyParameterGUid = {KDhKeyParameterG}; + const TUid KDhKeyParameterXUid = {KDhKeyParameterX}; + const TUid KDhKeyParameterxUid = {KDhKeyParameterx}; + + /** + Definition of the RSA cipher parameter Uid value + */ + const TInt32 KRsaKeyParameterN = 0x102831a2; + const TInt32 KRsaKeyParameterE = 0x102831a3; + const TInt32 KRsaKeyParameterD = 0x102831a4; + const TInt32 KRsaKeyParameterP = 0x102831a5; + const TInt32 KRsaKeyParameterQ = 0x102831a6; + const TInt32 KRsaKeyParameterQInv = 0x102831a7; + const TInt32 KRsaKeyParameterDP = 0x102831a8; + const TInt32 KRsaKeyParameterDQ = 0x102831a9; + + const TUid KRsaKeyParameterNUid = {KRsaKeyParameterN}; + const TUid KRsaKeyParameterEUid = {KRsaKeyParameterE}; + const TUid KRsaKeyParameterDUid = {KRsaKeyParameterD}; + const TUid KRsaKeyParameterPUid = {KRsaKeyParameterP}; + const TUid KRsaKeyParameterQUid = {KRsaKeyParameterQ}; + const TUid KRsaKeyParameterQInvUid = {KRsaKeyParameterQInv}; + const TUid KRsaKeyParameterDPUid = {KRsaKeyParameterDP}; + const TUid KRsaKeyParameterDQUid = {KRsaKeyParameterDQ}; + + /** + Definition of the DSA Signature Parameter Uid value + */ + const TInt32 KDsaSignatureParameterR = 0x102831aa; + const TInt32 KDsaSignatureParameterS = 0x102831ab; + + const TUid KDsaSignatureParameterRUid = {KDsaSignatureParameterR}; + const TUid KDsaSignatureParameterSUid = {KDsaSignatureParameterS}; + + /** + Definition of the RSA Signature Parameter Uid value + */ + const TInt32 KRsaSignatureParameterS = 0x102831ac; + const TUid KRsaSignatureParameterSUid = {KRsaSignatureParameterS}; + + /** + Definition of the key type uid + */ + const TInt32 KRsaKeyType = 0x102831ad; + const TUid KRsaKeyTypeUid= {KRsaKeyType}; + + /** + Definition of Symmetric and Asymmetric Key Type Uid value + */ + const TInt32 KHmacKey = 0x102831bb; + const TInt32 KSymmetricKey = 0x102831ae; + const TInt32 KDsaPublicKey = 0x102831af; + const TInt32 KDsaPrivateKey = 0x102831b0; + const TInt32 KRsaPublicKey = 0x102831b1; + const TInt32 KRsaPrivateKeyStandard = 0x102831b2; + const TInt32 KRsaPrivateKeyCRT = 0x102831b3; + const TInt32 KDHPublicKey = 0x102831b4; + const TInt32 KDHPrivateKey = 0x102831b5; + const TInt32 KDHAgreedKey = 0x102831b6; + + const TUid KHmacKeyUid={KHmacKey}; + const TUid KSymmetricKeyUid={KSymmetricKey}; + const TUid KDsaPublicKeyUid={KDsaPublicKey}; + const TUid KDsaPrivateKeyUid={KDsaPrivateKey}; + const TUid KRsaPublicKeyUid={KRsaPublicKey}; + const TUid KRsaPrivateKeyStandardUid={KRsaPrivateKeyStandard}; + const TUid KRsaPrivateKeyCRTUid={KRsaPrivateKeyCRT}; + const TUid KDHPublicKeyUid={KDHPublicKey}; + const TUid KDHPrivateKeyUid={KDHPrivateKey}; + const TUid KDHAgreedKeyUid={KDHAgreedKey}; + + const TUid KRC2EffectiveKeyLenBits = { 0x102831bc }; + const TUid KARC4DiscardBytes = { 0x102831bd }; + + /** + Definition of Key Attribute value + */ + const TInt32 KNonEmbeddedKey = 0x102831b7; + const TInt32 KExtractableKey = 0x102831b8; + const TInt32 KNonExtractableKey = 0x102831b9; + + const TUid KNonEmbeddedKeyUid={KNonEmbeddedKey}; + const TUid KExtractableKeyUid={KExtractableKey}; + const TUid KNonExtractableKeyUid={KNonExtractableKey}; + } + + +#endif //__CRYPTOAPI_CRYPTOSPIDEF_H__