--- a/cryptoservices/certificateandkeymgmt/tadditionalstores/test1certstore.h Tue Jul 21 01:04:32 2009 +0100
+++ b/cryptoservices/certificateandkeymgmt/tadditionalstores/test1certstore.h Thu Sep 10 14:01:51 2009 +0300
@@ -1,186 +1,184 @@
-/*
-* Copyright (c) 1998-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:
-*
-*/
-
-
-
-
-/**
- @file
- @internalTechnology
-*/
-
-#ifndef __TEST1CERTSTORE_H__
-#define __TEST1CERTSTORE_H__
-
-#include <s32file.h>
-#include <e32std.h>
-#include <ct.h>
-#include <mctwritablecertstore.h>
-#include <unifiedkeystore.h>
-
-#include "test1certstoretoken.h"
-
-#define CACERTS2 0
-
-class CFileCertStoreMapping;
-class CFileCertStoreMappings;
-
-/**
- * This class implements a certificate store which is stored on a file on the device.
- *
- * CTest1CertStore initialization.
- * NewL and NewLC call the constructor and ConstructL. The constructor does nothing
- * except initializing to 0. ConstructL connects to fs, then calls
- * OpenStoreL, then RestoreL and then sets the values of iStoreInfo.
- * OpenStoreL opens the store ad copies it from the ROM if necessary.
- * RestoreL()
- */
-class CTest1CertStore : public CActive, public MCTWritableCertStore
- {
-public:
- static CTest1CertStore* NewL(RFs& aFs, CTest1CertStoreToken& aToken,
- const TDesC& aFileName, TFileMode aMode);
-
-public: // from MCTTokenInterface
- virtual MCTToken& Token();
-protected: // from MCTTokenInterface
- virtual void DoRelease();
-
-
-public: // from MCTCertStore
- virtual void List(RMPointerArray<CCTCertInfo>& aCerts,
- const CCertAttributeFilter& aFilter, TRequestStatus& aStatus);
- virtual void CancelList();
- virtual void GetCert(CCTCertInfo*& aCertInfo, const TCTTokenObjectHandle& aHandle,
- TRequestStatus& aStatus);
- virtual void CancelGetCert();
- virtual void Applications(const CCTCertInfo& aCertInfo, RArray<TUid>& aApplications,
- TRequestStatus& aStatus);
- virtual void CancelApplications();
- virtual void IsApplicable(const CCTCertInfo& aCertInfo, TUid aApplication,
- TBool& aIsApplicable, TRequestStatus& aStatus);
- virtual void CancelIsApplicable();
- virtual void Trusted(const CCTCertInfo& aCertInfo, TBool& aTrusted,
- TRequestStatus& aStatus);
- virtual void CancelTrusted();
-
- // this could be asynch or sync depending on state of compile flag CERTSTORE_SOFTWARE_ASYNCH
- virtual void Retrieve(const CCTCertInfo& aCertInfo, TDes8& aEncodedCert,
- TRequestStatus& aStatus);
- virtual void CancelRetrieve();
- virtual void Capabilities(const CCTCertInfo& aCertInfo, TCapabilitySet& aCapbilitiesOut,
- TRequestStatus& aStatus);
- virtual void CancelCapabilities();
- virtual void IsMandatory(const CCTCertInfo& aCertInfo, TBool& aMandatoryOut,
- TRequestStatus& aStatus);
- virtual void CancelIsMandatory();
-
-public: // from MCTWritableCertStore
- virtual void Add(const TDesC& aLabel, TCertificateFormat aFormat,
- TCertificateOwnerType aCertificateOwnerType,
- const TKeyIdentifier* aSubjectKeyId, const TKeyIdentifier* aIssuerKeyId,
- const TDesC8& aCert, TRequestStatus& aStatus);
- virtual void CancelAdd();
- virtual void Remove(const CCTCertInfo& aCertInfo, TRequestStatus& aStatus);
- virtual void CancelRemove();
- virtual void SetApplicability(const CCTCertInfo& aCertInfo,
- const RArray<TUid>& aApplications, TRequestStatus &aStatus);
- virtual void CancelSetApplicability();
- virtual void SetTrust(const CCTCertInfo& aCertInfo, TBool aTrusted,
- TRequestStatus& aStatus);
- virtual void CancelSetTrust();
- virtual void SetCapabilities(const CCTCertInfo& aCertInfo, const TCapabilitySet& aCapabilities,
- TRequestStatus& aStatus);
- virtual void CancelSetCapabilities();
- virtual void SetMandatory(const CCTCertInfo& aCertInfo, TBool aMandatory,
- TRequestStatus& aStatus);
- virtual void CancelSetMandatory();
-
-private:
- virtual ~CTest1CertStore();
- void DoSetApplicabilityL(const CCTCertInfo& aCertInfo,
- const RArray<TUid>& aApplications);
- void DoSetTrustL(const CCTCertInfo& aCertInfo,
- TBool aTrusted);
- CTest1CertStore(CTest1CertStoreToken& aToken, RFs& aFs);
- void ConstructL(const TDesC& aFileName, TFileMode aMode);
- static void RevertStore(TAny* aStore);
- static void DeleteFile(TAny* aThis);
- void RestoreL();
- CPermanentFileStore* OpenStoreL(const TDesC& aFileName, TFileMode aMode);
- CPermanentFileStore* OpenStoreLC(const TDesC& aFileName, TFileMode aMode);
-
-
- //
-// void AddCACertL(const CCertificate& aCert, const TDesC& aLabel, TCertificateFormat aFormat);
-// void AddUserCertL(const CCertificate& aCert, const TDesC& aLabel, TCertificateFormat aFormat,
-// const TKeyIdentifier& aIssuerKeyHash, const TKeyIdentifier& aSubjectKeyHash);
- void AddUserCertURLL(const TDesC8& aCert, const TDesC& aLabel,
- const TKeyIdentifier& aIssuerKeyHash, const TKeyIdentifier& aSubjectKeyHash);
-// void AddCertL(CCTCertInfo* aCertInfo, const CCertificate& aCert, CFileCertStoreMappings& aMappings);
- void AddCertL(CCTCertInfo* aCertInfo, const TDesC8& aCert, CFileCertStoreMappings& aMappings);
- void DoRemoveL(const CCTCertInfo& aCertInfo);
- void DoLoadL(TDes8& aCertificate, CFileCertStoreMapping& aMapping) const;
- void DoGetUserCertsL(RPointerArray<CCTCertInfo>& aCertInfos,
- const CCertAttributeFilter& aFilter) const;
- void UpdateStoreL();
- void DoAddL(const TDesC& aLabel, TCertificateFormat aFormat,
- TCertificateOwnerType aCertificateOwnerType, const TKeyIdentifier* aSubjectKeyId,
- const TKeyIdentifier* aIssuerKeyId,const TDesC8& aCert);
-
- // perform the retrieval synchronously
- void RetrieveNow(const CCTCertInfo& aCertInfo,TDes8& aCertificate,TRequestStatus& aStatus);
-
-private:
- void RunL();
- void DoCancel();
-
-private:
- enum TState
- {
- EGetKeyInfos,
- EList,
- ERetrieve
- };
-
- //
-private:
- CTest1CertStoreToken& iToken;
-
- RFile iFile;
- RFs& iFs;
- CPermanentFileStore* iStore;
-
- /**
- * The list of certificates contained in the store.
- */
- CFileCertStoreMappings* iCerts;
-
- TState iState;
- TRequestStatus* iOriginalRequestStatus;
- RPointerArray<CCTCertInfo>* iCertInfos;
- const CCertAttributeFilter* iFilter;
- TCTKeyAttributeFilter iKeyFilter;
- RMPointerArray<CCTKeyInfo> iKeyInfos;
- CUnifiedKeyStore* iUnifiedKeyStore;
-
- // used for asynchronous certificate retrieval
- const CCTCertInfo* iAsynchCertInfo;
- TDes8* iAsynchCertificate;
- };
-
-#endif
+/*
+* Copyright (c) 1998-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:
+*
+*/
+
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#ifndef __TEST1CERTSTORE_H__
+#define __TEST1CERTSTORE_H__
+
+#include <s32file.h>
+#include <e32std.h>
+#include <ct.h>
+#include <mctwritablecertstore.h>
+#include <unifiedkeystore.h>
+
+#include "test1certstoretoken.h"
+
+#define CACERTS2 0
+
+class CFileCertStoreMapping;
+class CFileCertStoreMappings;
+
+/**
+ * This class implements a certificate store which is stored on a file on the device.
+ *
+ * CTest1CertStore initialization.
+ * NewL and NewLC call the constructor and ConstructL. The constructor does nothing
+ * except initializing to 0. ConstructL connects to fs, then calls
+ * OpenStoreL, then RestoreL and then sets the values of iStoreInfo.
+ * OpenStoreL opens the store ad copies it from the ROM if necessary.
+ * RestoreL()
+ */
+class CTest1CertStore : public CActive, public MCTWritableCertStore
+ {
+public:
+ static CTest1CertStore* NewL(RFs& aFs, CTest1CertStoreToken& aToken,
+ const TDesC& aFileName, TFileMode aMode);
+
+public: // from MCTTokenInterface
+ virtual MCTToken& Token();
+protected: // from MCTTokenInterface
+ virtual void DoRelease();
+
+
+public: // from MCTCertStore
+ virtual void List(RMPointerArray<CCTCertInfo>& aCerts,
+ const CCertAttributeFilter& aFilter, TRequestStatus& aStatus);
+ virtual void CancelList();
+ virtual void GetCert(CCTCertInfo*& aCertInfo, const TCTTokenObjectHandle& aHandle,
+ TRequestStatus& aStatus);
+ virtual void CancelGetCert();
+ virtual void Applications(const CCTCertInfo& aCertInfo, RArray<TUid>& aApplications,
+ TRequestStatus& aStatus);
+ virtual void CancelApplications();
+ virtual void IsApplicable(const CCTCertInfo& aCertInfo, TUid aApplication,
+ TBool& aIsApplicable, TRequestStatus& aStatus);
+ virtual void CancelIsApplicable();
+ virtual void Trusted(const CCTCertInfo& aCertInfo, TBool& aTrusted,
+ TRequestStatus& aStatus);
+ virtual void CancelTrusted();
+
+ // this could be asynch or sync depending on state of compile flag CERTSTORE_SOFTWARE_ASYNCH
+ virtual void Retrieve(const CCTCertInfo& aCertInfo, TDes8& aEncodedCert,
+ TRequestStatus& aStatus);
+ virtual void CancelRetrieve();
+ virtual void Capabilities(const CCTCertInfo& aCertInfo, TCapabilitySet& aCapbilitiesOut,
+ TRequestStatus& aStatus);
+ virtual void CancelCapabilities();
+ virtual void IsMandatory(const CCTCertInfo& aCertInfo, TBool& aMandatoryOut,
+ TRequestStatus& aStatus);
+ virtual void CancelIsMandatory();
+
+public: // from MCTWritableCertStore
+ virtual void Add(const TDesC& aLabel, TCertificateFormat aFormat,
+ TCertificateOwnerType aCertificateOwnerType,
+ const TKeyIdentifier* aSubjectKeyId, const TKeyIdentifier* aIssuerKeyId,
+ const TDesC8& aCert, TRequestStatus& aStatus);
+ virtual void CancelAdd();
+ virtual void Remove(const CCTCertInfo& aCertInfo, TRequestStatus& aStatus);
+ virtual void CancelRemove();
+ virtual void SetApplicability(const CCTCertInfo& aCertInfo,
+ const RArray<TUid>& aApplications, TRequestStatus &aStatus);
+ virtual void CancelSetApplicability();
+ virtual void SetTrust(const CCTCertInfo& aCertInfo, TBool aTrusted,
+ TRequestStatus& aStatus);
+ virtual void CancelSetTrust();
+ virtual void SetCapabilities(const CCTCertInfo& aCertInfo, const TCapabilitySet& aCapabilities,
+ TRequestStatus& aStatus);
+ virtual void CancelSetCapabilities();
+ virtual void SetMandatory(const CCTCertInfo& aCertInfo, TBool aMandatory,
+ TRequestStatus& aStatus);
+ virtual void CancelSetMandatory();
+
+private:
+ virtual ~CTest1CertStore();
+ void DoSetApplicabilityL(const CCTCertInfo& aCertInfo,
+ const RArray<TUid>& aApplications);
+ void DoSetTrustL(const CCTCertInfo& aCertInfo,
+ TBool aTrusted);
+ CTest1CertStore(CTest1CertStoreToken& aToken, RFs& aFs);
+ void ConstructL(const TDesC& aFileName, TFileMode aMode);
+ static void RevertStore(TAny* aStore);
+ static void DeleteFile(TAny* aThis);
+ void RestoreL();
+ CPermanentFileStore* OpenStoreL(const TDesC& aFileName, TFileMode aMode);
+ CPermanentFileStore* OpenStoreLC(const TDesC& aFileName, TFileMode aMode);
+
+
+ //
+// void AddCACertL(const CCertificate& aCert, const TDesC& aLabel, TCertificateFormat aFormat);
+// void AddUserCertL(const CCertificate& aCert, const TDesC& aLabel, TCertificateFormat aFormat,
+// const TKeyIdentifier& aIssuerKeyHash, const TKeyIdentifier& aSubjectKeyHash);
+ void AddUserCertURLL(const TDesC8& aCert, const TDesC& aLabel,
+ const TKeyIdentifier& aIssuerKeyHash, const TKeyIdentifier& aSubjectKeyHash);
+// void AddCertL(CCTCertInfo* aCertInfo, const CCertificate& aCert, CFileCertStoreMappings& aMappings);
+ void AddCertL(CCTCertInfo* aCertInfo, const TDesC8& aCert, CFileCertStoreMappings& aMappings);
+ void DoRemoveL(const CCTCertInfo& aCertInfo);
+ void DoLoadL(TDes8& aCertificate, CFileCertStoreMapping& aMapping) const;
+ void DoGetUserCertsL(RPointerArray<CCTCertInfo>& aCertInfos,
+ const CCertAttributeFilter& aFilter) const;
+ void UpdateStoreL();
+ void DoAddL(const TDesC& aLabel, TCertificateFormat aFormat,
+ TCertificateOwnerType aCertificateOwnerType, const TKeyIdentifier* aSubjectKeyId,
+ const TKeyIdentifier* aIssuerKeyId,const TDesC8& aCert);
+
+ // perform the retrieval synchronously
+ void RetrieveNow(const CCTCertInfo& aCertInfo,TDes8& aCertificate,TRequestStatus& aStatus);
+
+private:
+ void RunL();
+ void DoCancel();
+
+private:
+ enum TState
+ {
+ EGetKeyInfos,
+ EList,
+ ERetrieve
+ };
+
+ //
+private:
+ CTest1CertStoreToken& iToken;
+
+ RFile iFile;
+ RFs& iFs;
+ CPermanentFileStore* iStore;
+
+ /**
+ * The list of certificates contained in the store.
+ */
+ CFileCertStoreMappings* iCerts;
+
+ TState iState;
+ TRequestStatus* iOriginalRequestStatus;
+ RPointerArray<CCTCertInfo>* iCertInfos;
+ const CCertAttributeFilter* iFilter;
+ TCTKeyAttributeFilter iKeyFilter;
+ RMPointerArray<CCTKeyInfo> iKeyInfos;
+ CUnifiedKeyStore* iUnifiedKeyStore;
+
+ // used for asynchronous certificate retrieval
+ const CCTCertInfo* iAsynchCertInfo;
+ TDes8* iAsynchCertificate;
+ };
+
+#endif