cryptoservices/certificateandkeymgmt/tpkcs12intgrtn/data/tpkcs12lib.script
author andy simpson <andrews@symbian.org>
Sat, 05 Dec 2009 21:41:51 +0000
changeset 31 c0e7917aa107
parent 11 9d767430696e
parent 29 ece3df019add
permissions -rw-r--r--
merge 200948 drop

//
// Copyright (c) 2005-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: 
// Creation Date 1/March/2006
// PKCS12 Integration Test Script
// Integration And Unit Test
// Tests      : Pradeep, Bindu
// Component  : PKCS#12 library
// The scope of this work package to verify the functionality of the Pkcs#12 library. 
// The test data should be in the folder 'c:\data' and the ini files should be in the folder 'c:\tpkcs12intg\script\ini'
//

LOAD_SUITE tpkcs12libtest
 
//////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-IM-0001 
//!@SYMTestCaseDependencies		TestData(PKCS12_IM001.p12),ini file(IM001.ini) containing the data 
//!@SYMTestCaseDesc			Check the Integrity mode of the PKCS#12 file
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions  			1.Load PKCS12 library with test data
//      				2.Provide the same password provided as in the test data
//      				3.Verify the integrity of the data with the decoded test data
//!@SYMTestExpectedResults		Integrity verification returns success
//!@SYMTestType				CIT
//////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-IM-0001

RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\im001.ini

END_TESTCASE 				SEC-CERTMAN-PKCS12-IM-0001

//////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-IM-0002
//!@SYMTestCaseDependencies		TestData(PKCS12_IM002.p12),ini file(IM002.ini) containing the data 
//!@SYMTestCaseDesc			Check the Integrity mode of the PKCS#12 file
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions  			1.Load PKCS12 library with test data
//     					2.Provide the same password provided as in the test data
//      				3.Verify the integrity of the data with the decoded test data
//!@SYMTestExpectedResults		Integrity verification returns success
//!@SYMTestType				CIT
//////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-IM-0002

RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\im002.ini

END_TESTCASE 				SEC-CERTMAN-PKCS12-IM-0002
		
//////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0001
//!@SYMTestCaseDependencies		TestData(PKCS12_PM001.p12),ini file(PM001.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded
//					in password privacy mode as well as it is in password integrity mode. 
//					Here the integrity password and the privacy password are different.
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		Integrity verification returns failure
//!@SYMTestType				CIT
//////////////////////////////////////////////////////////////////////////////////////////////

START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0001
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm001.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0002
//!@SYMTestCaseDependencies		TestData(PKCS12_PM002.p12),ini file(PM002.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded in 
//					password privacy mode as well as it is in password integrity mode. 
//					Here private key is encrypted using PBE-SHA1-RC4-128
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0002
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm002.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0002

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0003
//!@SYMTestCaseDependencies		TestData(PKCS12PIM003.p12),ini file(PM003.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded 
//					in password privacy mode as well as it is in password integrity mode. 
//					Here private key is encrypted using PBE-SHA1-RC4-40
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0003
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm003.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0003

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0004
//!@SYMTestCaseDependencies		TestData(PKCS12_PM004.p12),ini file (PIM004.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded 
//					in password privacy mode as well as it is in password integrity mode. 
//					Here private key is encrypted using PBE-SHA1-3DES
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bags.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0004
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm004.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0004


