--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/makekeys/src/KeyGenerator.h Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,88 @@
+/*
+* 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:
+* Interface for the CKeyGenerator class
+*
+*/
+
+
+/**
+ @file
+ @internalComponent
+*/
+
+#if !defined(AFX_KEYGENERATOR_H__E70F430E_9D8C_4EA6_B2A8_1973F813312E__INCLUDED_)
+#define AFX_KEYGENERATOR_H__E70F430E_9D8C_4EA6_B2A8_1973F813312E__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define _WIN32_WINNT 0x0500
+
+#define DEFAULT_KEY_LENGTH 1024
+#define PW_LEN 32
+#define MAXLEN 256
+#define constparams __FILE__,__LINE__
+#define SYMBIAN_FREE_MEM(mem){if(!mem) free(mem); mem=NULL;}
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <tchar.h>
+#include <windows.h>
+#include <wincrypt.h>
+#include "utils.h"
+
+#include "openssl/pem.h"
+#include "openssl/evp.h"
+
+
+enum TKeyType {ERSACipher, EDSACipher};
+enum TKeyGeneratorException {ErrFileOpen, ErrNULLKeyStructure};
+
+class CKeyGenerator
+ {
+ public:
+
+ void PrintErrorInfo(char* aMsg, TErrType aEntType, const char* aFileName, int aLineNum);
+ void SetVerbose(bool aVerbose);
+ void SetAskPassword(bool aAsk);
+ const _TCHAR* GetPassword();
+ void SetPasswordRequirement (bool aPwReq);
+ void SetPassword(_TCHAR* aPw);
+ void SetPrivateKeyFile(_TCHAR* aPk);
+ const TCHAR* GetPrivateKeyFile(void) const;
+ void SetKeyLength(int aKeyLen);
+ const int GetKeyLength() const;
+ virtual int Generate() =0;
+ CKeyGenerator();
+ virtual ~CKeyGenerator();
+
+ protected:
+
+ bool m_bVerbose;
+ TKeyType m_Cipher;
+ bool m_bPassword;
+ bool m_bAsk;
+ int GenerateSeed(int aLength, unsigned char** aBuf);
+
+ private:
+
+ _TCHAR m_sPassword[PW_LEN];
+ int m_nKeyLength;
+ _TCHAR m_PrivateKeyFile[MAXLEN];
+
+ };
+
+#endif // !defined(AFX_KEYGENERATOR_H__E70F430E_9D8C_4EA6_B2A8_1973F813312E__INCLUDED_)