diff -r 000000000000 -r 2c201484c85f cryptoservices/certificateandkeymgmt/pkixCert/pkixCertChain.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cryptoservices/certificateandkeymgmt/pkixCert/pkixCertChain.cpp Wed Jul 08 11:25:26 2009 +0100 @@ -0,0 +1,148 @@ +/* +* 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: +* +*/ + + +#include +#include +#include +#include "pkixCertChainHelper.h" + +//**********************************************************************************// +EXPORT_C CPKIXCertChain* CPKIXCertChain::NewL(RFs& aFs, + const TPtrC8& aEncodedCerts, + const TUid aClient) + { + CPKIXCertChain* self = CPKIXCertChain::NewLC(aFs, aEncodedCerts, aClient); + CleanupStack::Pop(self); + return self; + } + +EXPORT_C CPKIXCertChain* CPKIXCertChain::NewLC(RFs& aFs, + const TPtrC8& aEncodedCerts, + const TUid aClient) + { + CPKIXCertChain* self = new(ELeave) CPKIXCertChain(); + CleanupStack::PushL(self); + self->ConstructL(aFs, aEncodedCerts, aClient); + return self; + } + +EXPORT_C CPKIXCertChain* CPKIXCertChain::NewL(RFs& aFs, + const TPtrC8& aEncodedCerts, + const RPointerArray& aRootCerts) + { + CPKIXCertChain* self = CPKIXCertChain::NewLC(aFs, aEncodedCerts, aRootCerts); + CleanupStack::Pop(self); + return self; + } + +EXPORT_C CPKIXCertChain* CPKIXCertChain::NewLC(RFs& aFs, + const TPtrC8& aEncodedCerts, + const RPointerArray& aRootCerts) + { + CPKIXCertChain* self = new(ELeave) CPKIXCertChain(); + CleanupStack::PushL(self); + self->ConstructL(aFs, aEncodedCerts, aRootCerts); + return self; + } + +CPKIXCertChain::CPKIXCertChain() : + CPKIXCertChainBase() + { + } + +void CPKIXCertChain::ConstructL(RFs& aFs, const TPtrC8& aEncodedCerts, TUid aClient) + { + iHelper = CPKIXCertChainHelper::NewL(aFs); + CPKIXCertChainBase::ConstructL(iHelper->CertStore(), aEncodedCerts, aClient); + } + +void CPKIXCertChain::ConstructL(RFs& aFs, const TPtrC8& aEncodedCerts, + const RPointerArray& aRootCerts) + { + iHelper = CPKIXCertChainHelper::NewL(aFs); + CPKIXCertChainBase::ConstructL(iHelper->CertStore(), aEncodedCerts, aRootCerts); + } + +EXPORT_C CPKIXCertChain::~CPKIXCertChain() + { + delete iHelper; + } + +EXPORT_C void CPKIXCertChain::ValidateL(CPKIXValidationResult& aValidationResult, + const TTime& aValidationTime, + TRequestStatus& aStatus) + { + // L in function name is to preserve BC - this can't leave + iHelper->Validate(*this, aValidationResult, aValidationTime, aStatus); + } + +EXPORT_C void CPKIXCertChain::ValidateL(CPKIXValidationResult& aValidationResult, + const TTime& aValidationTime, + const CArrayPtr& aInitialPolicies, + TRequestStatus& aStatus) + { + // L in function name is to preserve BC - this can't leave + iHelper->Validate(*this, aValidationResult, aValidationTime, aInitialPolicies, aStatus); + } + +EXPORT_C void CPKIXCertChain::CancelValidate() + { + iHelper->CancelValidate(); + } + +EXPORT_C TBool CPKIXCertChain::ChainHasRoot() const + { + // This method is necessary to preserve BC + return CPKIXCertChainBase::ChainHasRoot(); + } + +EXPORT_C void CPKIXCertChain::AddCertL(const TPtrC8& aEncodedCerts) + { + // This method is necessary to preserve BC + CPKIXCertChainBase::AddCertL(aEncodedCerts); + } + +EXPORT_C const RPointerArray& CPKIXCertChain::SupportedCriticalExtensions() const + { + return CPKIXCertChainBase::SupportedCriticalExtensions(); + } + +EXPORT_C void CPKIXCertChain::AddSupportedCriticalExtensionsL(const RPointerArray& aCriticalExtOids) + { + CPKIXCertChainBase::AddSupportedCriticalExtensionsL(aCriticalExtOids); + } + +EXPORT_C void CPKIXCertChain::RemoveSupportedCriticalExtensions(const RPointerArray& aCriticalExtOids) + { + CPKIXCertChainBase::RemoveSupportedCriticalExtensions(aCriticalExtOids); + } + +EXPORT_C void CPKIXCertChain::SetSupportedCriticalExtensionsL(const RPointerArray& aCriticalExtOids) + { + CPKIXCertChainBase::SetSupportedCriticalExtensionsL(aCriticalExtOids); + } + +EXPORT_C void CPKIXCertChain::ResetSupportedCriticalExtsToDefaultL() + { + CPKIXCertChainBase::ResetSupportedCriticalExtsToDefaultL(); + } + +EXPORT_C void CPKIXCertChain::SetValidityPeriodCheckFatal(TBool aIsFatal) + { + CPKIXCertChainBase::SetValidityPeriodCheckFatal(aIsFatal); + }