appinstaller/AppinstUi/Plugin/CommonUI/Src/CUICertificateInfo.cpp
changeset 0 ba25891c3a9e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/Plugin/CommonUI/Src/CUICertificateInfo.cpp	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,213 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   This file contains the implementation of CCUICertificateInfo
+*                class member functions.
+*
+*/
+
+
+// INCLUDE FILES
+#include <X509CertNameParser.h>
+#include <x509cert.h>
+#include "CUIDetailsDialog.h"
+
+using namespace SwiUI::CommonUI;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::CCUICertificateInfo
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CCUICertificateInfo::CCUICertificateInfo()  
+    {  
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateDetailsDialog::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CCUICertificateInfo::BaseConstructL( const CX509Certificate& aCertificate  )
+    {
+    iCertificate = CX509Certificate::NewL( aCertificate ); 
+    X509CertNameParser::SubjectFullNameL( *iCertificate, iSubject );
+    X509CertNameParser::IssuerFullNameL( *iCertificate, iIssuer ); 
+    iSerialNumber = iCertificate->SerialNumber().AllocL();    
+    iFingerprint = iCertificate->Fingerprint().AllocL();    
+    iEncoding = iCertificate->Encoding().AllocL(); 
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CCUICertificateInfo* CCUICertificateInfo::NewL( const CX509Certificate& aCertificate )     
+    {
+    CCUICertificateInfo* self = new ( ELeave ) CCUICertificateInfo();
+    CleanupStack::PushL( self );
+    self->BaseConstructL( aCertificate );
+    CleanupStack::Pop( self );
+    return self; 
+    }
+    
+// Destructor
+EXPORT_C CCUICertificateInfo::~CCUICertificateInfo()
+    {    
+    delete iCertificate;    
+    delete iIssuer;
+    delete iSubject;    
+    delete iSerialNumber;
+    delete iFingerprint;    
+    delete iEncoding; 
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::X509Certificate
+// Returns pointer to X509Certificate where this info is based on.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CX509Certificate* CCUICertificateInfo::X509Certificate()
+    {
+    return iCertificate;    
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::SubjectName
+// Getter for subject field.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC& CCUICertificateInfo::SubjectNameL() const
+    {
+    return *iSubject;
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::IssuerName
+// Getter for issuer field.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC& CCUICertificateInfo::IssuerNameL() const
+    {
+    return *iIssuer;    
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::ValidFrom
+// Getter for valid from field.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TDateTime CCUICertificateInfo::ValidFromL() const
+    {
+    const CValidityPeriod& validityPeriod = iCertificate->ValidityPeriod();
+    return validityPeriod.Start().DateTime();
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::ValidTo
+// Getter for certificate expiration date.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TDateTime CCUICertificateInfo::ValidToL() const
+    {
+    const CValidityPeriod& validityPeriod = iCertificate->ValidityPeriod();
+    return validityPeriod.Finish().DateTime();
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::Fingerprint
+// Getter for fingerprint of the certificate.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC8& CCUICertificateInfo::FingerprintL() const
+    {
+    return *iFingerprint;    
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::SerialNumber
+// Getter for serial number of the certificate.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC8& CCUICertificateInfo::SerialNumberL() const
+    {
+    return *iSerialNumber;    
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::IsSelfSignedL
+// Indicates wheter this certificate is self signed.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CCUICertificateInfo::IsSelfSignedL() const
+    {
+    return iCertificate->IsSelfSignedL();    
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::EncodingL
+// Gets the full encoding of this certificate.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC8& CCUICertificateInfo::EncodingL() const
+    {
+    return *iEncoding;    
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::SignatureL
+// Gets the signature of this certificate.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC8& CCUICertificateInfo::SignatureL() const
+    {
+    return KNullDesC8();
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::PublicKeyAlgorithmL
+// Gets the public key algorithm of the certificate.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TAlgorithmId CCUICertificateInfo::PublicKeyAlgorithmL() const
+    {
+    return iCertificate->SigningAlgorithm().AsymmetricAlgorithm().Algorithm();
+    }
+
+// -----------------------------------------------------------------------------
+// CCUICertificateInfo::DigestAlgorithmL
+// Gets the digest algorithm of the certificate.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TAlgorithmId CCUICertificateInfo::DigestAlgorithmL() const
+    {
+    return iCertificate->SigningAlgorithm().DigestAlgorithm().Algorithm();
+    }
+
+//  End of File