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; |
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); |