/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0005
//!@SYMTestCaseDependencies		TestData(PKCS12_PM005.p12),ini file(PM005.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded 
//					in password privacy mode as well as it is in password integrity mode. 
//					Here private key is encrypted using PBE-SHA1-2DES
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag3.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0005
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm005.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0005

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0006
//!@SYMTestCaseDependencies		TestData(PKCS12_PM006.p12),ini file(PM006.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded 
//					in password privacy mode as well as it is in password integrity mode. 
//					Here private key is encrypted using PBE-SHA1-RC2-128
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bags.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0006
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm006.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0006

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0007
//!@SYMTestCaseDependencies		TestData(PKCS12_PM007.p12),ini file(PM007.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded 
//					in password privacy mode as well as it is in password integrity mode. 
//					Here private key is encrypted using PBE-SHA1-RC2-40
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0007
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm007.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0007

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0008
//!@SYMTestCaseDependencies		TestData(PKCS12_PM008.p12),ini file(PM008.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded in password privacy //					mode 
//					as well as it is in password integrity mode. Here ShroudedKeyBag is encrypted 
//					using –noiter mode.
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag.
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0008
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm008.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0008

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0009
//!@SYMTestCaseDependencies		TestData(PKCS12_PM009.p12),ini file(PM009.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded in 
//					password privacy mode as well as it is in password integrity mode.
//					Here the certBags are populated with certificates by importing from a certificate //					chain. 
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Not Implemented,as test data cannot be generated
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the certbags.
//					4.Verify the result with the test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0009
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm009.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0009

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PM-0010
//!@SYMTestCaseDependencies		TestData(PKCS12_PM010.p12),ini file(PM010.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from data encoded in 
//					password privacy mode as well as it is in password integrity mode. 
//					Here certBag contains a certificate having a friendly name.
//!@SYMREQ 				REQ5458, REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag, get the friendly name.
//					4.Verify the result.
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////

START_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0010
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pm010.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-PM-0010

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0015
//!@SYMTestCaseDependencies		TestData(PKCS12_CI001.p12),ini file(CI001.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from 
//					an encoded PKCS12 data with Contentinfo as plain text.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////

START_TESTCASE 				SEC-CERTMAN-PKCS12-CI-0015
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\ci001.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CI-0015

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0016
//!@SYMTestCaseDependencies		TestData(PKCS12_CI002.p12),ini file(CI002.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an encoded PKCS12 data with 
//					Contentinfo as enveloped. This need not be supported in this version.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Medium
//!@SYMTestActions			1.Load the PKCS12 library with testdata 
//					2.Extract the Contentinfo
//					3.Check the Content Type
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CI-0016
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\ci002.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CI-0016

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-SB-0001
//!@SYMTestCaseDependencies		TestData(PKCS12_SB001.p12),ini file(SB001.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an encoded PKCS12 
//					data with Bagtype as crlBag. This need not be supported in this version.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag
//					4.Get the Bag id
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////

START_TESTCASE 				SEC-CERTMAN-PKCS12-SB-0001
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\sb001.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-SB-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-SB-0002
//!@SYMTestCaseDependencies		TestData(PKCS12_SB002.p12),ini file(SB002.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an encoded PKCS12 data 
//					with Bagtype as secretBag. This need not be supported in this version.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Low
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag
//					4.Get the bag id
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-SB-0002
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\sb002.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-SB-0002

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-SB-0003
//!@SYMTestCaseDependencies		TestData(PKCS12_SB003.p12),ini file(SB003.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an encoded
//					PKCS12 data with Safe Bag type as safeContentsBag contains multiple 
//					instances of supported safeBags.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bags
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-SB-0003
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\sb003.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-SB-0003

///////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CT-0001
//!@SYMTestCaseDependencies		TestData(PKCS12_CT001.p12),ini file(CT001.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an encoded 
//					PKCS12 data with Certificate type as sdsiCertficate. 
//					This need not be supported in this version.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Not Implemented,as test data cannot be generated
//!@SYMTestPriority			Low
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract the Contentinfo
//					3.Parse the bag
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CT-0001
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\ct001.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CT-0001


