pkiutilities/CertSaver/src/certparser.cpp
branchRCL_3
changeset 49 09b1ac925e3f
parent 0 164170e6151a
child 50 03674e5abf46
--- a/pkiutilities/CertSaver/src/certparser.cpp	Thu Aug 19 10:45:23 2010 +0300
+++ b/pkiutilities/CertSaver/src/certparser.cpp	Tue Aug 31 16:04:40 2010 +0300
@@ -25,14 +25,17 @@
 #include <X509CertNameParser.h>
 #include <featmgr.h>
 #include <data_caging_path_literals.hrh>
-#include <AknQueryDialog.h>
 #include <CertSaver.rsg>
 #include <StringLoader.h>
 #include <securityerr.h>
-#include <aknnotewrappers.h>              // Note dialogs
 #include <apmrec.h>
+#include <eikenv.h>                       // CEikonEnv
 #include "certparser.h"
 
+#include "SecQueryUi.h"                   // needed for password dialog
+
+#include <hbdevicemessageboxsymbian.h>    // needed for Note dialogs    
+
 // CONSTANTS
 _LIT( KPKCS12DllName, "crpkcs12.dll" );   // PKCS12 DLL name
 const TInt KX509Version3 = 3;
@@ -94,6 +97,7 @@
 //
 void CCertParser::SetContentL( RFile& aFile )
     {
+
     delete iCert;
     iCert = NULL;
     TInt fileSize = 0;
@@ -126,7 +130,8 @@
 //
 void CCertParser::CreatePKCS12L()
     {
-    // Load PKCS#12 dll
+
+        // Load PKCS#12 dll
 #ifdef __WINS__
     User::LeaveIfError ( iLibrary.Load( KPKCS12DllName ) );
 #else
@@ -151,6 +156,7 @@
     const TDesC8& aPKCS12,
     const TDesC& aFileName )
     {
+
     CreatePKCS12L();
 
     if ( !iPKCS12->IsPKCS12Data( aPKCS12 ) )
@@ -161,21 +167,12 @@
 
     TBool done = EFalse;
     TBuf<KPwMaxLength> password;
-    HBufC* buffer = NULL;
-
-    if ( !iEikEnv )
-        {
-        iEikEnv = CEikonEnv::Static();
-        }
 
     while ( !done )
         {
         if ( !GetPasswordL( password, aFileName ) )
             {
-            buffer = iEikEnv->AllocReadResourceLC( R_CERTSAVER_PKCS12_DISCARDED );
-            CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-            note->ExecuteLD(buffer->Des());
-            CleanupStack::PopAndDestroy( buffer );
+            ShowErrorNoteL(R_CERTSAVER_PKCS12_DISCARDED);
             User::Leave( KErrExitApp );
             }
         TRAPD( err, iPKCS12->ParseL( aPKCS12, password ) );
@@ -226,15 +223,19 @@
 //
 TInt CCertParser::GetPasswordL( TDes& aPassword, const TDesC& aFileName )
     {
-    CAknTextQueryDialog* query = CAknTextQueryDialog::NewL( aPassword );
-    CleanupStack::PushL( query );
-    HBufC* prompt =
-        StringLoader::LoadLC( R_QTN_CM_TITLE_P12_PASSWORD, aFileName );
-    query->SetPromptL( *prompt );
-    CleanupStack::PopAndDestroy( prompt );
-    CleanupStack::Pop( query );
-    return query->ExecuteLD( R_PKCS12_PW_QUERY_DIALOG );
-    }
+    CSecQueryUi* SecQueryUi = CSecQueryUi::NewL();                                       
+    HBufC* prompt =StringLoader::LoadLC( R_QTN_CM_TITLE_P12_PASSWORD, aFileName );        
+    TInt queryAccepted = SecQueryUi->SecQueryDialog(prompt->Des(), aPassword,                
+                                                1,KPwMaxLength,                               
+                                                ESecUiAlphaSupported |                        
+                                                ESecUiCancelSupported |                       
+                                                ESecUiSecretSupported |                
+                                                ESecUiEmergencyNotSupported); 
+    CleanupStack::PopAndDestroy( prompt );                                                
+    delete SecQueryUi;                                                                   
+    SecQueryUi=NULL;
+    return (queryAccepted==KErrNone);
+  }
 
 // ----------------------------------------------------------
 // CCertParser::CheckIfX509CertificateL()
@@ -243,6 +244,7 @@
 //
 TBool CCertParser::CheckIfX509CertificateL(const TDesC8& aCert)
     {
+
     TRAPD( err,
            iCert = CX509Certificate::NewL(aCert);
          );
@@ -302,6 +304,7 @@
 //
 const CArrayPtr<CX509Certificate>&  CCertParser::CACertificates() const
     {
+
     __ASSERT_ALWAYS( iPKCS12, User::Panic( KCertSaverPanic, KPanicNullPointer ) );
     return iPKCS12->CACertificates();
     }
@@ -312,6 +315,7 @@
 //
 const CArrayPtr<CX509Certificate>&  CCertParser::UserCertificates() const
     {
+
     __ASSERT_ALWAYS( iPKCS12, User::Panic( KCertSaverPanic, KPanicNullPointer ) );
     return iPKCS12->UserCertificates();
     }
@@ -322,6 +326,7 @@
 //
 const CArrayPtr<HBufC8>& CCertParser::Keys() const
     {
+
     __ASSERT_ALWAYS( iPKCS12, User::Panic( KCertSaverPanic, KPanicNullPointer ) );
     return iPKCS12->PrivateKeys();
     }
@@ -332,6 +337,7 @@
 //
  CCertParser::TCertType CCertParser::CertType() const
     {
+
     return iCertType;
     }
 
@@ -342,6 +348,7 @@
 //
 const TPtrC8 CCertParser::CertificateBuf() const
     {
+
     __ASSERT_ALWAYS( iCert, User::Panic( KCertSaverPanic, KPanicNullPointer ) );
     return iCert->Encoding();
     }
@@ -353,6 +360,7 @@
 //
 const CX509Certificate& CCertParser::Certificate() const
     {
+
     __ASSERT_ALWAYS( iCert, User::Panic( KCertSaverPanic, KPanicNullPointer ) );
     return *((CX509Certificate*)iCert);
     }
@@ -369,9 +377,13 @@
         iEikEnv = CEikonEnv::Static();
         }
     HBufC* buffer = iEikEnv->AllocReadResourceLC( aResourceID );
-    CAknErrorNote* note = new (ELeave) CAknErrorNote( ETrue );
-    note->ExecuteLD(buffer->Des());
-    CleanupStack::PopAndDestroy( buffer );
+    CHbDeviceMessageBoxSymbian* iMessageBox = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning);
+    CleanupStack::PushL(iMessageBox);                                                                                    
+    iMessageBox->SetTextL(buffer->Des());                                                                                
+    iMessageBox->SetTimeout(6000);                                                                                      
+    iMessageBox->ExecL();                                                                                                
+    CleanupStack::PopAndDestroy(iMessageBox);                                                                            
+    CleanupStack::PopAndDestroy( buffer );                                                                               
     }
 
 //  End of File