--- /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