/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CB-0001
//!@SYMTestCaseDependencies		TestData(PKCS12_CB001.p12),ini file(CB001.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the data from a PKCS12 structure contains
//					one content info structure, with content type as data, which in turn 
//					contains all types of supported keybags.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Medium
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract macData
//					3.Extract the Contentinfo
//					4.Parse the bags
//					5.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0001
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\cb001.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CB-0002
//!@SYMTestCaseDependencies		TestData(PKCS12_CB002.p12),ini file(CB002.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the data from an encoded PKCS12 structure 
//					contains three content info structures, with content type as data, 
//					along with macData.First ContentInfo contains all supported keybags 
//					as SafeContents , the second one contains all the unsupported keybags as 
//					SafeContents and the last one contains all type of keybags in arbitrary manner.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Medium
//!@SYMTestActions			1.Load the PKCS12 library with test data 
//					2.Extract macData
//					3.Extract the Contentinfo to get all the safebags
//					4.Parse the bags
//					5.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0002
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\cb002.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0002

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CB-0003
//!@SYMTestCaseDependencies		TestData(PKCS12_CB003.p12),ini file(CB003.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the data from a PKCS12 structure contains 
//					one content info structure, with content type as data, contains safeContentsBag
//					which in turn contains three safeContentsBags.Amoung them one contains all 
//					the supported key bags, another one contains no key bags  and the last one 
//					contains all types of keybags.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Medium
//!@SYMTestActions			1.Load the PKCS12 library with testdata 
//					2.Extract the Contentinfo
//					3.Parse the bags
//					4.Verify the result with the decode test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0003
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\cb003.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0003

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CB-0004
//!@SYMTestCaseDependencies		TestData(PKCS12_CB004.p12),ini file(CB004.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the data from an encoded PKCS12 structure 
//					contains three content info structures, with content type as data, 
//					along with macData.First ContentInfo contains all supported keybags 
//					as SafeContents(encrypted) , the second one contains all the u
//					unsupported keybags as SafeContents(encrypted) and the last one contains 
//					all type of keybags in arbitrary manner as SafeContents(encrypted).
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Medium
//!@SYMTestActions			1.Load the PKCS12 library with testdata 
//					2.Extract macData
//					3.Extract the Contentinfo
//					4.Parse the safeBags
//					5.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0004
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\cb004.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0004

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CB-0005
//!@SYMTestCaseDependencies		TestData(PKCS12_CB005.p12),ini file(CB005.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the data from a PKCS12 structure contains 
//					one content info structure, with content type as Encrypted data, 
//					contains safeContentsBag which in turn contains three safeContentsBags.
//					Amoung them one contains all the supported key bags, another one contains 
//					no key bags  and the last one contains all types of keybags.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Medium
//!@SYMTestActions			1.Load the PKCS12 library with testdata 
//					2.Extract macData
//					3.Extract the Contentinfo
//					4.Parse the safeBags
//					5.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0005
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\cb005.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0005

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CB-0006
//!@SYMTestCaseDependencies		TestData(PKCS12_CB006.p12),ini file(CB006.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the data from a PKCS12 structure contains 
//					two content info structures, with content type as data. One of them should 
//					contain safeContents as data and the other should contain the safeContent as 
//					Encrypted data.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			Medium
//!@SYMTestActions			1.Load the PKCS12 library with testdata 
//					2.Extract the Contentinfo
//					3.Parse the safeBags
//					4.Verify the result with the decoded test data
//!@SYMTestExpectedResults		The data retrieved should match with the data in the ini file
//!@SYMTestType				CIT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0006
RUN_TEST_STEP 100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\cb006.ini
END_TESTCASE 				SEC-CERTMAN-PKCS12-CB-0006

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-IV-0001
//!@SYMTestCaseDependencies		TestData(PKCS12_junk.p12),ini file(IV001.ini) containing the data 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data.
//!@SYMREQ 				REQ5461, REQ5462
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			Load PKCS12 library, provide an invalid PKCS#12 structure as argument.
//					1.Load the PKCS12 library with testdata 
//					2.Verify the result	
//!@SYMTestExpectedResults		Negative Test case
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-IV-0001

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\iv001.ini

END_TESTCASE    			SEC-CERTMAN-PKCS12-IV-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-AU-0001
//!@SYMTestCaseDependencies		TestData(pkcs12_unsupportedbag.p12),ini file(corruptedalgid.ini) 
//					containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which authsafe contains 
//					content	type other than data and signedData.
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High			
//!@SYMTestActions			1.Load the PKCS12 library with testdata 
//					2.Extract the authsafe structure.
//					3.Verify the error code with the expected error in the ini file.
//!@SYMTestExpectedResults		The authsafe should contain data or signedData.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE 				SEC-CERTMAN-PKCS12-AU-0001

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedalgid.ini

