javaextensions/satsa/pki/src.s60/cstssignatureservice.cpp
changeset 56 abc41079b313
parent 50 023eef975703
equal deleted inserted replaced
50:023eef975703 56:abc41079b313
    29 #include <CCMSX509Certificate.h>
    29 #include <CCMSX509Certificate.h>
    30 #include <CCMSSignerInfo.h>
    30 #include <CCMSSignerInfo.h>
    31 #include <CCMSEncapsulatedContentInfo.h>
    31 #include <CCMSEncapsulatedContentInfo.h>
    32 #include <CCMSSignedData.h>
    32 #include <CCMSSignedData.h>
    33 
    33 
       
    34 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS
       
    35 #include <PKIDlg.h>
       
    36 #endif
       
    37 
    34 #include "cstsseprompt.h"
    38 #include "cstsseprompt.h"
    35 
    39 
    36 #include <hash.h>
    40 #include <hash.h>
    37 #include "fs_methodcall.h"
    41 #include "fs_methodcall.h"
    38 #include <jutils.h>
    42 #include <jutils.h>
    39 #include "satsajnitools.h"
    43 #include "satsajnitools.h"
    40 #include "logger.h"
    44 #include "logger.h"
    41 #include "jstringutils.h"
    45 #include "jstringutils.h"
    42 
    46 
    43 #include <hbdevicemessageboxsymbian.h>
       
    44 #include <hbpopup.h>
       
    45 
       
    46 
    47 
    47 const TInt KDefaultGranularity = 1;
    48 const TInt KDefaultGranularity = 1;
    48 
    49 
    49 const TInt KOptionIncludeContent = 1;
    50 const TInt KOptionIncludeContent = 1;
    50 const TInt KOptionIncludeCertificate = 2;
    51 const TInt KOptionIncludeCertificate = 2;
    79 {
    80 {
    80     if (iDialog)
    81     if (iDialog)
    81     {
    82     {
    82         iDialog->Release(); // Release deletes the object
    83         iDialog->Release(); // Release deletes the object
    83     }
    84     }
    84     
    85 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS	
       
    86     if (iPKIDialog)
       
    87     {
       
    88         iPKIDialog->Release();
       
    89     }
       
    90 #endif	
    85     iCertificateArray.Close();
    91     iCertificateArray.Close();
    86     iCertInfos.Close();
    92     iCertInfos.Close();
    87     delete iFilter;
    93     delete iFilter;
    88     iDERNamesHBufC.ResetAndDestroy();
    94     iDERNamesHBufC.ResetAndDestroy();
    89     iDERNames.Close();
    95     iDERNames.Close();
   272     {
   278     {
   273         if (iShowNotes)
   279         if (iShowNotes)
   274         {
   280         {
   275             iState = EFinalNote;
   281             iState = EFinalNote;
   276             iStatus = KErrNone;
   282             iStatus = KErrNone;
   277             
   283 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS			
   278             // Using Orbit API 
   284             iPKIDialog->Note(MPKIDialog::ESigningCancelled, iStatus);
   279             CHbDeviceMessageBoxSymbian* messageBox
   285 #endif			
   280                 = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning);
       
   281             CleanupStack::PushL(messageBox);
       
   282 
       
   283             _LIT(KQuestion, "Do you want to sign the data?");
       
   284             messageBox->SetTextL(KQuestion);
       
   285             messageBox->SetTimeout(HbPopup::NoTimeout);
       
   286 
       
   287             // Read localised versions instead of hard coded values.
       
   288             _LIT(KAllowButtonText, "Allow");
       
   289             _LIT(KDenyButtonText, "Deny");
       
   290 
       
   291             messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, KAllowButtonText);
       
   292             messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue);
       
   293             messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, KDenyButtonText);
       
   294             messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue);
       
   295 
       
   296             // by default the answer is Allow
       
   297             if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::ERejectButton)
       
   298             {
       
   299                 
       
   300             }
       
   301 
       
   302             messageBox->Close();
       
   303             CleanupStack::PopAndDestroy(messageBox);
       
   304             
       
   305             SetActive();
   286             SetActive();
   306          }
   287          }
   307         else
   288         else
   308         {
   289         {
   309              Complete(KErrNone);
   290              Complete(KErrNone);
   502 //
   483 //
   503 void CSTSSignatureService::ConstructL()
   484 void CSTSSignatureService::ConstructL()
   504 {
   485 {
   505     User::LeaveIfError(iFileServer.Connect());
   486     User::LeaveIfError(iFileServer.Connect());
   506     iDialog = SecurityDialogFactory::CreateL();
   487     iDialog = SecurityDialogFactory::CreateL();
   507         
   488 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS	
       
   489     iPKIDialog = PKIDialogFactory::CreateNoteL();
       
   490 #endif
   508     iFilter = CCertAttributeFilter::NewL();
   491     iFilter = CCertAttributeFilter::NewL();
   509 
   492 
   510     iWait = new(ELeave) CActiveSchedulerWait;
   493     iWait = new(ELeave) CActiveSchedulerWait;
   511     iCertStore = CUnifiedCertStore::NewL(iFileServer, ETrue);
   494     iCertStore = CUnifiedCertStore::NewL(iFileServer, ETrue);
   512     iKeyStore = CUnifiedKeyStore::NewL(iFileServer);
   495     iKeyStore = CUnifiedKeyStore::NewL(iFileServer);
   649     // next is a dialog shown depending on the authentication type
   632     // next is a dialog shown depending on the authentication type
   650     switch (iAuthType)
   633     switch (iAuthType)
   651     {
   634     {
   652     case EAuthWithoutText:
   635     case EAuthWithoutText:
   653     {
   636     {
   654         // Use Orbit API
   637 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS        
   655         CHbDeviceMessageBoxSymbian* messageBox
   638         iPKIDialog->UserAuthentication(iCertificateArray, iCertificateHandle,
   656             = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning);
   639                                        iStatus);
   657         CleanupStack::PushL(messageBox);
   640 #endif 
   658 
       
   659         _LIT(KQuestion, "Do you want to sign the data?");
       
   660         messageBox->SetTextL(KQuestion);
       
   661         messageBox->SetTimeout(HbPopup::NoTimeout);
       
   662 
       
   663         // Read localised versions instead of hard coded values.
       
   664         _LIT(KAllowButtonText, "Allow");
       
   665         _LIT(KDenyButtonText, "Deny");
       
   666 
       
   667         messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, KAllowButtonText);
       
   668         messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue);
       
   669         messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, KDenyButtonText);
       
   670         messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue);
       
   671 
       
   672         // by default the answer is Allow
       
   673         if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::ERejectButton)
       
   674         {
       
   675         
       
   676         }
       
   677         messageBox->Close();
       
   678         CleanupStack::PopAndDestroy(messageBox);
       
   679         break;
   641         break;
   680     }
   642     }
   681     case EAuthWithText:
   643     case EAuthWithText:
   682     {
   644     {
   683         // Use Orbit API
   645 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS
   684         CHbDeviceMessageBoxSymbian* messageBox
   646         iPKIDialog->UserAuthenticationText(*iTextToDisplay, iCertificateArray,
   685             = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning);
   647                                            iCertificateHandle, iStatus);
   686         CleanupStack::PushL(messageBox);
   648 #endif
   687 
       
   688         _LIT(KQuestion, "Do you want to sign the data?");
       
   689         messageBox->SetTextL(KQuestion);
       
   690         messageBox->SetTimeout(HbPopup::NoTimeout);
       
   691 
       
   692         // Read localised versions instead of hard coded values.
       
   693         _LIT(KAllowButtonText, "Allow");
       
   694         _LIT(KDenyButtonText, "Deny");
       
   695 
       
   696         messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, KAllowButtonText);
       
   697         messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue);
       
   698         messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, KDenyButtonText);
       
   699         messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue);
       
   700 
       
   701         // by default the answer is Allow
       
   702         if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::ERejectButton)
       
   703         {
       
   704         
       
   705         }
       
   706         messageBox->Close();
       
   707         CleanupStack::PopAndDestroy(messageBox);
       
   708         break;
   649         break;
   709     }
   650     }
   710     case ESignWithText:
   651     case ESignWithText:
   711     {
   652     {
   712         iDialog->SignText(*iTextToDisplay, iCertificateArray,
   653         iDialog->SignText(*iTextToDisplay, iCertificateArray,
   989 
   930 
   990     CleanupStack::PopAndDestroy(8);
   931     CleanupStack::PopAndDestroy(8);
   991     if (iShowNotes)
   932     if (iShowNotes)
   992     {
   933     {
   993         iState = EFinalNote;
   934         iState = EFinalNote;
   994      
   935 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS		
   995         //proper string for user prompt
   936         iPKIDialog->Note(MPKIDialog::ESignatureDone, iStatus);
   996         CHbDeviceMessageBoxSymbian* messageBox
   937 #endif		
   997         = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning);
       
   998         CleanupStack::PushL(messageBox);
       
   999 
       
  1000         _LIT(KQuestion, "Do you want to sign the data?");
       
  1001         messageBox->SetTextL(KQuestion);
       
  1002         messageBox->SetTimeout(HbPopup::NoTimeout);
       
  1003 
       
  1004         // Read localised versions instead of hard coded values.
       
  1005         _LIT(KAllowButtonText, "Allow");
       
  1006         _LIT(KDenyButtonText, "Deny");
       
  1007 
       
  1008         messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, KAllowButtonText);
       
  1009         messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue);
       
  1010         messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, KDenyButtonText);
       
  1011         messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue);
       
  1012 
       
  1013         // by default the answer is Allow
       
  1014         if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::ERejectButton)
       
  1015         {
       
  1016         
       
  1017         }
       
  1018         messageBox->Close();
       
  1019         CleanupStack::PopAndDestroy(messageBox);
       
  1020         SetActive();
   938         SetActive();
  1021     }
   939     }
  1022     else
   940     else
  1023     {
   941     {
  1024         Complete(KErrNone);
   942         Complete(KErrNone);