--- a/cryptoservices/certificateandkeymgmt/tx509/comparisontest.cpp Tue Jul 21 01:04:32 2009 +0100
+++ b/cryptoservices/certificateandkeymgmt/tx509/comparisontest.cpp Thu Sep 10 14:01:51 2009 +0300
@@ -1,216 +1,216 @@
-/*
-* Copyright (c) 2008-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 "comparisontest.h"
-#include "t_input.h"
-#include "t_output.h"
-#include <s32file.h>
-#include <x509cert.h>
-
-_LIT8(KCertificate1Start,"<certificate1>");
-_LIT8(KCertificate2Start,"<certificate2>");
-_LIT8(KMatchExpectedStart, "<matchexpected>");
-
-CTestAction* CComparisonTest::NewL(RFs& aFs, CConsoleBase& aConsole,
- Output& aOut, const TTestActionSpec& aTestActionSpec)
-/**
-Factory method that creates a new CComparisonTest object.
-
-@param aFs Shared file server session requried by base class
-@param aConsole The console used by the base class for logging
-@param aOut Output utilities for use by base class
-@param aTestActionSpec Parameters for this test
-@return a new instance of a CComparisonTest
-*/
- {
- CTestAction* self = CComparisonTest::NewLC(aFs, aConsole, aOut, aTestActionSpec);
- CleanupStack::Pop(self);
- return self;
- }
-
-CTestAction* CComparisonTest::NewLC(RFs& aFs, CConsoleBase& aConsole,
- Output& aOut, const TTestActionSpec& aTestActionSpec)
-/**
-Factory method that creates a new CComparisonTest object and places the pointer
-to the this on the cleanup stack.
-@param aFs Shared file server session requried by base class
-@param aConsole The console used by the base class for logging
-@param aOut Output utilities for use by base class
-@param aTestActionSpec Parameters for this test
-@return a new instance of a CComparisonTest
-*/
- {
- CComparisonTest* self = new(ELeave) CComparisonTest(aFs, aConsole, aOut);
- CleanupStack::PushL(self);
- self->ConstructL(aTestActionSpec);
- return self;
- }
-
-CComparisonTest::CComparisonTest(RFs& aFs,
- CConsoleBase& aConsole,
- Output& aOut)
-: CTestAction(aConsole, aOut), iFs(aFs)
-/**
-Constructor
-@param aFs Shared file server session required by base-class
-@param aConsole Console implemenation required by base class
-@param aOut Output utilities required by base class
-*/
- {
- }
-
-void CComparisonTest::ConstructL(const TTestActionSpec& aTestActionSpec)
-/**
-Second phase constructor
-@param aTestActionSpec parameters for this test base
-*/
- {
- CTestAction::ConstructL(aTestActionSpec);
- HBufC8* body = HBufC8::NewLC(aTestActionSpec.iActionBody.Length());
- body->Des().Copy(aTestActionSpec.iActionBody);
-
- TPtrC8 cert1FileName = Input::ParseElement(*body, KCertificate1Start);
- if (! cert1FileName.Length() > 0)
- {
- SetScriptError(ESyntax, _L("Missing tag: certificate1"));
- iFinished = ETrue;
- return;
- }
-
- iCert1 = ReadCertificateL(cert1FileName);
-
- TPtrC8 cert2FileName = Input::ParseElement(*body, KCertificate2Start);
- if (! cert2FileName.Length() > 0)
- {
- SetScriptError(ESyntax, _L("Missing tag: certificate1"));
- iFinished = ETrue;
- return;
- }
- iCert2 = ReadCertificateL(cert2FileName);
- iMatchExpected = Input::ParseElementBoolL(*body, KMatchExpectedStart);
- CleanupStack::PopAndDestroy(body);
- }
-
-CX509Certificate* CComparisonTest::ReadCertificateL(const TDesC8& aFileName)
-/**
-Reads an X.509 certificate from a file.
-@param aFileName The name of the certificate file.
-@return A pointer to the new certificate object.
-*/
- {
- TFileName fn;
- fn.Copy(aFileName);
-
- iOut.write(_L("Loading: %S\n"), &fn);
- RFile file;
- User::LeaveIfError(file.Open(iFs, fn, EFileRead | EFileShareReadersOnly));
- CleanupClosePushL(file);
- TInt size;
- User::LeaveIfError(file.Size(size));
- RBuf8 buf;
- buf.Create(size);
- CleanupClosePushL(buf);
-
- User::LeaveIfError(file.Read(buf, size));
-
- CX509Certificate* cert = CX509Certificate::NewL(buf);
- CleanupStack::PopAndDestroy(2, &file);
- return cert;
- }
-
-CComparisonTest::~CComparisonTest()
-/**
-Destructor
-*/
- {
- delete iCert1;
- delete iCert2;
- }
-
-void CComparisonTest::DoPerformPrerequisite(TRequestStatus& aStatus)
- {
- iActionState = EAction;
- TRequestStatus* status = &aStatus;
- User::RequestComplete(status, KErrNone);
- }
-
-void CComparisonTest::DoPerformPostrequisite(TRequestStatus& aStatus)
- {
- TRequestStatus* status = &aStatus;
- iFinished = ETrue;
- User::RequestComplete(status, KErrNone);
- }
-
-void CComparisonTest::PerformAction(TRequestStatus& aStatus)
- {
- TRAPD(err, DoActionL());
- TRequestStatus* status = &aStatus;
- iActionState = EPostrequisite;
- User::RequestComplete(status, err);
- }
-
-void CComparisonTest::DoActionL()
-/**
-Compares iCert1 and iCert2 using CX509Certificate::IsEqualL
-*/
- {
- HBufC* subject1 = iCert1->SubjectL();
- CleanupStack::PushL(subject1);
- HBufC* subject2 = iCert2->SubjectL();
- CleanupStack::PushL(subject2);
-
- HBufC* issuer1 = iCert1->IssuerL();
- CleanupStack::PushL(issuer1);
- HBufC* issuer2 = iCert2->IssuerL();
- CleanupStack::PushL(issuer2);
-
- iConsole.Printf(_L("Comparing certificates\n"));
- iOut.write(_L("Comparing certificates\n"));
-
- iConsole.Printf(_L("cert1:\n\tsubject: %S\n\tissuer %S\n"), subject1, issuer1);
- iOut.write(_L("cert1:\n\tsubject: %S\n\tissuer %S\n"), subject1, issuer1);
-
- iConsole.Printf(_L("cert2:\n\tsubject: %S\n\tissuer %S\n"), subject2, issuer2);
- iOut.write(_L("cert2:\n\tsubject: %S issuer\n\t%S\n"), subject2, issuer2);
-
- TBool match = iCert1->IsEqualL(*iCert2);
- iConsole.Printf(_L("Match expected %d, result %d\n"), iMatchExpected, match);
- iOut.write(_L("Match expected %d, result %d\n"), iMatchExpected, match);
-
- iResult = (match == iMatchExpected);
-
- if (iResult)
- {
- iConsole.Printf(_L(" Success\n"));
- iOut.writeString(_L(" Success\n"));
- }
- else
- {
- iConsole.Printf(_L(" Failed\n"));
- iOut.writeString(_L(" Failed"));
- };
- CleanupStack::PopAndDestroy(4, subject1);
- }
-
-void CComparisonTest::DoReportAction()
- {
- }
-
-void CComparisonTest::DoCheckResult(TInt /*aError*/)
- {
- }
+/*
+* Copyright (c) 2008-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 "comparisontest.h"
+#include "t_input.h"
+#include "t_output.h"
+#include <s32file.h>
+#include <x509cert.h>
+
+_LIT8(KCertificate1Start,"<certificate1>");
+_LIT8(KCertificate2Start,"<certificate2>");
+_LIT8(KMatchExpectedStart, "<matchexpected>");
+
+CTestAction* CComparisonTest::NewL(RFs& aFs, CConsoleBase& aConsole,
+ Output& aOut, const TTestActionSpec& aTestActionSpec)
+/**
+Factory method that creates a new CComparisonTest object.
+
+@param aFs Shared file server session requried by base class
+@param aConsole The console used by the base class for logging
+@param aOut Output utilities for use by base class
+@param aTestActionSpec Parameters for this test
+@return a new instance of a CComparisonTest
+*/
+ {
+ CTestAction* self = CComparisonTest::NewLC(aFs, aConsole, aOut, aTestActionSpec);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CTestAction* CComparisonTest::NewLC(RFs& aFs, CConsoleBase& aConsole,
+ Output& aOut, const TTestActionSpec& aTestActionSpec)
+/**
+Factory method that creates a new CComparisonTest object and places the pointer
+to the this on the cleanup stack.
+@param aFs Shared file server session requried by base class
+@param aConsole The console used by the base class for logging
+@param aOut Output utilities for use by base class
+@param aTestActionSpec Parameters for this test
+@return a new instance of a CComparisonTest
+*/
+ {
+ CComparisonTest* self = new(ELeave) CComparisonTest(aFs, aConsole, aOut);
+ CleanupStack::PushL(self);
+ self->ConstructL(aTestActionSpec);
+ return self;
+ }
+
+CComparisonTest::CComparisonTest(RFs& aFs,
+ CConsoleBase& aConsole,
+ Output& aOut)
+: CTestAction(aConsole, aOut), iFs(aFs)
+/**
+Constructor
+@param aFs Shared file server session required by base-class
+@param aConsole Console implemenation required by base class
+@param aOut Output utilities required by base class
+*/
+ {
+ }
+
+void CComparisonTest::ConstructL(const TTestActionSpec& aTestActionSpec)
+/**
+Second phase constructor
+@param aTestActionSpec parameters for this test base
+*/
+ {
+ CTestAction::ConstructL(aTestActionSpec);
+ HBufC8* body = HBufC8::NewLC(aTestActionSpec.iActionBody.Length());
+ body->Des().Copy(aTestActionSpec.iActionBody);
+
+ TPtrC8 cert1FileName = Input::ParseElement(*body, KCertificate1Start);
+ if (! cert1FileName.Length() > 0)
+ {
+ SetScriptError(ESyntax, _L("Missing tag: certificate1"));
+ iFinished = ETrue;
+ return;
+ }
+
+ iCert1 = ReadCertificateL(cert1FileName);
+
+ TPtrC8 cert2FileName = Input::ParseElement(*body, KCertificate2Start);
+ if (! cert2FileName.Length() > 0)
+ {
+ SetScriptError(ESyntax, _L("Missing tag: certificate1"));
+ iFinished = ETrue;
+ return;
+ }
+ iCert2 = ReadCertificateL(cert2FileName);
+ iMatchExpected = Input::ParseElementBoolL(*body, KMatchExpectedStart);
+ CleanupStack::PopAndDestroy(body);
+ }
+
+CX509Certificate* CComparisonTest::ReadCertificateL(const TDesC8& aFileName)
+/**
+Reads an X.509 certificate from a file.
+@param aFileName The name of the certificate file.
+@return A pointer to the new certificate object.
+*/
+ {
+ TFileName fn;
+ fn.Copy(aFileName);
+
+ iOut.write(_L("Loading: %S\n"), &fn);
+ RFile file;
+ User::LeaveIfError(file.Open(iFs, fn, EFileRead | EFileShareReadersOnly));
+ CleanupClosePushL(file);
+ TInt size;
+ User::LeaveIfError(file.Size(size));
+ RBuf8 buf;
+ buf.Create(size);
+ CleanupClosePushL(buf);
+
+ User::LeaveIfError(file.Read(buf, size));
+
+ CX509Certificate* cert = CX509Certificate::NewL(buf);
+ CleanupStack::PopAndDestroy(2, &file);
+ return cert;
+ }
+
+CComparisonTest::~CComparisonTest()
+/**
+Destructor
+*/
+ {
+ delete iCert1;
+ delete iCert2;
+ }
+
+void CComparisonTest::DoPerformPrerequisite(TRequestStatus& aStatus)
+ {
+ iActionState = EAction;
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, KErrNone);
+ }
+
+void CComparisonTest::DoPerformPostrequisite(TRequestStatus& aStatus)
+ {
+ TRequestStatus* status = &aStatus;
+ iFinished = ETrue;
+ User::RequestComplete(status, KErrNone);
+ }
+
+void CComparisonTest::PerformAction(TRequestStatus& aStatus)
+ {
+ TRAPD(err, DoActionL());
+ TRequestStatus* status = &aStatus;
+ iActionState = EPostrequisite;
+ User::RequestComplete(status, err);
+ }
+
+void CComparisonTest::DoActionL()
+/**
+Compares iCert1 and iCert2 using CX509Certificate::IsEqualL
+*/
+ {
+ HBufC* subject1 = iCert1->SubjectL();
+ CleanupStack::PushL(subject1);
+ HBufC* subject2 = iCert2->SubjectL();
+ CleanupStack::PushL(subject2);
+
+ HBufC* issuer1 = iCert1->IssuerL();
+ CleanupStack::PushL(issuer1);
+ HBufC* issuer2 = iCert2->IssuerL();
+ CleanupStack::PushL(issuer2);
+
+ iConsole.Printf(_L("Comparing certificates\n"));
+ iOut.write(_L("Comparing certificates\n"));
+
+ iConsole.Printf(_L("cert1:\n\tsubject: %S\n\tissuer %S\n"), subject1, issuer1);
+ iOut.write(_L("cert1:\n\tsubject: %S\n\tissuer %S\n"), subject1, issuer1);
+
+ iConsole.Printf(_L("cert2:\n\tsubject: %S\n\tissuer %S\n"), subject2, issuer2);
+ iOut.write(_L("cert2:\n\tsubject: %S issuer\n\t%S\n"), subject2, issuer2);
+
+ TBool match = iCert1->IsEqualL(*iCert2);
+ iConsole.Printf(_L("Match expected %d, result %d\n"), iMatchExpected, match);
+ iOut.write(_L("Match expected %d, result %d\n"), iMatchExpected, match);
+
+ iResult = (match == iMatchExpected);
+
+ if (iResult)
+ {
+ iConsole.Printf(_L(" Success\n"));
+ iOut.writeString(_L(" Success\n"));
+ }
+ else
+ {
+ iConsole.Printf(_L(" Failed\n"));
+ iOut.writeString(_L(" Failed"));
+ };
+ CleanupStack::PopAndDestroy(4, subject1);
+ }
+
+void CComparisonTest::DoReportAction()
+ {
+ }
+
+void CComparisonTest::DoCheckResult(TInt /*aError*/)
+ {
+ }