END_TESTCASE    			SEC-CERTMAN-PKCS12-AU-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-AU-0002
//!@SYMTestCaseDependencies		TestData(pkcs12_changetag.p12),ini file(changetag.ini) containing the data. 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which authsafe contentdata 
//					tag is otherthan OCTETSTRING.
//!@SYMPREQ                   		PREQ1054 
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Verify the error code with the expected error in the ini file.
//!@SYMTestExpectedResults		The authsafe contentdata tag should be OCTETSTRING.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-AU-0002

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\changetag.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-AU-0002

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-AU-0003
//!@SYMTestCaseDependencies		TestData(pkcs12_authsafe_notasequence.p12),ini file(authsafe_notasequence.ini) 
//					containing the data. 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which authsafe structure tag 
//					otherthan Sequence.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Verify the error code with the expected error in the ini file.
//!@SYMTestExpectedResults		The authsafe contentdata tag should be OCTETSTRING.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-AU-0003

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\authsafe_notasequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-AU-0003

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-AU-0004
//!@SYMTestCaseDependencies		TestData(pkcs12_authsafe_oidnotoctetstring.p12),ini file
//					(authsafe_oidnotoctetstring.ini) containing the data. 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which PFX structure 
//					authsafe contentType tag is not a OctetString
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Verify the Error code with the Expected Error in the ini file.
//!@SYMTestExpectedResults		The authsafe contentType tag should be Object ID.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-AU-0004

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\authsafe_oidnotoctetstring.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-AU-0004

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-AU-0005
//!@SYMTestCaseDependencies		TestData(pkcs12_authsafe_contentnotoctetstring.p12),ini file
//					(authsafe_contentnotoctetstring.ini) containing the data. 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which PFX structure 
//					authsafe contentData is not a OctetString.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The authsafe contentType tag should be Object ID.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-AU-0005

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\authsafe_contentnotoctetstring.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-AU-0005


/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-AU-0006
//!@SYMTestCaseDependencies		TestData(pkcs12_authsafe_contentnotsequence.p12),ini file
//					(authsafe_contentnotsequence.ini) containing the data. 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which PFX structure 
//					authSafe contentinfo not a sequence
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The authsafe contentinfo tag should be Sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-AU-0006

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\authsafe_contentnotsequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-AU-0006

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-AU-0007
//!@SYMTestCaseDependencies		TestData(pkcs12_unsupported_contenttype.p12),ini file
//					(unsupported_contenttype.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the PFX structure contains 
//					other than public and password integrity mode.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the content Type is Plain Data or SignedData.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The content type must be plain data or signed data.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-AU-0007

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\unsupported_contenttype.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-AU-0007

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0001
//!@SYMTestCaseDependencies		TestData(pkcs12_digestalg1.p12),ini file(corruptdigestalg_case1.ini) 
//					containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data which contains algorithm OID 
//					MD5,But SHA1 is used to get the Digest.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Call the verify integrity method to check the integrity of the 
//					  PKCS12 file.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The macData structure should contain digest algorithm SHA1 and for verify
//					integrity only SHA1 is supported.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0001

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptdigestalg_case1.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0002
//!@SYMTestCaseDependencies		TestData(pkcs12_digestalg2.p12),ini file(corruptdigestalg_case2.ini) 
//					containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data which contains the digest
//					algorithm which is not supported.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Call the verify integrity method to check the integrity of the 
//					  PKCS12 file.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The macData structure should contain digest algorithm SHA1.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0002

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptdigestalg_case2.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0002

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0003
//!@SYMTestCaseDependencies		TestData(pkcs12_emptydigest.p12),ini file(emptydigest.ini) containing the 
//					data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which digest is not present.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Extract the DigestInfo structure and Check whether the digest is present.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The DigestInfo struture should contain the digest.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0003

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\emptydigest.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0003

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0004
//!@SYMTestCaseDependencies		TestData(pkcs12_digestcorrupted.p12),ini file
//					(digestcorrupted.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an invalid 
//					encoded PKCS12 data in which the PKCS7 contentinfo digest is 
//					corrupted.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Extract the DigestInfo structure and Check whether the digest is present.
//					4.Call the verify integrity method to check the integrity of the 
//					  PKCS12 file.
//					5.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The DigestInfo struture should contain digest to verify the integrity of
//					the PKCS12 file.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0004

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\digestcorrupted.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0004

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0005
//!@SYMTestCaseDependencies		TestData(pkcs12_macdatanotasequence.p12),ini file
//					(macdatanotasequence.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the macdata is not a sequence.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Check whether the macData is a Sequence.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The MacData struture must be a sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0005

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\macdatanotasequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0005

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0006
//!@SYMTestCaseDependencies		TestData(pkcs12_macsaltnotoctetstring.p12),ini file
//					(macsaltnotasequence.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the macSalt is not a sequence.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Check whether the macSalt present in the macData is a sequence.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The MacSalt present in the MacData struture must be a sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0006

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\macsaltnotasequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0006

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0007
//!@SYMTestCaseDependencies		TestData(pkcs12_digestalgorithmnotasequence.p12),ini file
//					(digestalgorithmnotasequence.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the PKCS7 digest algorithm is not 
//					a sequence.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Check whether the digest algorithm present in the digestInfo is a sequence.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The digest algorithm present in the digestInfo structure must be a Sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0007

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\digestalgorithmnotasequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0007

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0008
//!@SYMTestCaseDependencies		TestData(pkcs12_digestinfonotasequence.p12),ini file
//					(digestinfonotasequence.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the PKCS12 mac is not a 
//					sequence.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Check whether the digestinfo structure present in the macData is a sequence.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The digestinfo structure present in the macData must be a sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0008

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\digestinfonotasequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0008
	
