First public contribution.
2 * Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * CPKIXChainBuilder class implementation
25 #ifndef __PKIXCHAINBUILDER_H__
26 #define __PKIXCHAINBUILDER_H__
29 #include "pkixcerts.h"
31 class CPKIXCertChainAO;
33 class CPKIXChainBuilder : public CActive
35 friend class CPKIXCertChainAO;
38 static CPKIXChainBuilder* NewL();
39 static CPKIXChainBuilder* NewLC();
43 void AddSourceL(MPKIXCertSource* aSource);//takes ownership of aSource...
44 void AddIssuer(TInt& aNumberOfCertsAdded, TBool& aResult, CArrayPtrFlat<CX509Certificate>& aChain,
45 TRequestStatus& aStatus);
50 TBool ResolveIssuersL(CArrayPtr<CX509Certificate>& aChain,
51 const RPointerArray<CX509Certificate>& aCandidates) const;
56 TInt RunError(TInt aError);
67 RMPointerArray<MPKIXCertSource> iSources;
70 * We don't own that object, it's only a pointer to a certificate
71 * in the CX509CertChain from which CPKIXCertChainBase derives.
73 CX509Certificate* iSubject;
74 TRequestStatus* iOriginalRequestStatus;
76 CArrayPtrFlat<CX509Certificate>* iChain;
79 RPointerArray<CX509Certificate> iCandidates;
80 TInt* iNumberOfCertsAdded;