2010-10-27 12:45:03 +01:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2004-07-12 12:15:31 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 23:06:44 +00:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2004-07-12 12:15:31 +00:00
|
|
|
*
|
2010-02-12 15:01:35 +01:00
|
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
2004-07-12 12:15:31 +00:00
|
|
|
*
|
2008-04-10 23:06:44 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2004-07-12 12:15:31 +00:00
|
|
|
*
|
2008-04-10 23:06:44 +00:00
|
|
|
* This file is part of OpenOffice.org.
|
2004-07-12 12:15:31 +00:00
|
|
|
*
|
2008-04-10 23:06:44 +00:00
|
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
* only, as published by the Free Software Foundation.
|
2004-07-12 12:15:31 +00:00
|
|
|
*
|
2008-04-10 23:06:44 +00:00
|
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Lesser General Public License version 3 for more details
|
|
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
2004-07-12 12:15:31 +00:00
|
|
|
*
|
2008-04-10 23:06:44 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
|
|
* <http://www.openoffice.org/license.html>
|
|
|
|
* for a copy of the LGPLv3 License.
|
2004-07-12 12:15:31 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
#ifndef _XMLSECURITY_CERTIFICATEVIEWER_HXX
|
|
|
|
#define _XMLSECURITY_CERTIFICATEVIEWER_HXX
|
|
|
|
|
|
|
|
#include <vcl/fixed.hxx>
|
|
|
|
#include <vcl/button.hxx>
|
|
|
|
#include <vcl/lstbox.hxx>
|
|
|
|
#include <vcl/tabdlg.hxx>
|
|
|
|
#include <vcl/tabctrl.hxx>
|
|
|
|
#include <vcl/tabpage.hxx>
|
|
|
|
#include <svtools/stdctrl.hxx>
|
|
|
|
#include <svx/simptabl.hxx>
|
|
|
|
#include <svtools/svmedit.hxx>
|
|
|
|
|
|
|
|
namespace com {
|
|
|
|
namespace sun {
|
|
|
|
namespace star {
|
|
|
|
namespace security {
|
|
|
|
class XCertificate; }
|
|
|
|
namespace xml { namespace crypto {
|
|
|
|
class XSecurityEnvironment; }}
|
|
|
|
}}}
|
|
|
|
|
|
|
|
namespace css = com::sun::star;
|
|
|
|
namespace cssu = com::sun::star::uno;
|
|
|
|
namespace dcss = ::com::sun::star;
|
|
|
|
|
|
|
|
class CertificateViewer : public TabDialog
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
friend class CertificateViewerGeneralTP;
|
|
|
|
friend class CertificateViewerDetailsTP;
|
|
|
|
friend class CertificateViewerCertPathTP;
|
|
|
|
|
|
|
|
TabControl maTabCtrl;
|
|
|
|
OKButton maOkBtn;
|
|
|
|
HelpButton maHelpBtn;
|
|
|
|
|
2011-01-14 14:16:44 +01:00
|
|
|
sal_Bool mbCheckForPrivateKey;
|
2005-03-10 17:01:59 +00:00
|
|
|
|
2004-07-12 12:15:31 +00:00
|
|
|
cssu::Reference< dcss::xml::crypto::XSecurityEnvironment > mxSecurityEnvironment;
|
|
|
|
cssu::Reference< dcss::security::XCertificate > mxCert;
|
|
|
|
public:
|
2011-01-14 14:16:44 +01:00
|
|
|
CertificateViewer( Window* pParent, const cssu::Reference< dcss::xml::crypto::XSecurityEnvironment >& rxSecurityEnvironment, const cssu::Reference< dcss::security::XCertificate >& rXCert, sal_Bool bCheckForPrivateKey );
|
2004-07-12 12:15:31 +00:00
|
|
|
virtual ~CertificateViewer();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CertificateViewerTP : public TabPage
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
CertificateViewer* mpDlg;
|
|
|
|
public:
|
|
|
|
CertificateViewerTP( Window* _pParent, const ResId& _rResId, CertificateViewer* _pDlg );
|
|
|
|
inline void SetTabDlg( CertificateViewer* pTabDlg );
|
|
|
|
};
|
|
|
|
|
|
|
|
inline void CertificateViewerTP::SetTabDlg( CertificateViewer* _pTabDlg )
|
|
|
|
{
|
|
|
|
mpDlg = _pTabDlg;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class CertificateViewerGeneralTP : public CertificateViewerTP
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
Window maFrameWin;
|
|
|
|
FixedImage maCertImg;
|
|
|
|
FixedInfo maCertInfoFI;
|
|
|
|
FixedLine maSep1FL;
|
|
|
|
FixedInfo maHintNotTrustedFI;
|
|
|
|
FixedLine maSep2FL;
|
|
|
|
FixedInfo maIssuedToLabelFI;
|
|
|
|
FixedInfo maIssuedToFI;
|
|
|
|
FixedInfo maIssuedByLabelFI;
|
|
|
|
FixedInfo maIssuedByFI;
|
2004-11-26 13:49:49 +00:00
|
|
|
FixedInfo maValidDateFI;
|
2004-07-12 12:15:31 +00:00
|
|
|
FixedImage maKeyImg;
|
|
|
|
FixedInfo maHintCorrespPrivKeyFI;
|
|
|
|
public:
|
|
|
|
CertificateViewerGeneralTP( Window* pParent, CertificateViewer* _pDlg );
|
|
|
|
|
|
|
|
virtual void ActivatePage();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CertificateViewerDetailsTP : public CertificateViewerTP
|
|
|
|
{
|
|
|
|
private:
|
2011-07-14 14:23:22 +01:00
|
|
|
SvxSimpleTableContainer m_aElementsLBContainer;
|
|
|
|
SvxSimpleTable maElementsLB;
|
2004-07-12 12:15:31 +00:00
|
|
|
MultiLineEdit maElementML;
|
2004-07-14 10:38:07 +00:00
|
|
|
Font maStdFont;
|
|
|
|
Font maFixedWidthFont;
|
2004-07-12 12:15:31 +00:00
|
|
|
|
|
|
|
DECL_LINK( ElementSelectHdl, void* );
|
|
|
|
void Clear( void );
|
2004-07-14 10:38:07 +00:00
|
|
|
void InsertElement( const String& _rField, const String& _rValue,
|
|
|
|
const String& _rDetails, bool _bFixedWidthFont = false );
|
2004-07-12 12:15:31 +00:00
|
|
|
public:
|
|
|
|
CertificateViewerDetailsTP( Window* pParent, CertificateViewer* _pDlg );
|
|
|
|
virtual ~CertificateViewerDetailsTP();
|
|
|
|
|
|
|
|
virtual void ActivatePage();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CertificateViewerCertPathTP : public CertificateViewerTP
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
FixedText maCertPathFT;
|
|
|
|
SvTreeListBox maCertPathLB;
|
2004-07-21 12:57:52 +00:00
|
|
|
PushButton maViewCertPB;
|
2004-07-12 12:15:31 +00:00
|
|
|
FixedText maCertStatusFT;
|
|
|
|
MultiLineEdit maCertStatusML;
|
2005-01-18 13:33:04 +00:00
|
|
|
|
|
|
|
CertificateViewer* mpParent;
|
|
|
|
bool mbFirstActivateDone;
|
2004-07-27 08:00:36 +00:00
|
|
|
Image maCertImage;
|
2005-11-11 08:17:11 +00:00
|
|
|
Image maCertNotValidatedImage;
|
|
|
|
String msCertOK;
|
|
|
|
String msCertNotValidated;
|
2004-07-12 12:15:31 +00:00
|
|
|
|
2004-07-21 12:57:52 +00:00
|
|
|
DECL_LINK( ViewCertHdl, void* );
|
2004-07-12 12:15:31 +00:00
|
|
|
DECL_LINK( CertSelectHdl, void* );
|
|
|
|
void Clear( void );
|
2005-11-11 08:17:11 +00:00
|
|
|
SvLBoxEntry* InsertCert( SvLBoxEntry* _pParent, const String& _rName,
|
|
|
|
cssu::Reference< dcss::security::XCertificate > rxCert,
|
|
|
|
bool bValid);
|
2004-07-21 12:57:52 +00:00
|
|
|
|
2004-07-12 12:15:31 +00:00
|
|
|
public:
|
|
|
|
CertificateViewerCertPathTP( Window* pParent, CertificateViewer* _pDlg );
|
|
|
|
virtual ~CertificateViewerCertPathTP();
|
|
|
|
|
|
|
|
virtual void ActivatePage();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // _XMLSECURITY_CERTIFICATEVIEWER_HXX
|
|
|
|
|
2010-10-27 12:45:03 +01:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|