/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0009
//!@SYMTestCaseDependencies		TestData(pkcs12_macdata_nosalt_noiteration.p12),ini file
//					(macdata_nosalt_noiteration.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the macdata is present with no 
//					salt and iteration count.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Check whether macSalt and iteration count is present to Call the 
//					  verify integrity method to check the integrity of the PKCS12 file.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The MacData struture must contain macSalt and iteration count to verify 
//					the integrity of the PKCS12 file.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0009

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\macdata_nosalt_noiteration.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0009

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0010
//!@SYMTestCaseDependencies		TestData(pkcs12_digestalgnotsha1.p12),ini file
//					(macdataverifyintegritydigestalgnotsha1.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the digest alg is other than 
//					SHA1.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Extract the digestInfo structure and Check whether the digest algorithm is SHA1.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The digestInfo structure must contain SHA1 digest algorithm.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0010

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\macdataverifyintegritydigestalgnotsha1.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0010

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0011
//!@SYMTestCaseDependencies		TestData(pkcs12_macdata_iterationnotinteger.p12),ini file
//					(macdata_iterationnotinteger.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the macdata iteration count tag 
//					is not a integer.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Check whether the macdata iteration count tag type is Integer.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The MacData struture iteration count tag type should be Integer.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0011

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\macdata_iterationnotinteger.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0011

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-MA-0012
//!@SYMTestCaseDependencies		TestData(pkcs12_macdata_negiteration.p12),ini file
//					(macdata_negiteration.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the macdata iteration count is 			//					negative.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the macData structure.
//					3.Check whether the macData iteration count is greater than 0.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The MacData struture iteration count should be greater than 0.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-MA-0012

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\macdata_negiteration.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-MA-0012

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PFX-0001
//!@SYMTestCaseDependencies		TestData(pkcs12_corruptedversion.p12),ini file(corruptedversion.ini) 
//					containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data which contains wrong PFX version
//					number.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Check whether the PFX structure is a sequence and Extract the PFX structure.
//					3.Check whether the PFX structure contains version number 3.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The PFX structure version number must be equal to 3.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0001

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedversion.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PFX-0002
//!@SYMTestCaseDependencies		TestData(pkcs12_pfx_notasequence.p12),ini file
//					(pfx_notasequence.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which the PFX structure 
//					is not a sequence.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Check whether the PFX structure is a sequence.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The PFX structure must be a sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0002

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pfx_notasequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0002

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PFX-0003
//!@SYMTestCaseDependencies		TestData(pkcs12_version_notinteger.p12),ini file
//					(version_notinteger.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data in which the PFX structure 
//					version not a Integer.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PFX structure.
//					3.Check whether the PFX structure contains version number 3.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The PFX structure version number must be equal to 3.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0003

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\version_notinteger.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0003

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-PFX-0004
//!@SYMTestCaseDependencies		TestData(pkcs12_pfx_missingcontents1.p12),ini file
//					(pfx_missingcontents1.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data which contains only PFX version
//					number.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PFX structure.
//					3.Check whether the PFX structure contains version number,authsafe and macdata 
//					  structure.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The PFX structure must contain version number, authsafe and macdata structure.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0004

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\pfx_missingcontents1.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-PFX-0004


