remotemgmt_plat/policy_management_request_api/tsrc/src/policy_management_request_apiBlocks.cpp
changeset 66 08c8318ec9cb
parent 0 b497e44ab2fc
equal deleted inserted replaced
64:910464db1b65 66:08c8318ec9cb
    28 #include "TrustClient.h"
    28 #include "TrustClient.h"
    29 #include <ssl_compatibility.h>
    29 #include <ssl_compatibility.h>
    30 #include <f32file.h>
    30 #include <f32file.h>
    31 #include <e32cmn.h>
    31 #include <e32cmn.h>
    32 
    32 
       
    33 #include <x509cert.h>
    33 
    34 
    34 _LIT( KServerID, "TarmBlr");
    35 _LIT( KServerID, "TarmBlr");
    35 //_LIT( KTarmBlrCer, "TarmBlrcer");
    36 //_LIT( KTarmBlrCer, "TarmBlrcer");
    36 _LIT( KTestFilePath, "E:\\testing\\data\\");
    37 _LIT( KTestFilePath, "E:\\testing\\data\\");
    37 
    38 
    38 
    39 const TInt KMaxLabelIdLength = 25;
    39 
    40 
    40 // ============================ MEMBER FUNCTIONS ===============================
    41 // ============================ MEMBER FUNCTIONS ===============================
    41 
    42 
    42 // -----------------------------------------------------------------------------
    43 // -----------------------------------------------------------------------------
    43 // Cpolicy_management_request_api::Delete
    44 // Cpolicy_management_request_api::Delete
    75         ENTRY( "ExecuteOperation", Cpolicy_management_request_api::ExecuteOperationL ),
    76         ENTRY( "ExecuteOperation", Cpolicy_management_request_api::ExecuteOperationL ),
    76         
    77         
    77         ENTRY( "GetElememtList", Cpolicy_management_request_api::GetElememtListL ),
    78         ENTRY( "GetElememtList", Cpolicy_management_request_api::GetElememtListL ),
    78         ENTRY( "GetElememt", Cpolicy_management_request_api::GetElememtL ),
    79         ENTRY( "GetElememt", Cpolicy_management_request_api::GetElememtL ),
    79         ENTRY( "GetXACMLDescription", Cpolicy_management_request_api::GetXACMLDescriptionL ),
    80         ENTRY( "GetXACMLDescription", Cpolicy_management_request_api::GetXACMLDescriptionL ),
       
    81        
       
    82         ENTRY( "AddServerCert", Cpolicy_management_request_api::AddServerCertL ),
       
    83         ENTRY( "RemoveServerCert", Cpolicy_management_request_api::RemoveServerCertL ),
    80         //ADD NEW ENTRY HERE
    84         //ADD NEW ENTRY HERE
    81         // [test cases entries] - Do not remove
    85         // [test cases entries] - Do not remove
    82 
    86 
    83         };
    87         };
    84 
    88 
   197 	if (err != KErrNone)
   201 	if (err != KErrNone)
   198 		err = KErrNone;
   202 		err = KErrNone;
   199 	
   203 	
   200 	return err;
   204 	return err;
   201 }
   205 }
       
   206 
       
   207 TInt Cpolicy_management_request_api::AddServerCertL(CStifItemParser& aItem)
       
   208     {
       
   209     //Load X.509 certificate 
       
   210     RFs fs;
       
   211     User::LeaveIfError(fs.Connect());
       
   212     CleanupClosePushL(fs);
       
   213     
       
   214     RFile certFile;
       
   215     User::LeaveIfError(certFile.Open(fs, _L("c:\\dm2.blrtesting.der"), EFileRead));   
       
   216     CleanupClosePushL(certFile);
       
   217     
       
   218     TInt size(0);
       
   219     User::LeaveIfError(certFile.Size(size));   
       
   220     
       
   221     HBufC8* certData = HBufC8::NewLC(size);
       
   222     TPtr8 buf = certData->Des();
       
   223     User::LeaveIfError(certFile.Read(buf,size));       
       
   224     CX509Certificate* cert = CX509Certificate::NewLC(*certData);  
       
   225     //create the empty label to be filled later with certificate name after adding to store. 
       
   226     HBufC *testLabel = HBufC::NewL(KMaxLabelIdLength);
       
   227     testLabel->Des().Zero();
       
   228     
       
   229     //connect to policy engine
       
   230     RPolicyEngine engine;
       
   231     User::LeaveIfError(engine.Connect());
       
   232     
       
   233     RPolicyManagement management;
       
   234     User::LeaveIfError(management.Open(engine));
       
   235     
       
   236     TPtr ptr = testLabel->Des();
       
   237     TInt err = management.AddServerCert(*cert,ptr);  
       
   238         
       
   239     management.Close();
       
   240     engine.Close();
       
   241         
       
   242     
       
   243     CleanupStack::PopAndDestroy(4, &fs); 
       
   244     delete testLabel;
       
   245     
       
   246     return err;
       
   247     }
       
   248 
       
   249 
       
   250 TInt Cpolicy_management_request_api::RemoveServerCertL(CStifItemParser& aItem)
       
   251     {
       
   252     RPolicyEngine engine;
       
   253     User::LeaveIfError(engine.Connect());
       
   254     
       
   255     RPolicyManagement management;
       
   256     User::LeaveIfError(management.Open(engine));
       
   257     
       
   258     //create the empty label 
       
   259     HBufC *testLabel = HBufC::NewL(KMaxLabelIdLength);
       
   260     testLabel->Des().Zero();
       
   261     TInt err = management.RemoveServerCert(*testLabel); 
       
   262        
       
   263     management.Close();
       
   264     engine.Close();
       
   265     
       
   266     delete testLabel;
       
   267     
       
   268     return err;
       
   269     }
       
   270 
   202 
   271 
   203 TInt Cpolicy_management_request_api::CertificateRoleL( CStifItemParser& aItem )
   272 TInt Cpolicy_management_request_api::CertificateRoleL( CStifItemParser& aItem )
   204 {
   273 {
   205 	RPolicyEngine engine;
   274 	RPolicyEngine engine;
   206 	User::LeaveIfError(engine.Connect());
   275 	User::LeaveIfError(engine.Connect());