/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0001
//!@SYMTestCaseDependencies		TestData(pkcs12_encryptedcontentiteration1.p12),ini file 				
//					(corruptedencryptedconiteration_case1.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an invalid encoded 
//					PKCS12 data in which iteration Count present in the EncryptedContent Info 
//					Sequence is 0.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PKCS7 encrypted data structure.
//					3.check whether the iteration count present in the EncryptedContent info
//					  structure is greater than 0.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The teration count present in the EncryptedContent info
//					structure must be greater than 0.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0001

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedencryptedconiteration_case1.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0002
//!@SYMTestCaseDependencies		TestData(pkcs12_encryptedcontentiteration2.p12),ini file 				
//					(corruptedencryptedconiteration_case2.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an invalid encoded 
//					PKCS12 data in which iteration Count present in the EncryptedContent Info 
//					Sequence is -ve.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PKCS7 encrypted data structure.
//					3.check whether the iteration count present in the EncryptedContent info
//					  structure is greater than 0.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The teration count present in the EncryptedContent info
//					structure must be greater than 0.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0002

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedencryptedconiteration_case2.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0002

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0003
//!@SYMTestCaseDependencies		TestData(pkcs12_encryptedcontentversion.p12),ini file 				
//					(corruptedencryptedconversion.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which version present in the EncryptedContent 
//					Info Sequence is not 0.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PKCS7 encrypted data structure.
//					3.check whether the version present in the EncryptedContent info
//					  structure is equal to 0.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The version number present in the EncryptedContent info
//					structure must be equal to 0.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0003

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedencryptedconversion.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0003

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0004
//!@SYMTestCaseDependencies		TestData(pkcs12_encryptedusingdifferentAlg.p12),ini file 				
//					(encryptedusingdifferentalg.ini) containing the data. 
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the algorithm used for encryption is 
//					not supported.
//!@SYMPREQ                   		PREQ1054
//!@SYMTestStatus			Implemented
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PKCS7 encrypted data structure.
//					3.Check whether the algorithm used for encryption is PKCS12 ides.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The algorithm used for encryption must be supported PKCS12 ides.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0004

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\encryptedusingdifferentalg.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0004

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0005
//!@SYMTestCaseDependencies		TestData(pkcs12_encrypteddataabsent.p12),ini file(encrypteddataabsent.ini) 	
//					containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an invalid encoded PKCS12 
//					data in which the encrypted contentdata is not present.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Check whether the encrypted data is present.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The encrypted data must be present.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0005

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\encrypteddataabsent.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0005

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0006
//!@SYMTestCaseDependencies		TestData(pkcs12_corruptedSalt.p12),ini file(encrypteddatasaltcorrupted.ini) 	
//					containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which encrypted salt is corrupted.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PKCS7 encrypted data structure.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The encrypted salt present in the encrypted data structure must be correct 
//					in order to decrypt the data.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0006

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\encrypteddatasaltcorrupted.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0006

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0007
//!@SYMTestCaseDependencies		TestData(pkcs12_encryptedcontentabsent.p12),ini file
//					(encryptedcontentabsent.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the encrypted contentdata is not present.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PKCS7 encrypted data structure.
//					3.Check whether the encrypted content data present in the PKSc7 EncryptedData 
//					  Structure.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The encrypted content data is optional, Check for NULL.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0007

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\encryptedcontentabsent.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0007

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-ED-0008
//!@SYMTestCaseDependencies		TestData(pkcs12_corruptedencryptedcontent.p12),ini file
//					(corruptedencryptedcontent.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the encrypted content data is corrupted.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the PKCS7 encrypted data structure.
//					3.Check whether the encrypted content data present in the PKSc7 EncryptedData 
//					  Structure. 
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The Encrypted Content Data must be correct to decrypt the data.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-ED-0008

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedencryptedcontent.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-ED-0008

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0001
//!@SYMTestCaseDependencies		TestData(pkcs12_unsupportedContentInfo.p12),ini file 				
//					(contentinfotypeunsupported.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data which contains the contentType 8 which is 
//					not supported.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the content Type is Plain Data or EncryptedData.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The content Type present in the contentInfo structure must be Data
//					or SignedData.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0001

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\contentinfotypeunsupported.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0001

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0002
//!@SYMTestCaseDependencies		TestData(pkcs12_emptycontentinfo.p12),ini file(emptycontentinfo.ini) 
//					containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the authsafe ContentData is not 
//					present.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the content Data present in the PKCS7 ContentInfo structure.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The ContentData must be present in the PKCS7 ContentInfo structure.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0002

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\emptycontentinfo.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0002


/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0003
//!@SYMTestCaseDependencies		TestData(pkcs12_unsupportedbag.p12),ini file
//					(corruptbagalgid.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the contentinfo contains unsupported bag.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the contentinfo structure contains CRL, Secret,SafeBag,KeyBag,
//					  ShroudedKeyBag or SafeContentsBag.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The ContentInfo structure must contain either one of the supported bags CRL, 
//					Secret,SafeBag,KeyBag,ShroudedKeyBag or SafeContentsBag.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0003

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptbagalgid.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0003

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0004
//!@SYMTestCaseDependencies		TestData(pkcs12_corruptedshroudediteration1.p12),ini file
//					(corruptedshroudediteration_case1.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the shroudedbag contains the 
//					iteration count 0.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the iteration count present in shroudedBag.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The iteration count present in shroudedBag should be greater than 0.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0004

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedshroudediteration_case1.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0004

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0005
//!@SYMTestCaseDependencies		TestData(pkcs12_corruptedshroudediteration2.p12),ini file
//					(corruptedshroudediteration_case2.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the shroudedbag contains the 
//					iteration count -ve.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the iteration count present in shroudedBag.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The iteration count present in shroudedBag should be greater than 0.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0005

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedshroudediteration_case2.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0005

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0006
//!@SYMTestCaseDependencies		TestData(pkcs12_corruptedshroudedval.p12),ini file
//					(corruptedshroudedval.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the shroudedbag value is corrupted.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the shroudedKey BagValue is present.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The Shroudedkey BagValue must be correct to decrypt the data.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0006

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\corruptedshroudedval.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0006

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0007
//!@SYMTestCaseDependencies		TestData(pkcs12_certbag_notasequence.p12),ini file
//					(certbag_notasequence.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the certbag tag is not a
//					sequence.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the CertBag Type is sequence.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The CertBag Type present in the ContentInfo structure must be a
//					Sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0007

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\certbag_notasequence.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0007

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0008
//!@SYMTestCaseDependencies		TestData(pkcs12_certbag_oidnotoctetstring.p12),ini file
//					(certbag_oidnotoctetstring.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the certbag OID type is not 			//					octetstring.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the CertBag OID Type is OCTETSTRING.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The CertBag OID Type present in the ContentInfo structure must be a
//					OCTETSTRING.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0008

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\certbag_oidnotoctetstring.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0008

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0009
//!@SYMTestCaseDependencies		TestData(pkcs12_certbag_explicittagchanged.p12),ini file
//					(certbag_explicittagchanged.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the certbag explicittag is 
//					changed.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the CertBag ExplicitTag is sequence.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The CertBag ExplicitTag present in the ContentInfo structure must 
//					be a sequence
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0009

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\certbag_explicittagchanged.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0009

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0010
//!@SYMTestCaseDependencies		TestData(pkcs12_certbag_notoctetstring.p12),ini file
//					(certbag_notoctetstring.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the certbag value is not 
//					octetstring.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the CertBag Value is OCTETSTRING.
//					3.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The CertBag Value present in the ContentInfo structure must 
//					be a OCTETSTRING.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0010

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\certbag_notoctetstring.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0010
	

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0011
//!@SYMTestCaseDependencies		TestData(pkcs12_corruptedattrval.p12),ini file
//					(attributevaluechanged.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the attribute value is modified.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the attribute value present in the bag and compare
//					  whether the value is corrupted.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The Comparsion fails if the attribute value is modified.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0011

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\attributevaluechanged.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0011

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0012
//!@SYMTestCaseDependencies		TestData(pkcs12_bagattributenotaseq.p12),ini file
//					(bagattributenotaseq.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the bag attribute tag is not a sequence.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the Attribute set tag present in the bag is Sequence.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The Attribute set tag present in the bag must be a Sequence.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0012

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\bagattributenotaseq.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0012

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0013
//!@SYMTestCaseDependencies		TestData(pkcs12_bagattributeoid_notoctet.p12),ini file
//					(bagattributeoid_notoctet.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the bag attribute oid tag is 
//					not octet string.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the bag attribute OID tag present in the Attribute Set is 
//					  OCTETSTRING.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The bag attribute OID tag present in the Attribute Set must be a 
//					OCTETSTRING.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0013

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\bagattributeoid_notoctet.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0013

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-CI-0014
//!@SYMTestCaseDependencies		TestData(pkcs12_bagattributeval_notset.p12),ini file
//					(bagattributeval_notset.ini) containing the data.
//!@SYMTestCaseDesc			This test case is for decoding the PKCS12 data from an 
//					invalid encoded PKCS12 data in which the bag attribute value tag is 
//					not a ASN set.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the authsafe structure.
//					3.Check whether the bag Attribute value tag present in the attribute Set
//					  is ASN SET.
//					4.Verify the Error code with the Expected Error in the INI file.
//!@SYMTestExpectedResults		The bag Attribute value tag present in the attribute Set must be a
//					ASN SET.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-CI-0014

RUN_TEST_STEP   100 tpkcs12libtest PKCS12LibTestStep c:\tpkcs12intg\data\ini\bagattributeval_notset.ini

END_TESTCASE				SEC-CERTMAN-PKCS12-CI-0014

/////////////////////////////////////////////////////////////////////////////////////////////////////
//!@SYMTestCaseID			SEC-CERTMAN-PKCS12-OOM-0001
//!@SYMTestCaseDependencies		INI file (oomtest.ini) containing the test data path for 
//					the OOM tests.
//!@SYMTestCaseDesc			Below test cases perform out of memory tests for the pkcs12 library.
//!@SYMTestStatus			Implemented
//!@SYMPREQ                   		PREQ1054
//!@SYMTestPriority			High
//!@SYMTestActions			1.Load the PKCS12 library with testdata. 
//					2.Extract the Data.
//					3.Call the Exported NEWL methods to DeSequence the structure.
//!@SYMTestExpectedResults		The KErrNoMemory must be returned.
//!@SYMTestType				UT
/////////////////////////////////////////////////////////////////////////////////////////////////////
START_TESTCASE				SEC-CERTMAN-PKCS12-OOM-0001

RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMPKCS12Test
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMPKCS12READSTREAMTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMMACDATATEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMATTRIBUTETEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMSHROUDEDKEYBAGTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMCERTBAGTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMKEYBAGTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMSAFEBAGTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMSECRETBAGTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMCRLBAGTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMSAFECONTENTSBAGTEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMSAFECONTENTDATATEST
RUN_TEST_STEP !OOM 100 tpkcs12libtest PKCS12OOMTestStep	c:\tpkcs12intg\data\ini\oomtest.ini OOMSAFECONTENTENCRYPTEDDATATEST

END_TESTCASE				SEC-CERTMAN-PKCS12-OOM-0001