summaryrefslogtreecommitdiff
path: root/xmlsecurity/source/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'xmlsecurity/source/dialogs')
-rw-r--r--xmlsecurity/source/dialogs/certificatechooser.cxx241
-rw-r--r--xmlsecurity/source/dialogs/certificatechooser.src88
-rw-r--r--xmlsecurity/source/dialogs/certificateviewer.cxx520
-rw-r--r--xmlsecurity/source/dialogs/certificateviewer.src325
-rw-r--r--xmlsecurity/source/dialogs/dialogs.hrc344
-rw-r--r--xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx840
-rw-r--r--xmlsecurity/source/dialogs/digitalsignaturesdialog.hrc36
-rw-r--r--xmlsecurity/source/dialogs/digitalsignaturesdialog.src207
-rw-r--r--xmlsecurity/source/dialogs/helpids.hrc55
-rw-r--r--xmlsecurity/source/dialogs/macrosecurity.cxx456
-rw-r--r--xmlsecurity/source/dialogs/macrosecurity.src241
-rw-r--r--xmlsecurity/source/dialogs/makefile.mk64
-rw-r--r--xmlsecurity/source/dialogs/resourcemanager.cxx430
-rw-r--r--xmlsecurity/source/dialogs/resourcemanager.hxx72
-rw-r--r--xmlsecurity/source/dialogs/stbcontrl.cxx123
-rw-r--r--xmlsecurity/source/dialogs/warnings.cxx141
-rw-r--r--xmlsecurity/source/dialogs/warnings.src115
17 files changed, 0 insertions, 4298 deletions
diff --git a/xmlsecurity/source/dialogs/certificatechooser.cxx b/xmlsecurity/source/dialogs/certificatechooser.cxx
deleted file mode 100644
index ec9cba589..000000000
--- a/xmlsecurity/source/dialogs/certificatechooser.cxx
+++ /dev/null
@@ -1,241 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_xmlsecurity.hxx"
-
-#include <xmlsecurity/certificatechooser.hxx>
-#include <xmlsecurity/certificateviewer.hxx>
-#include <xmlsecurity/biginteger.hxx>
-#include <com/sun/star/xml/crypto/XSecurityEnvironment.hpp>
-#include <comphelper/sequence.hxx>
-#include <comphelper/processfactory.hxx>
-
-#include <com/sun/star/security/NoPasswordException.hpp>
-#include <com/sun/star/security/CertificateCharacters.hpp>
-#include <com/sun/star/security/SerialNumberAdapter.hpp>
-
-#include <dialogs.hrc>
-#include <resourcemanager.hxx>
-#include <vcl/msgbox.hxx>
-
-/* HACK: disable some warnings for MS-C */
-#ifdef _MSC_VER
-#pragma warning (disable : 4355) // 4355: this used in initializer-list
-#endif
-
-using namespace ::com::sun::star;
-
-#define INVAL_SEL 0xFFFF
-
-sal_uInt16 CertificateChooser::GetSelectedEntryPos( void ) const
-{
- sal_uInt16 nSel = INVAL_SEL;
-
- SvLBoxEntry* pSel = maCertLB.FirstSelected();
- if( pSel )
- nSel = (sal_uInt16) ( sal_uIntPtr ) pSel->GetUserData();
-
- return (sal_uInt16) nSel;
-}
-
-CertificateChooser::CertificateChooser( Window* _pParent, uno::Reference< uno::XComponentContext>& _rxCtx, uno::Reference< dcss::xml::crypto::XSecurityEnvironment >& _rxSecurityEnvironment, const SignatureInformations& _rCertsToIgnore )
- :ModalDialog ( _pParent, XMLSEC_RES( RID_XMLSECDLG_CERTCHOOSER ) )
- ,maCertsToIgnore( _rCertsToIgnore )
- ,maHintFT ( this, XMLSEC_RES( FT_HINT_SELECT ) )
- ,m_aCertLBContainer(this, XMLSEC_RES(LB_SIGNATURES))
- ,maCertLB(m_aCertLBContainer)
- ,maViewBtn ( this, XMLSEC_RES( BTN_VIEWCERT ) )
- ,maBottomSepFL ( this, XMLSEC_RES( FL_BOTTOM_SEP ) )
- ,maOKBtn ( this, XMLSEC_RES( BTN_OK ) )
- ,maCancelBtn ( this, XMLSEC_RES( BTN_CANCEL ) )
- ,maHelpBtn ( this, XMLSEC_RES( BTN_HELP ) )
-{
- static long nTabs[] = { 3, 0, 30*CS_LB_WIDTH/100, 60*CS_LB_WIDTH/100 };
- maCertLB.SetTabs( &nTabs[0] );
- maCertLB.InsertHeaderEntry( String( XMLSEC_RES( STR_HEADERBAR ) ) );
- maCertLB.SetSelectHdl( LINK( this, CertificateChooser, CertificateHighlightHdl ) );
- maCertLB.SetDoubleClickHdl( LINK( this, CertificateChooser, CertificateSelectHdl ) );
- maViewBtn.SetClickHdl( LINK( this, CertificateChooser, ViewButtonHdl ) );
-
- FreeResource();
-
- mxCtx = _rxCtx;
- mxSecurityEnvironment = _rxSecurityEnvironment;
- mbInitialized = sal_False;
-
- // disable buttons
- CertificateHighlightHdl( NULL );
-}
-
-CertificateChooser::~CertificateChooser()
-{
-}
-
-short CertificateChooser::Execute()
-{
- // #i48432#
- // We can't check for personal certificates before raising this dialog,
- // because the mozilla implementation throws a NoPassword exception,
- // if the user pressed cancel, and also if the database does not exist!
- // But in the later case, the is no password query, and the user is confused
- // that nothing happens when pressing "Add..." in the SignatureDialog.
-
- // PostUserEvent( LINK( this, CertificateChooser, Initialize ) );
-
- // PostUserLink behavior is to slow, so do it directly before Execute().
- // Problem: This Dialog should be visible right now, and the parent should not be accessible.
- // Show, Update, DIsableInput...
-
- Window* pMe = this;
- Window* pParent = GetParent();
- if ( pParent )
- pParent->EnableInput( sal_False );
- pMe->Show();
- pMe->Update();
- ImplInitialize();
- if ( pParent )
- pParent->EnableInput( sal_True );
- return ModalDialog::Execute();
-}
-
-// IMPL_LINK( CertificateChooser, Initialize, void*, EMPTYARG )
-void CertificateChooser::ImplInitialize()
-{
- if ( !mbInitialized )
- {
- try
- {
- maCerts = mxSecurityEnvironment->getPersonalCertificates();
- }
- catch (security::NoPasswordException&)
- {
- }
-
- uno::Reference< dcss::security::XSerialNumberAdapter> xSerialNumberAdapter =
- ::com::sun::star::security::SerialNumberAdapter::create(mxCtx);
-
- sal_Int32 nCertificates = maCerts.getLength();
- sal_Int32 nCertificatesToIgnore = maCertsToIgnore.size();
- for( sal_Int32 nCert = nCertificates; nCert; )
- {
- uno::Reference< security::XCertificate > xCert = maCerts[ --nCert ];
- sal_Bool bIgnoreThis = false;
-
- // Do we already use that?
- if( nCertificatesToIgnore )
- {
- rtl::OUString aIssuerName = xCert->getIssuerName();
- for( sal_Int32 nSig = 0; nSig < nCertificatesToIgnore; ++nSig )
- {
- const SignatureInformation& rInf = maCertsToIgnore[ nSig ];
- if ( ( aIssuerName == rInf.ouX509IssuerName ) &&
- ( xSerialNumberAdapter->toString( xCert->getSerialNumber() ) == rInf.ouX509SerialNumber ) )
- {
- bIgnoreThis = true;
- break;
- }
- }
- }
-
- if ( !bIgnoreThis )
- {
- // Check if we have a private key for this...
- long nCertificateCharacters = mxSecurityEnvironment->getCertificateCharacters( xCert );
-
- if ( !( nCertificateCharacters & security::CertificateCharacters::HAS_PRIVATE_KEY ) )
- bIgnoreThis = true;
-
- }
-
- if ( bIgnoreThis )
- {
- ::comphelper::removeElementAt( maCerts, nCert );
- nCertificates = maCerts.getLength();
- }
- }
-
- // fill list of certificates; the first entry will be selected
- for ( sal_Int32 nC = 0; nC < nCertificates; ++nC )
- {
- String sEntry( XmlSec::GetContentPart( maCerts[ nC ]->getSubjectName() ) );
- sEntry += '\t';
- sEntry += XmlSec::GetContentPart( maCerts[ nC ]->getIssuerName() );
- sEntry += '\t';
- sEntry += XmlSec::GetDateString( maCerts[ nC ]->getNotValidAfter() );
- SvLBoxEntry* pEntry = maCertLB.InsertEntry( sEntry );
- pEntry->SetUserData( ( void* )(sal_IntPtr)nC ); // missuse user data as index
- }
-
- // enable/disable buttons
- CertificateHighlightHdl( NULL );
- mbInitialized = sal_True;
- }
-}
-
-
-uno::Reference< dcss::security::XCertificate > CertificateChooser::GetSelectedCertificate()
-{
- uno::Reference< dcss::security::XCertificate > xCert;
- sal_uInt16 nSelected = GetSelectedEntryPos();
- if ( nSelected < maCerts.getLength() )
- xCert = maCerts[ nSelected ];
- return xCert;
-}
-
-IMPL_LINK( CertificateChooser, CertificateHighlightHdl, void*, EMPTYARG )
-{
- sal_Bool bEnable = GetSelectedCertificate().is();
- maViewBtn.Enable( bEnable );
- maOKBtn.Enable( bEnable );
- return 0;
-}
-
-IMPL_LINK( CertificateChooser, CertificateSelectHdl, void*, EMPTYARG )
-{
- EndDialog( RET_OK );
- return 0;
-}
-
-IMPL_LINK( CertificateChooser, ViewButtonHdl, Button*, EMPTYARG )
-{
- ImplShowCertificateDetails();
- return 0;
-}
-
-void CertificateChooser::ImplShowCertificateDetails()
-{
- uno::Reference< dcss::security::XCertificate > xCert = GetSelectedCertificate();
- if( xCert.is() )
- {
- CertificateViewer aViewer( this, mxSecurityEnvironment, xCert, sal_True );
- aViewer.Execute();
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/certificatechooser.src b/xmlsecurity/source/dialogs/certificatechooser.src
deleted file mode 100644
index 8bf6ea79f..000000000
--- a/xmlsecurity/source/dialogs/certificatechooser.src
+++ /dev/null
@@ -1,88 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#include "dialogs.hrc"
-#include "helpids.hrc"
-
-ModalDialog RID_XMLSECDLG_CERTCHOOSER
-{
- HelpId = HID_XMLSEC_DLG_CERTCHOOSER;
- Size = MAP_APPFONT( CS_WIDTH, CS_HEIGHT );
- OutputSize = TRUE;
- Closeable = TRUE;
- Moveable = TRUE;
- SVLook = TRUE;
-
- Text [ en-US ] = "Select Certificate";
-
- FixedText FT_HINT_SELECT
- {
- Pos = MAP_APPFONT( CS_COL_0, CS_ROW_0 );
- Size = MAP_APPFONT( CS_COL_2-CS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = "Select the certificate you want to use for signing";
- };
- Control LB_SIGNATURES
- {
- HelpId = HID_XMLSEC_CTRL_CHOOSESIGNATURES;
- Pos = MAP_APPFONT( CS_COL_0, CS_ROW_1 );
- Size = MAP_APPFONT( CS_LB_WIDTH, CS_ROW_2-CS_ROW_1 );
- SVLook = TRUE;
- Border = TRUE;
- };
- String STR_HEADERBAR
- {
- Text [ en-US ] = "Issued to\tIssued by\tExpiration date";
- };
- PushButton BTN_VIEWCERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_CERTCHOOSER:BTN_VIEWCERT";
- Pos = MAP_APPFONT( CS_COL_1, CS_ROW_3 );
- Size = MAP_APPFONT( CS_COL_2-CS_COL_1, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "View Certificate...";
- };
- FixedLine FL_BOTTOM_SEP
- {
- Pos = MAP_APPFONT( 0, DLGS_BOTTOM_FL_Y( CS_HEIGHT ) );
- Size = MAP_APPFONT( CS_WIDTH, RSC_CD_FIXEDLINE_HEIGHT );
- };
- OKButton BTN_OK
- {
- DefButton = TRUE;
- Pos = MAP_APPFONT( DLGS_BOTTOM_OK_X( CS_WIDTH ), DLGS_BOTTOM_BTN_Y( CS_HEIGHT ) );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- };
- CancelButton BTN_CANCEL
- {
- Pos = MAP_APPFONT( DLGS_BOTTOM_CANCEL_X( CS_WIDTH ), DLGS_BOTTOM_BTN_Y( CS_HEIGHT ) );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT( DLGS_BOTTOM_HELP_X( CS_WIDTH ), DLGS_BOTTOM_BTN_Y( CS_HEIGHT ) );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- };
-};
diff --git a/xmlsecurity/source/dialogs/certificateviewer.cxx b/xmlsecurity/source/dialogs/certificateviewer.cxx
deleted file mode 100644
index 34c84fb0e..000000000
--- a/xmlsecurity/source/dialogs/certificateviewer.cxx
+++ /dev/null
@@ -1,520 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_xmlsecurity.hxx"
-#include <xmlsecurity/certificateviewer.hxx>
-#include <com/sun/star/security/XCertificate.hpp>
-
-#include <com/sun/star/security/CertificateCharacters.hpp>
-#include <com/sun/star/xml/crypto/XSecurityEnvironment.hpp>
-#include <com/sun/star/security/CertificateValidity.hpp>
-
-#include <unotools/localedatawrapper.hxx>
-#include <unotools/datetime.hxx>
-
-#include "dialogs.hrc"
-#include "resourcemanager.hxx"
-
-/* HACK: disable some warnings for MS-C */
-#ifdef _MSC_VER
-#pragma warning (disable : 4355) // 4355: this used in initializer-list
-#endif
-
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-namespace css = ::com::sun::star;
-
-
-namespace
-{
- void ShrinkToFit( FixedImage& _rImg )
- {
- _rImg.SetSizePixel( _rImg.GetImage().GetSizePixel() );
- }
-}
-
-CertificateViewer::CertificateViewer(
- Window* _pParent,
- const cssu::Reference< dcss::xml::crypto::XSecurityEnvironment >& _rxSecurityEnvironment,
- const cssu::Reference< dcss::security::XCertificate >& _rXCert, sal_Bool bCheckForPrivateKey )
- :TabDialog ( _pParent, XMLSEC_RES( RID_XMLSECDLG_CERTVIEWER ) )
- ,maTabCtrl ( this, XMLSEC_RES( 1 ) )
- ,maOkBtn ( this, XMLSEC_RES( BTN_OK ) )
- ,maHelpBtn ( this, XMLSEC_RES( BTN_HELP ) )
-{
- FreeResource();
-
- mbCheckForPrivateKey = bCheckForPrivateKey;
-
- mxSecurityEnvironment = _rxSecurityEnvironment;
- mxCert = _rXCert;
-
- maTabCtrl.SetTabPage( RID_XMLSECTP_GENERAL, new CertificateViewerGeneralTP( &maTabCtrl, this ) );
- maTabCtrl.SetTabPage( RID_XMLSECTP_DETAILS, new CertificateViewerDetailsTP( &maTabCtrl, this ) );
- maTabCtrl.SetTabPage( RID_XMLSECTP_CERTPATH, new CertificateViewerCertPathTP( &maTabCtrl, this ) );
- maTabCtrl.SetCurPageId( RID_XMLSECTP_GENERAL );
-}
-
-CertificateViewer::~CertificateViewer()
-{
- delete maTabCtrl.GetTabPage( RID_XMLSECTP_CERTPATH );
- delete maTabCtrl.GetTabPage( RID_XMLSECTP_DETAILS );
- delete maTabCtrl.GetTabPage( RID_XMLSECTP_GENERAL );
-}
-
-CertificateViewerTP::CertificateViewerTP( Window* _pParent, const ResId& _rResId, CertificateViewer* _pDlg )
- :TabPage ( _pParent, _rResId )
- ,mpDlg ( _pDlg )
-{
-}
-
-
-CertificateViewerGeneralTP::CertificateViewerGeneralTP( Window* _pParent, CertificateViewer* _pDlg )
- :CertificateViewerTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_GENERAL ), _pDlg )
- ,maFrameWin ( this, XMLSEC_RES( WIN_FRAME ) )
- ,maCertImg ( this, XMLSEC_RES( IMG_CERT ) )
- ,maCertInfoFI ( this, XMLSEC_RES( FI_CERTINFO ) )
- ,maSep1FL ( this, XMLSEC_RES( FL_SEP1 ) )
- ,maHintNotTrustedFI ( this, XMLSEC_RES( FI_HINTNOTTRUST ) )
- ,maSep2FL ( this, XMLSEC_RES( FL_SEP2 ) )
- ,maIssuedToLabelFI ( this, XMLSEC_RES( FI_ISSTOLABEL ) )
- ,maIssuedToFI ( this, XMLSEC_RES( FI_ISSTO ) )
- ,maIssuedByLabelFI ( this, XMLSEC_RES( FI_ISSBYLABEL ) )
- ,maIssuedByFI ( this, XMLSEC_RES( FI_ISSBY ) )
- ,maValidDateFI ( this, XMLSEC_RES( FI_VALIDDATE ) )
- ,maKeyImg ( this, XMLSEC_RES( IMG_KEY ) )
- ,maHintCorrespPrivKeyFI ( this, XMLSEC_RES( FI_CORRPRIVKEY ) )
-{
- //Verify the certificate
- sal_Int32 certStatus = mpDlg->mxSecurityEnvironment->verifyCertificate(mpDlg->mxCert,
- Sequence<Reference<css::security::XCertificate> >());
-
- bool bCertValid = certStatus == css::security::CertificateValidity::VALID ? true : false;
-
- if ( !bCertValid )
- {
- maCertImg.SetImage(
- Image( XMLSEC_RES( IMG_STATE_NOT_VALIDATED ) ) );
- maHintNotTrustedFI.SetText( String( XMLSEC_RES( STR_CERTIFICATE_NOT_VALIDATED ) ) );
- }
-
- FreeResource();
-
- Wallpaper aBack( GetSettings().GetStyleSettings().GetWindowColor() );
- maFrameWin.SetBackground( aBack );
- maCertImg.SetBackground( aBack );
- maCertInfoFI.SetBackground( aBack );
- maSep1FL.SetBackground( aBack );
- maHintNotTrustedFI.SetBackground( aBack );
- maSep2FL.SetBackground( aBack );
- maIssuedToLabelFI.SetBackground( aBack );
- maIssuedToFI.SetBackground( aBack );
- maIssuedByLabelFI.SetBackground( aBack );
- maIssuedByFI.SetBackground( aBack );
- maValidDateFI.SetBackground( aBack );
- maKeyImg.SetBackground( aBack );
- maHintCorrespPrivKeyFI.SetBackground( aBack );
-
- // make some bold
- Font aFnt( maCertInfoFI.GetFont() );
- aFnt.SetWeight( WEIGHT_BOLD );
- maCertInfoFI.SetFont( aFnt );
- maHintNotTrustedFI.SetFont( aFnt );
- maIssuedToLabelFI.SetFont( aFnt );
- maIssuedByLabelFI.SetFont( aFnt );
- maValidDateFI.SetFont( aFnt );
-
- // insert data
- cssu::Reference< dcss::security::XCertificate > xCert = mpDlg->mxCert;
-
- maIssuedToFI.SetText( XmlSec::GetContentPart( xCert->getSubjectName() ) );
- maIssuedByFI.SetText( XmlSec::GetContentPart( xCert->getIssuerName() ) );
-
- // dynamic length because of the different languages
- long nWidth1 = maIssuedToLabelFI.GetTextWidth( maIssuedToLabelFI.GetText() );
- long nWidth2 = maIssuedByLabelFI.GetTextWidth( maIssuedByLabelFI.GetText() );
- long nNewWidth = Max( nWidth1, nWidth2 ) + 5;
- Size aNewSize = maIssuedToLabelFI.GetSizePixel();
- aNewSize.Width() = nNewWidth;
- maIssuedToLabelFI.SetSizePixel( aNewSize );
- maIssuedByLabelFI.SetSizePixel( aNewSize );
- long nNewX = maIssuedToLabelFI.GetPosPixel().X() + nNewWidth + 1;
- Point aNewPos = maIssuedToFI.GetPosPixel();
- aNewPos.X() = nNewX;
- maIssuedToFI.SetPosPixel( aNewPos );
- aNewPos = maIssuedByFI.GetPosPixel();
- aNewPos.X() = nNewX;
- maIssuedByFI.SetPosPixel( aNewPos );
- nNewWidth = maValidDateFI.GetSizePixel().Width() - nNewX;
- aNewSize = maIssuedToFI.GetSizePixel();
- aNewSize.Width() = nNewWidth;
- maIssuedToFI.SetSizePixel( aNewSize );
- maIssuedByFI.SetSizePixel( aNewSize );
-
- DateTime aDateTimeStart;
- DateTime aDateTimeEnd;
- utl::typeConvert( xCert->getNotValidBefore(), aDateTimeStart );
- utl::typeConvert( xCert->getNotValidAfter(), aDateTimeEnd );
- String sText = maValidDateFI.GetText();
- sText.SearchAndReplace( String::CreateFromAscii( "%SDATE%" ),
- GetSettings().GetUILocaleDataWrapper().getDate( aDateTimeStart.GetDate() ) );
- sText.SearchAndReplace( String::CreateFromAscii( "%EDATE%" ),
- GetSettings().GetUILocaleDataWrapper().getDate( aDateTimeEnd.GetDate() ) );
- maValidDateFI.SetText( sText );
-
- // adjust position of fixed text depending on image sizes
- ShrinkToFit( maCertImg );
- ShrinkToFit( maKeyImg );
- XmlSec::AlignAfterImage( maCertImg, maCertInfoFI, 12 );
- XmlSec::AlignAfterImage( maKeyImg, maHintCorrespPrivKeyFI, 12 );
-
- // Check if we have the private key...
- sal_Bool bHasPrivateKey = sal_False;
- // #i41270# Check only if we have that certificate in our security environment
- if ( _pDlg->mbCheckForPrivateKey )
- {
- long nCertificateCharacters = _pDlg->mxSecurityEnvironment->getCertificateCharacters( xCert );
- bHasPrivateKey = ( nCertificateCharacters & security::CertificateCharacters::HAS_PRIVATE_KEY ) ? sal_True : sal_False;
- }
- if ( !bHasPrivateKey )
- {
- maKeyImg.Hide();
- maHintCorrespPrivKeyFI.Hide();
- }
-}
-
-void CertificateViewerGeneralTP::ActivatePage()
-{
-
-}
-
-
-struct Details_UserDatat
-{
- String maTxt;
- bool mbFixedWidthFont;
-
- inline Details_UserDatat( const String& _rTxt, bool _bFixedWidthFont );
-};
-
-inline Details_UserDatat::Details_UserDatat( const String& _rTxt, bool _bFixedWidthFont )
- :maTxt ( _rTxt )
- ,mbFixedWidthFont ( _bFixedWidthFont )
-{
-}
-
-
-void CertificateViewerDetailsTP::Clear( void )
-{
- maElementML.SetText( String() );
- sal_uLong i = 0;
- SvLBoxEntry* pEntry = maElementsLB.GetEntry( i );
- while( pEntry )
- {
- delete ( Details_UserDatat* ) pEntry->GetUserData();
- ++i;
- pEntry = maElementsLB.GetEntry( i );
- }
-
- maElementsLB.Clear();
-}
-
-void CertificateViewerDetailsTP::InsertElement( const String& _rField, const String& _rValue,
- const String& _rDetails, bool _bFixedWidthFont )
-{
- SvLBoxEntry* pEntry = maElementsLB.InsertEntry( _rField );
- maElementsLB.SetEntryText( _rValue, pEntry, 1 );
- pEntry->SetUserData( ( void* ) new Details_UserDatat( _rDetails, _bFixedWidthFont ) );
-}
-
-CertificateViewerDetailsTP::CertificateViewerDetailsTP( Window* _pParent, CertificateViewer* _pDlg )
- :CertificateViewerTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_DETAILS ), _pDlg )
- ,m_aElementsLBContainer(this, XMLSEC_RES(LB_ELEMENTS))
- ,maElementsLB(m_aElementsLBContainer)
- ,maElementML ( this, XMLSEC_RES( ML_ELEMENT ) )
- ,maStdFont ( maElementML.GetControlFont() )
- ,maFixedWidthFont ( OutputDevice::GetDefaultFont( DEFAULTFONT_UI_FIXED, LANGUAGE_DONTKNOW, DEFAULTFONT_FLAGS_ONLYONE, this ) )
-{
- WinBits nStyle = maElementsLB.GetStyle();
- nStyle &= ~WB_HSCROLL;
- maElementsLB.SetStyle( nStyle );
-
- maFixedWidthFont.SetHeight( maStdFont.GetHeight() );
-
- static long nTabs[] = { 2, 0, 30*CS_LB_WIDTH/100 };
- maElementsLB.SetTabs( &nTabs[ 0 ] );
- maElementsLB.InsertHeaderEntry( String( XMLSEC_RES( STR_HEADERBAR ) ) );
-
- // fill list box
- Reference< security::XCertificate > xCert = mpDlg->mxCert;
- sal_uInt16 nLineBreak = 16;
- const char* pHexSep = " ";
- String aLBEntry;
- String aDetails;
- // Certificate Versions are reported wrong (#i35107#) - 0 == "V1", 1 == "V2", ..., n = "V(n+1)"
- aLBEntry = String::CreateFromAscii( "V" );
- aLBEntry += String::CreateFromInt32( xCert->getVersion() + 1 );
- InsertElement( String( XMLSEC_RES( STR_VERSION ) ), aLBEntry, aLBEntry );
- Sequence< sal_Int8 > aSeq = xCert->getSerialNumber();
- aLBEntry = XmlSec::GetHexString( aSeq, pHexSep );
- aDetails = XmlSec::GetHexString( aSeq, pHexSep, nLineBreak );
- InsertElement( String( XMLSEC_RES( STR_SERIALNUM ) ), aLBEntry, aDetails, true );
-
- std::pair< ::rtl::OUString, ::rtl::OUString> pairIssuer =
- XmlSec::GetDNForCertDetailsView(xCert->getIssuerName());
- aLBEntry = pairIssuer.first;
- aDetails = pairIssuer.second;
- InsertElement( String( XMLSEC_RES( STR_ISSUER ) ), aLBEntry, aDetails );
-
- DateTime aDateTime;
- utl::typeConvert( xCert->getNotValidBefore(), aDateTime );
- aLBEntry = GetSettings().GetUILocaleDataWrapper().getDate( aDateTime.GetDate() );
- aLBEntry += String::CreateFromAscii( " " );
- aLBEntry += GetSettings().GetUILocaleDataWrapper().getTime( aDateTime.GetTime() );
- InsertElement( String( XMLSEC_RES( STR_VALIDFROM ) ), aLBEntry, aLBEntry );
- utl::typeConvert( xCert->getNotValidAfter(), aDateTime );
- aLBEntry = GetSettings().GetUILocaleDataWrapper().getDate( aDateTime.GetDate() );
- aLBEntry += String::CreateFromAscii( " " );
- aLBEntry += GetSettings().GetUILocaleDataWrapper().getTime( aDateTime.GetTime() );
- InsertElement( String( XMLSEC_RES( STR_VALIDTO ) ), aLBEntry, aLBEntry );
-
- std::pair< ::rtl::OUString, ::rtl::OUString > pairSubject =
- XmlSec::GetDNForCertDetailsView(xCert->getSubjectName());
- aLBEntry = pairSubject.first;
- aDetails = pairSubject.second;
- InsertElement( String( XMLSEC_RES( STR_SUBJECT ) ), aLBEntry, aDetails );
-
- aLBEntry = aDetails = xCert->getSubjectPublicKeyAlgorithm();
- InsertElement( String( XMLSEC_RES( STR_SUBJECT_PUBKEY_ALGO ) ), aLBEntry, aDetails );
- aSeq = xCert->getSubjectPublicKeyValue();
- aLBEntry = XmlSec::GetHexString( aSeq, pHexSep );
- aDetails = XmlSec::GetHexString( aSeq, pHexSep, nLineBreak );
- InsertElement( String( XMLSEC_RES( STR_SUBJECT_PUBKEY_VAL ) ), aLBEntry, aDetails, true );
-
- aLBEntry = aDetails = xCert->getSignatureAlgorithm();
- InsertElement( String( XMLSEC_RES( STR_SIGNATURE_ALGO ) ), aLBEntry, aDetails );
-
- aSeq = xCert->getSHA1Thumbprint();
- aLBEntry = XmlSec::GetHexString( aSeq, pHexSep );
- aDetails = XmlSec::GetHexString( aSeq, pHexSep, nLineBreak );
- InsertElement( String( XMLSEC_RES( STR_THUMBPRINT_SHA1 ) ), aLBEntry, aDetails, true );
-
- aSeq = xCert->getMD5Thumbprint();
- aLBEntry = XmlSec::GetHexString( aSeq, pHexSep );
- aDetails = XmlSec::GetHexString( aSeq, pHexSep, nLineBreak );
- InsertElement( String( XMLSEC_RES( STR_THUMBPRINT_MD5 ) ), aLBEntry, aDetails, true );
-
- FreeResource();
-
- maElementsLB.SetSelectHdl( LINK( this, CertificateViewerDetailsTP, ElementSelectHdl ) );
-}
-
-CertificateViewerDetailsTP::~CertificateViewerDetailsTP()
-{
- Clear();
-}
-
-void CertificateViewerDetailsTP::ActivatePage()
-{
-}
-
-IMPL_LINK( CertificateViewerDetailsTP, ElementSelectHdl, void*, EMPTYARG )
-{
- SvLBoxEntry* pEntry = maElementsLB.FirstSelected();
- String aElementText;
- bool bFixedWidthFont;
- if( pEntry )
- {
- const Details_UserDatat* p = ( Details_UserDatat* ) pEntry->GetUserData();
- aElementText = p->maTxt;
- bFixedWidthFont = p->mbFixedWidthFont;
- }
- else
- bFixedWidthFont = false;
-
- maElementML.SetFont( bFixedWidthFont? maFixedWidthFont : maStdFont );
- maElementML.SetControlFont( bFixedWidthFont? maFixedWidthFont : maStdFont );
- maElementML.SetText( aElementText );
-
- return 0;
-}
-
-struct CertPath_UserData
-{
- cssu::Reference< dcss::security::XCertificate > mxCert;
- String maStatus;
- bool mbValid;
-
- CertPath_UserData( cssu::Reference< dcss::security::XCertificate > xCert, bool bValid):
- mxCert(xCert),
- mbValid(bValid)
- {
- }
-};
-
-
-CertificateViewerCertPathTP::CertificateViewerCertPathTP( Window* _pParent, CertificateViewer* _pDlg )
- :CertificateViewerTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_CERTPATH ), _pDlg )
- ,maCertPathFT ( this, XMLSEC_RES( FT_CERTPATH ) )
- ,maCertPathLB ( this, XMLSEC_RES( LB_SIGNATURES ) )
- ,maViewCertPB ( this, XMLSEC_RES( BTN_VIEWCERT ) )
- ,maCertStatusFT ( this, XMLSEC_RES( FT_CERTSTATUS ) )
- ,maCertStatusML ( this, XMLSEC_RES( ML_CERTSTATUS ) )
- ,mpParent ( _pDlg )
- ,mbFirstActivateDone ( false )
- ,maCertImage ( XMLSEC_RES( IMG_CERT_SMALL ) )
- ,maCertNotValidatedImage( XMLSEC_RES( IMG_CERT_NOTVALIDATED_SMALL ) )
- ,msCertOK ( XMLSEC_RES( STR_PATH_CERT_OK ) )
- ,msCertNotValidated ( XMLSEC_RES( STR_PATH_CERT_NOT_VALIDATED ) )
-
-{
- FreeResource();
-
- maCertPathLB.SetNodeDefaultImages();
- maCertPathLB.SetSublistOpenWithLeftRight();
- maCertPathLB.SetSelectHdl( LINK( this, CertificateViewerCertPathTP, CertSelectHdl ) );
- maViewCertPB.SetClickHdl( LINK( this, CertificateViewerCertPathTP, ViewCertHdl ) );
-
- // check if buttontext is to wide
- const long nOffset = 10;
- String sText = maViewCertPB.GetText();
- long nTxtW = maViewCertPB.GetTextWidth( sText );
- if ( sText.Search( '~' ) == STRING_NOTFOUND )
- nTxtW += nOffset;
- long nBtnW = maViewCertPB.GetSizePixel().Width();
- if ( nTxtW > nBtnW )
- {
- // broaden the button
- long nDelta = nTxtW - nBtnW;
- Size aNewSize = maViewCertPB.GetSizePixel();
- aNewSize.Width() += nDelta;
- maViewCertPB.SetSizePixel( aNewSize );
- // and give it a new position
- Point aNewPos = maViewCertPB.GetPosPixel();
- aNewPos.X() -= nDelta;
- maViewCertPB.SetPosPixel( aNewPos );
- }
-}
-
-CertificateViewerCertPathTP::~CertificateViewerCertPathTP()
-{
- Clear();
-}
-
-void CertificateViewerCertPathTP::ActivatePage()
-{
- if ( !mbFirstActivateDone )
- {
- mbFirstActivateDone = true;
- Sequence< Reference< security::XCertificate > > aCertPath =
- mpParent->mxSecurityEnvironment->buildCertificatePath( mpParent->mxCert );
- const Reference< security::XCertificate >* pCertPath = aCertPath.getConstArray();
-
- String aState;
- sal_Int32 i, nCnt = aCertPath.getLength();
- SvLBoxEntry* pParent = NULL;
- for( i = nCnt; i; )
- {
- const Reference< security::XCertificate > rCert = pCertPath[ --i ];
- String sName = XmlSec::GetContentPart( rCert->getSubjectName() );
- //Verify the certificate
- sal_Int32 certStatus = mpDlg->mxSecurityEnvironment->verifyCertificate(rCert,
- Sequence<Reference<css::security::XCertificate> >());
- bool bCertValid = certStatus == css::security::CertificateValidity::VALID ? true : false;
- pParent = InsertCert( pParent, sName, rCert, bCertValid);
- }
-
- maCertPathLB.Select( pParent );
- maViewCertPB.Disable(); // Own certificate selected
-
- while( pParent )
- {
- maCertPathLB.Expand( pParent );
- pParent = maCertPathLB.GetParent( pParent );
- }
-
- CertSelectHdl( NULL );
- }
-}
-
-IMPL_LINK( CertificateViewerCertPathTP, ViewCertHdl, void*, EMPTYARG )
-{
- SvLBoxEntry* pEntry = maCertPathLB.FirstSelected();
- if( pEntry )
- {
- CertificateViewer aViewer( this, mpDlg->mxSecurityEnvironment, ((CertPath_UserData*)pEntry->GetUserData())->mxCert, sal_False );
- aViewer.Execute();
- }
-
- return 0;
-}
-
-IMPL_LINK( CertificateViewerCertPathTP, CertSelectHdl, void*, EMPTYARG )
-{
- String sStatus;
- SvLBoxEntry* pEntry = maCertPathLB.FirstSelected();
- if( pEntry )
- {
- CertPath_UserData* pData = (CertPath_UserData*) pEntry->GetUserData();
- if ( pData )
- sStatus = pData->mbValid ? msCertOK : msCertNotValidated;
- }
-
- maCertStatusML.SetText( sStatus );
- maViewCertPB.Enable( pEntry && ( pEntry != maCertPathLB.Last() ) );
- return 0;
-}
-
-void CertificateViewerCertPathTP::Clear( void )
-{
- maCertStatusML.SetText( String() );
- sal_uLong i = 0;
- SvLBoxEntry* pEntry = maCertPathLB.GetEntry( i );
- while( pEntry )
- {
- delete ( CertPath_UserData* ) pEntry->GetUserData();
- ++i;
- pEntry = maCertPathLB.GetEntry( i );
- }
-
- maCertPathLB.Clear();
-}
-
-SvLBoxEntry* CertificateViewerCertPathTP::InsertCert(
- SvLBoxEntry* _pParent, const String& _rName, cssu::Reference< dcss::security::XCertificate > rxCert,
- bool bValid)
-{
- Image aImage = bValid ? maCertImage : maCertNotValidatedImage;
- SvLBoxEntry* pEntry = maCertPathLB.InsertEntry( _rName, aImage, aImage, _pParent );
- pEntry->SetUserData( ( void* ) new CertPath_UserData( rxCert, bValid ) );
-
- return pEntry;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/certificateviewer.src b/xmlsecurity/source/dialogs/certificateviewer.src
deleted file mode 100644
index 3f9095be3..000000000
--- a/xmlsecurity/source/dialogs/certificateviewer.src
+++ /dev/null
@@ -1,325 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-#include "dialogs.hrc"
-#include "helpids.hrc"
-
-TabDialog RID_XMLSECDLG_CERTVIEWER
-{
- HelpID = HID_XMLSEC_DLG_CERTVIEWER;
- Size = MAP_APPFONT( TD_WIDTH, TD_HEIGHT );
- OutputSize = TRUE;
- Closeable = TRUE;
- Moveable = TRUE;
- SVLook = TRUE;
-
- Text [ en-US ] = "View Certificate";
- TabControl 1
- {
- Pos = MAP_APPFONT( TD_SP_INNERBORDER_LEFT, TD_SP_INNERBORDER_TOP );
- Size = MAP_APPFONT( TP_WIDTH, TP_HEIGHT+RIDDER_HEIGHT );
- SVLook = TRUE ;
- PageList =
- {
- PageItem
- {
- Identifier = RID_XMLSECTP_GENERAL;
- Text [ en-US ] = "General";
- };
- PageItem
- {
- Identifier = RID_XMLSECTP_DETAILS;
- Text [ en-US ] = "Details";
- };
- PageItem
- {
- Identifier = RID_XMLSECTP_CERTPATH;
- Text [ en-US ] = "Certification Path";
- };
- };
- };
- OKButton BTN_OK
- {
- Pos = MAP_APPFONT( CV_COL_A, CV_ROW_A );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- DefButton = TRUE;
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT( CV_COL_C, CV_ROW_A );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- };
-};
-
-TabPage RID_XMLSECTP_GENERAL
-{
- HelpId = HID_XMLSEC_TP_GENERAL;
- Size = MAP_APPFONT( TP_WIDTH, TP_HEIGHT );
- OutputSize = TRUE;
- Hide = TRUE;
- SVLook = TRUE;
- Window WIN_FRAME
- {
- SVLook = TRUE;
- Border = TRUE;
- Pos = MAP_APPFONT( CV_COL_0, CV_ROW_0 );
- Size = MAP_APPFONT( CV_CONT_WIDTH, CV_CONT_HEIGHT );
- };
- FixedImage IMG_CERT
- {
- Pos = MAP_APPFONT( CW_COL_0, CW_ROW_0 );
- Size = MAP_APPFONT( IMG1_WIDTH, IMG1_HEIGHT );
- Fixed = Image
- {
- ImageBitmap = Bitmap { File = "certificate_40x56.png"; };
- MaskColor = STD_MASKCOLOR;
- };
- };
- FixedText FI_CERTINFO
- {
- Pos = MAP_APPFONT( CW_COL_3, CW_ROW_1 );
- Size = MAP_APPFONT( CW_COL_5-CW_COL_3, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = " Certificate Information";
- };
- FixedLine FL_SEP1
- {
- Pos = MAP_APPFONT( CW_COL_0, CW_ROW_3 );
- Size = MAP_APPFONT( CW_COL_5-CW_COL_0, RSC_CD_FIXEDLINE_HEIGHT );
- };
- FixedText FI_HINTNOTTRUST
- {
- Pos = MAP_APPFONT( CW_COL_1, CW_ROW_4 );
- Size = MAP_APPFONT( CW_COL_5a-CW_COL_1, CW_ROW_4a-CW_ROW_4 );
- WordBreak = TRUE;
- Text [ en-US ] = "This certificate is intended for the following purpose(s):";
- };
- FixedLine FL_SEP2
- {
- Pos = MAP_APPFONT( CW_COL_0, CW_ROW_5 );
- Size = MAP_APPFONT( CW_COL_5-CW_COL_0, RSC_CD_FIXEDLINE_HEIGHT );
- };
- FixedText FI_ISSTOLABEL
- {
- Pos = MAP_APPFONT( CW_COL_1, CW_ROW_6 );
- Size = MAP_APPFONT( CW_COL_4-CW_COL_1-1, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = "Issued to:";
- };
- FixedText FI_ISSTO
- {
- Pos = MAP_APPFONT( CW_COL_4, CW_ROW_6 );
- Size = MAP_APPFONT( CW_COL_5-CW_COL_4, RSC_CD_FIXEDTEXT_HEIGHT );
- };
- FixedText FI_ISSBYLABEL
- {
- Pos = MAP_APPFONT( CW_COL_1, CW_ROW_7 );
- Size = MAP_APPFONT( CW_COL_4-CW_COL_1-1, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = "Issued by:";
- };
- FixedText FI_ISSBY
- {
- Pos = MAP_APPFONT( CW_COL_4, CW_ROW_7 );
- Size = MAP_APPFONT( CW_COL_5-CW_COL_4, RSC_CD_FIXEDTEXT_HEIGHT );
- };
- FixedText FI_VALIDDATE
- {
- Pos = MAP_APPFONT( CW_COL_1, CW_ROW_8 );
- Size = MAP_APPFONT( CW_COL_5-CW_COL_1-1, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = "Valid from %SDATE% to %EDATE%";
- };
- FixedImage IMG_KEY
- {
- Pos = MAP_APPFONT( CW_COL_0, CW_ROW_9 );
- Size = MAP_APPFONT( IMG2_WIDTH, IMG2_HEIGHT );
- Fixed = Image
- {
- ImageBitmap = Bitmap { File = "key_12.png"; };
- MaskColor = STD_MASKCOLOR;
- };
- };
- FixedText FI_CORRPRIVKEY
- {
- Pos = MAP_APPFONT( CW_COL_1a, CW_ROW_10 );
- Size = MAP_APPFONT( CW_COL_5-CW_COL_1a, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = "You have a private key that corresponds to this certificate.";
- };
- String STR_CERTIFICATE_NOT_VALIDATED
- {
- Text [ en-US ] = "The certificate could not be validated.";
- };
- Image IMG_STATE_NOT_VALIDATED
- {
- ImageBitmap = Bitmap { File = "notcertificate_40x56.png"; };
- MaskColor = STD_MASKCOLOR;
- };
-};
-
-TabPage RID_XMLSECTP_DETAILS
-{
- HelpId = HID_XMLSEC_TP_DETAILS;
- Size = MAP_APPFONT( TP_WIDTH, TP_HEIGHT );
- OutputSize = TRUE;
- Hide = TRUE;
- SVLook = TRUE;
- Control LB_ELEMENTS
- {
- HelpId = HID_XMLSEC_CTRL_ELEMENTS;
- Pos = MAP_APPFONT( CV_COL_0, CV_ROW_0 );
- Size = MAP_APPFONT( CV_CONT_WIDTH, CV_ROW_1-CV_ROW_0 );
- SVLook = TRUE;
- Border = TRUE;
- };
- String STR_HEADERBAR
- {
- Text [ en-US ] = "Field\tValue";
- };
- MultiLineEdit ML_ELEMENT
- {
- HelpID = "xmlsecurity:MultiLineEdit:RID_XMLSECTP_DETAILS:ML_ELEMENT";
- Pos = MAP_APPFONT( CV_COL_0, CV_ROW_2 );
- Size = MAP_APPFONT( CV_CONT_WIDTH, CV_ROW_3-CV_ROW_2 );
- ReadOnly = TRUE;
- Border = TRUE;
- VSCROLL = TRUE;
- };
- String STR_VERSION
- {
- Text [ en-US ] = "Version";
- };
- String STR_SERIALNUM
- {
- Text [ en-US ] = "Serial Number";
- };
- String STR_SIGALGORITHM
- {
- Text [ en-US ] = "Signature Algorithm";
- };
- String STR_ISSUER
- {
- Text [ en-US ] = "Issuer";
- };
- String STR_ISSUER_ID
- {
- Text [ en-US ] = "Issuer Unique ID";
- };
- String STR_VALIDFROM
- {
- Text [ en-US ] = "Valid From";
- };
- String STR_VALIDTO
- {
- Text [ en-US ] = "Valid to";
- };
- String STR_SUBJECT
- {
- Text [ en-US ] = "Subject";
- };
- String STR_SUBJECT_ID
- {
- Text [ en-US ] = "Subject Unique ID";
- };
- String STR_SUBJECT_PUBKEY_ALGO
- {
- Text [ en-US ] = "Subject Algorithm";
- };
- String STR_SUBJECT_PUBKEY_VAL
- {
- Text [ en-US ] = "Public Key";
- };
- String STR_SIGNATURE_ALGO
- {
- Text [ en-US ] = "Signature Algorithm";
- };
- String STR_THUMBPRINT_SHA1
- {
- Text [ en-US ] = "Thumbprint SHA1";
- };
- String STR_THUMBPRINT_MD5
- {
- Text [ en-US ] = "Thumbprint MD5";
- };
-};
-
-TabPage RID_XMLSECTP_CERTPATH
-{
- HelpId = HID_XMLSEC_TP_CERTPATH;
- Size = MAP_APPFONT( TP_WIDTH, TP_HEIGHT );
- OutputSize = TRUE;
- Hide = TRUE;
- SVLook = TRUE;
- FixedText FT_CERTPATH
- {
- Pos = MAP_APPFONT( CV_COL_0, CVP_ROW_0 );
- Size = MAP_APPFONT( CV_CONT_WIDTH, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = "Certification path";
- };
- Control LB_SIGNATURES
- {
- HelpId = HID_XMLSEC_CTRL_VIEWSIGNATURES;
- Pos = MAP_APPFONT( CV_COL_0, CVP_ROW_1 );
- Size = MAP_APPFONT( CV_CONT_WIDTH, REST_HEIGHT/3*2 );
- SVLook = TRUE;
- Border = TRUE;
- };
- PushButton BTN_VIEWCERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_CERTPATH:BTN_VIEWCERT";
- Pos = MAP_APPFONT( CV_COL_1-(CV_COL_B-CV_COL_A), CVP_ROW_2 );
- Size = MAP_APPFONT( CV_COL_B-CV_COL_A, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "View Certificate...";
- };
- FixedText FT_CERTSTATUS
- {
- Pos = MAP_APPFONT( CV_COL_0, CVP_ROW_3 );
- Size = MAP_APPFONT( CV_CONT_WIDTH, RSC_CD_FIXEDTEXT_HEIGHT );
- Text [ en-US ] = "Certification status";
- };
- MultiLineEdit ML_CERTSTATUS
- {
- HelpID = "xmlsecurity:MultiLineEdit:RID_XMLSECTP_CERTPATH:ML_CERTSTATUS";
- Pos = MAP_APPFONT( CV_COL_0, CVP_ROW_4 );
- Size = MAP_APPFONT( CV_CONT_WIDTH, REST_HEIGHT/3 );
- ReadOnly = TRUE;
- Border = TRUE;
- };
- Image IMG_CERT_SMALL
- {
- ImageBitmap = Bitmap { File = "certificate_16.png"; };
- MaskColor = STD_MASKCOLOR;
- };
- Image IMG_CERT_NOTVALIDATED_SMALL
- {
- ImageBitmap = Bitmap { File = "notcertificate_16.png"; };
- MaskColor = STD_MASKCOLOR;
- };
- String STR_PATH_CERT_OK
- {
- Text [ en-US ] = "The certificate is OK.";
- };
- String STR_PATH_CERT_NOT_VALIDATED
- {
- Text [ en-US ] = "The certificate could not be validated.";
- };
-};
diff --git a/xmlsecurity/source/dialogs/dialogs.hrc b/xmlsecurity/source/dialogs/dialogs.hrc
deleted file mode 100644
index a7c547d1e..000000000
--- a/xmlsecurity/source/dialogs/dialogs.hrc
+++ /dev/null
@@ -1,344 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#ifndef _DIALOGS_HRC
-#define _DIALOGS_HRC
-
-#include <svtools/controldims.hrc>
-#include <xmlsecurity/global.hrc>
-
-#define STD_MASKCOLOR Color{Red=0xffff;Green=0x0000;Blue=0xffff;}
-
-#define FL_BOTTOM_SEP 50
-#define BTN_OK 51
-#define BTN_CANCEL 52
-#define BTN_HELP 53
-#define LB_SIGNATURES 54
-#define BTN_VIEWCERT 55
-#define STR_HEADERBAR 56
-#define BTN_RESET 57
-#define STR_VALID_SIGNATURE 58
-#define STR_NO_INFO_TO_VERIFY 59
-#define STR_INVALID_SIGNATURE 60
-
-// --------- general metrics ---------
-#define DLGS_WIDTH 287
-#define DLGS_HEIGHT 195
-// --------- ... for tab dialogs -----
-#define TP_WIDTH 260
-#define TP_HEIGHT 185
-#define RIDDER_HEIGHT (RSC_CD_PUSHBUTTON_HEIGHT)
-#define TD_SP_INNERBORDER_LEFT 3
-#define TD_SP_INNERBORDER_RIGHT 3
-#define TD_SP_INNERBORDER_TOP 3
-#define TD_SP_INNERBORDER_BOTTOM 3
-#define TD_WIDTH (TP_WIDTH+RSC_SP_DLG_INNERBORDER_LEFT+RSC_SP_DLG_INNERBORDER_RIGHT)
-#define TD_HEIGHT (TP_HEIGHT+TD_SP_INNERBORDER_TOP+2*TD_SP_INNERBORDER_BOTTOM+RSC_CD_PUSHBUTTON_HEIGHT+RIDDER_HEIGHT)
-
-#define SEP_FL_SPACE_Y 6
-#define SEP_FL_ADJ_Y(val) (val-3)
-#define DLGS_BOTTOM_BTN_L(dlgh) (dlgh-RSC_SP_DLG_INNERBORDER_BOTTOM)
-#define DLGS_BOTTOM_BTN_Y(dlgh) (DLGS_BOTTOM_BTN_L(dlgh)-RSC_CD_PUSHBUTTON_HEIGHT)
-#define DLGS_BOTTOM_FL_Y(dlgh) (DLGS_BOTTOM_BTN_Y(dlgh)-SEP_FL_SPACE_Y-5)
-#define DLGS_BOTTOM_LAST_CTRL_L(dlgh) (DLGS_BOTTOM_BTN_Y(dlgh)-2*SEP_FL_SPACE_Y-3)
-#define DLGS_BOTTOM_HELP_X(dlgw) (dlgw-RSC_SP_DLG_INNERBORDER_RIGHT-RSC_CD_PUSHBUTTON_WIDTH)
-#define DLGS_BOTTOM_CANCEL_X(dlgw) (DLGS_BOTTOM_HELP_X(dlgw)-RSC_SP_CTRL_X-RSC_CD_PUSHBUTTON_WIDTH)
-#define DLGS_BOTTOM_OK_X(dlgw) (DLGS_BOTTOM_CANCEL_X(dlgw)-RSC_SP_CTRL_DESC_X-RSC_CD_PUSHBUTTON_WIDTH)
-
-
-// --------- dialog Digital Signatures ---------
-#define BTN_ADDCERT 2
-#define BTN_REMOVECERT 3
-#define FT_HINT_DOC 4
-#define FT_HINT_BASIC 5
-#define FT_HINT_PACK 6
-#define IMG_STATE_VALID 7
-#define FI_STATE_VALID 8
-#define IMG_STATE_BROKEN 9
-#define FI_STATE_BROKEN 10
-#define IMG_STATE_NOTVALIDATED 11
-#define FI_STATE_NOTVALIDATED 12
-#define FI_STATE_OLDSIGNATURE 16
-
-#define DS_BTNWIDTH_1 70
-#define DS_BTNSPACE_X RSC_SP_CTRL_X
-#define DS_WIDTH (RSC_SP_DLG_INNERBORDER_LEFT+RSC_SP_DLG_INNERBORDER_RIGHT+2*DS_BTNSPACE_X+3*DS_BTNWIDTH_1)
-#define DS_HEIGHT (DLGS_WIDTH*2/3)
-
-#define DS_COL_0 RSC_SP_DLG_INNERBORDER_LEFT
-
-#define DS_COL_1 DS_COL_0
-#define DS_COL_2 (DS_COL_1+DS_BTNWIDTH_1)
-#define DS_COL_3 (DS_COL_2+DS_BTNSPACE_X)
-#define DS_COL_4 (DS_COL_3+DS_BTNWIDTH_1)
-#define DS_COL_5 (DS_COL_4+DS_BTNSPACE_X)
-
-#define DS_COL_7 (DS_WIDTH-RSC_SP_DLG_INNERBORDER_RIGHT)
-#define DS_COL_6 DS_COL_7
-
-#define DS_ROW_0 RSC_SP_DLG_INNERBORDER_TOP
-#define DS_ROW_1 (DS_ROW_0+RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_DESC_X)
-#define DS_ROW_7 DLGS_BOTTOM_BTN_L(DS_HEIGHT)
-#define DS_ROW_6 DLGS_BOTTOM_BTN_Y(DS_HEIGHT)
-#define DS_ROW_5 DLGS_BOTTOM_FL_Y(DS_HEIGHT)
-#define DS_ROW_4 DLGS_BOTTOM_LAST_CTRL_L(DS_HEIGHT)
-#define DS_ROW_3 (DS_ROW_4-RSC_CD_PUSHBUTTON_HEIGHT)
-#define DS_ROW_2A (DS_ROW_3-RSC_CD_FIXEDTEXT_HEIGHT-RSC_SP_CTRL_Y)
-#define DS_ROW_2 (DS_ROW_2A-RSC_SP_CTRL_GROUP_Y)
-
-#define DS_LB_WIDTH (DS_COL_7-DS_COL_0)
-
-// --------- dialog Ceritficate chooser ---------
-#define FT_HINT_SELECT 1
-
-#define CS_WIDTH DLGS_WIDTH
-#define CS_HEIGHT DLGS_HEIGHT
-#define CS_BTNWIDTH_1 DS_BTNWIDTH_1
-
-#define CS_COL_0 RSC_SP_DLG_INNERBORDER_LEFT
-#define CS_COL_2 (CS_WIDTH-RSC_SP_DLG_INNERBORDER_RIGHT)
-#define CS_COL_1 (CS_COL_2-CS_BTNWIDTH_1)
-
-#define CS_ROW_0 RSC_SP_DLG_INNERBORDER_TOP
-#define CS_ROW_1 (CS_ROW_0+RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_DESC_X)
-#define CS_ROW_4 DLGS_BOTTOM_LAST_CTRL_L(CS_HEIGHT)
-#define CS_ROW_3 (CS_ROW_4-RSC_CD_PUSHBUTTON_HEIGHT)
-#define CS_ROW_2 (CS_ROW_3-RSC_SP_CTRL_Y)
-
-#define CS_LB_WIDTH (CS_COL_2-CS_COL_0)
-
-// --------- tab dialog Certificate viewer ---------
-
-#define CV_COL_0 TD_SP_INNERBORDER_LEFT
-#define CV_COL_1 (TP_WIDTH-RSC_SP_TBPG_INNERBORDER_RIGHT)
-#define CV_ROW_0 RSC_SP_TBPG_INNERBORDER_TOP
-#define CV_ROW_3 (TP_HEIGHT-RSC_SP_TBPG_INNERBORDER_BOTTOM)
-#define CV_CONT_WIDTH (CV_COL_1-CV_COL_0)
-#define CV_CONT_HEIGHT (CV_ROW_3-CV_ROW_0)
-#define CV_ROW_1 (CV_ROW_0+2*CV_CONT_HEIGHT/3)
-#define CV_ROW_2 (CV_ROW_1+RSC_SP_CTRL_GROUP_Y)
-
-#define CV_COL_D (TD_WIDTH-TD_SP_INNERBORDER_RIGHT)
-#define CV_COL_C (CV_COL_D-RSC_CD_PUSHBUTTON_WIDTH)
-#define CV_COL_B (CV_COL_C-RSC_SP_CTRL_X)
-#define CV_COL_A (CV_COL_B-RSC_CD_PUSHBUTTON_WIDTH)
-
-#define CV_ROW_B (TD_HEIGHT-TD_SP_INNERBORDER_BOTTOM)
-#define CV_ROW_A (CV_ROW_B-RSC_CD_PUSHBUTTON_HEIGHT)
-
-// --------- tab page Certificate viewer - General ---------
-#define WIN_FRAME 2
-#define IMG_CERT 3
-#define FI_CERTINFO 4
-#define FL_SEP1 5
-#define FI_HINTNOTTRUST 6
-#define FL_SEP2 7
-#define FI_ISSTOLABEL 8
-#define FI_ISSTO 9
-#define FI_ISSBYLABEL 10
-#define FI_ISSBY 11
-#define FI_VALIDDATE 12
-#define IMG_KEY 13
-#define FI_CORRPRIVKEY 14
-#define STR_CERTIFICATE_NOT_VALIDATED 15
-#define IMG_STATE_NOT_VALIDATED 16
-
-#define IMG1_WIDTH 33
-#define IMG1_HEIGHT 22
-#define IMG2_WIDTH 20
-#define IMG2_HEIGHT 20
-#define DATE_WIDTH 30
-#define CW_COL_0 (CV_COL_0+RSC_SP_GRP_INNERBORDER_LEFT)
-#define CW_COL_1 (CW_COL_0+RSC_SP_FLGR_SPACE_X)
-#define CW_COL_1a (CW_COL_0+IMG2_WIDTH+1)
-#define CW_COL_2 (CW_COL_0+IMG1_WIDTH)
-#define CW_COL_3 (CW_COL_2+RSC_SP_CTRL_GROUP_X)
-#define CW_COL_4 (CW_COL_1+40)
-#define CW_COL_5 (CV_CONT_WIDTH-RSC_SP_GRP_INNERBORDER_RIGHT)
-#define CW_COL_5a (CW_COL_5-RSC_SP_GRP_INNERBORDER_RIGHT)
-#define CW_COL_4a (CW_COL_1+38)
-#define CW_COL_4b (CW_COL_4a+DATE_WIDTH)
-#define CW_COL_4c (CW_COL_4b+3)
-#define CW_COL_4d (CW_COL_4c+8)
-#define CW_COL_4e (CW_COL_4d+3)
-#define CW_ROW_0 (CV_ROW_0+RSC_SP_GRP_INNERBORDER_TOP)
-#define CW_ROW_1 (CW_ROW_0+RSC_SP_GRP_INNERBORDER_TOP)
-#define CW_ROW_2 (CW_ROW_0+IMG1_HEIGHT)
-#define CW_ROW_3 (CW_ROW_2+3)
-#define CW_ROW_4 (CW_ROW_3+RSC_SP_CTRL_Y+RSC_CD_FIXEDLINE_HEIGHT)
-#define CW_ROW_4a (CW_ROW_4+35)
-#define CW_ROW_5 (CW_ROW_4a+3)
-#define CW_ROW_6 (CW_ROW_5+RSC_SP_CTRL_Y+RSC_CD_FIXEDLINE_HEIGHT)
-#define CW_ROW_7 (CW_ROW_6+RSC_SP_CTRL_Y+RSC_CD_FIXEDTEXT_HEIGHT)
-#define CW_ROW_8 (CW_ROW_7+RSC_SP_CTRL_Y+RSC_CD_FIXEDTEXT_HEIGHT)
-#define CW_ROW_9 (CW_ROW_8+RSC_SP_CTRL_Y+RSC_CD_FIXEDTEXT_HEIGHT)
-#define CW_ROW_10 (CW_ROW_9+2)
-#define CW_ROW_11 (CW_ROW_9+IMG2_HEIGHT)
-
-// --------- tab page Certificate viewer - Details ---------
-
-#define LB_ELEMENTS 1
-#define ML_ELEMENT 2
-
-#define STR_VERSION 1
-#define STR_SERIALNUM 2
-#define STR_SIGALGORITHM 3
-#define STR_ISSUER 4
-#define STR_ISSUER_ID 5
-#define STR_VALIDFROM 6
-#define STR_VALIDTO 7
-#define STR_SUBJECT 8
-#define STR_SUBJECT_ID 9
-#define STR_SUBJECT_PUBKEY_ALGO 10
-#define STR_SUBJECT_PUBKEY_VAL 11
-#define STR_SIGNATURE_ALGO 12
-#define STR_THUMBPRINT_SHA1 13
-#define STR_THUMBPRINT_MD5 14
-
-// --------- tab page Certificate viewer - Certification Path ---------
-
-#define FT_CERTPATH 1
-#define FT_CERTSTATUS 2
-#define ML_CERTSTATUS 3
-#define IMG_CERT_SMALL 4
-#define IMG_CERT_NOTVALIDATED_SMALL 6
-#define STR_PATH_CERT_OK 8
-#define STR_PATH_CERT_NOT_VALIDATED 9
-
-#define CVP_ROW_0 RSC_SP_TBPG_INNERBORDER_TOP
-#define CVP_ROW_1 (CVP_ROW_0+RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_DESC_Y)
-#define REST_HEIGHT (TP_HEIGHT-CVP_ROW_1-2*RSC_SP_GRP_SPACE_Y-RSC_CD_FIXEDTEXT_HEIGHT-RSC_CD_PUSHBUTTON_HEIGHT)
-#define CVP_ROW_2 (CVP_ROW_1+REST_HEIGHT/3*2+RSC_SP_CTRL_DESC_Y)
-#define CVP_ROW_3 (CVP_ROW_2+RSC_CD_PUSHBUTTON_HEIGHT)
-#define CVP_ROW_4 (CVP_ROW_3+RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_DESC_Y)
-
-
-// --------- tab dialog macro security ---------
-
-#define MS_COL_A (TD_WIDTH-RSC_SP_DLG_INNERBORDER_LEFT)
-#define MS_COL_B (MS_COL_A-RSC_CD_PUSHBUTTON_WIDTH)
-#define MS_COL_C (MS_COL_B-RSC_SP_CTRL_X)
-#define MS_COL_D (MS_COL_C-RSC_CD_PUSHBUTTON_WIDTH)
-#define MS_COL_E (MS_COL_D-RSC_SP_CTRL_X)
-#define MS_COL_F (MS_COL_E-RSC_CD_PUSHBUTTON_WIDTH)
-#define MS_COL_G (MS_COL_F-RSC_SP_CTRL_X)
-#define MS_COL_H (MS_COL_G-RSC_CD_PUSHBUTTON_WIDTH)
-
-// --------- tab page security level ---------
-
-#define FL_SECLEVEL 1
-#define RB_VERYHIGH 2
-#define RB_HIGH 3
-#define RB_MEDIUM 4
-#define RB_LOW 5
-#define FI_SEC_READONLY 6
-
-#define RSC_BIG_RADIOBUTTON 40
-#define SL_RB_DIST_Y (RSC_SP_FLGR_SPACE_Y+RSC_BIG_RADIOBUTTON)
-#define SL_COL_0 RSC_SP_TBPG_INNERBORDER_LEFT
-#define SL_COL_1 (SL_COL_0+RSC_SP_FLGR_SPACE_X)
-#define SL_COL_3 (TP_WIDTH-RSC_SP_TBPG_INNERBORDER_RIGHT)
-#define SL_COL_2 ((SL_COL_3-SL_COL_1)*100/105)
-#define SL_ROW_0 RSC_SP_TBPG_INNERBORDER_TOP
-#define SL_ROW_1 (SL_ROW_0+SL_RB_DIST_Y)
-#define SL_ROW_2 (SL_ROW_1+SL_RB_DIST_Y)
-#define SL_ROW_3 (SL_ROW_2+SL_RB_DIST_Y)
-#define SL_ROW_4 (TP_HEIGHT-RSC_SP_TBPG_INNERBORDER_BOTTOM)
-
-// --------- tab page trusted sources ---------
-
-#define FL_TRUSTCERT 1
-#define LB_TRUSTCERT 2
-#define PB_ADD_TRUSTCERT 3
-#define PB_VIEW_TRUSTCERT 4
-#define PB_REMOVE_TRUSTCERT 5
-#define FL_TRUSTFILELOC 6
-#define FI_TRUSTFILELOC 7
-#define LB_TRUSTFILELOC 8
-#define FL_ADD_TRUSTFILELOC 9
-#define FL_REMOVE_TRUSTFILELOC 10
-#define FI_TRUSTCERT_RO 11
-#define FI_TRUSTFILE_RO 12
-
-#define TS_COL_0 RSC_SP_TBPG_INNERBORDER_LEFT
-#define TS_COL_1 (TS_COL_0+RSC_SP_FLGR_SPACE_X)
-#define TS_COL_8 (TP_WIDTH-RSC_SP_TBPG_INNERBORDER_RIGHT)
-#define TS_COL_7 (TS_COL_8-RSC_SP_FLGR_SPACE_X)
-#define TS_COL_6 (TS_COL_7-RSC_CD_PUSHBUTTON_WIDTH)
-#define TS_COL_5 (TS_COL_6-RSC_SP_CTRL_GROUP_X)
-#define TS_COL_4 (TS_COL_5-RSC_CD_PUSHBUTTON_WIDTH)
-#define TS_COL_3 (TS_COL_4-RSC_SP_CTRL_GROUP_X)
-#define TS_COL_2 (TS_COL_3-RSC_CD_PUSHBUTTON_WIDTH)
-
-#define RSC_CD_TABLISTBOX_HEIGHT 6*RSC_BS_CHARHEIGHT
-#define TS_ROW_0 RSC_SP_TBPG_INNERBORDER_TOP
-#define TS_ROW_1 (TS_ROW_0+RSC_CD_FIXEDLINE_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define TS_ROW_2 (TS_ROW_1+RSC_CD_TABLISTBOX_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define TS_ROW_3 (TS_ROW_2+RSC_CD_PUSHBUTTON_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define TS_ROW_4 (TS_ROW_3+RSC_CD_FIXEDLINE_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define TS_ROW_5 (TS_ROW_4+3*RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-
-#define TS_ROW_8 (TP_HEIGHT-RSC_SP_TBPG_INNERBORDER_BOTTOM)
-#define TS_ROW_7 (TS_ROW_8-RSC_CD_PUSHBUTTON_HEIGHT)
-#define TS_ROW_6 (TS_ROW_7-RSC_SP_FLGR_SPACE_Y)
-
-// --------- signed macro warning ---------
-
-#define FI_DOCNAME 1
-#define FI_DESCR1A 2
-#define FI_SIGNS 3
-#define PB_VIEWSIGNS 4
-#define FI_DESCR2 5
-#define CB_ALWAYSTRUST 6
-#define PB_ENABLE 7
-#define PB_DISABLE 8
-#define FI_DESCR1B 9
-
-#define MW_WIDTH DLGS_WIDTH
-#define MW_HEIGHT DLGS_HEIGHT
-
-#define MW_SYMBOL_WIDTH (20)
-
-#define MW_COL_0 (RSC_SP_DLG_INNERBORDER_LEFT)
-#define MW_COL_1 (MW_COL_0+MW_SYMBOL_WIDTH)
-#define MW_COL_4 (MW_WIDTH-RSC_SP_DLG_INNERBORDER_RIGHT)
-#define MW_COL_3 (MW_COL_4-RSC_CD_PUSHBUTTON_WIDTH)
-#define MW_COL_2 (MW_COL_3-RSC_SP_CTRL_DESC_X)
-#define MW_COL_A (DLGS_BOTTOM_OK_X(MW_WIDTH))
-#define MW_COL_C (DLGS_BOTTOM_CANCEL_X(MW_WIDTH))
-#define MW_COL_E (DLGS_BOTTOM_HELP_X(MW_WIDTH))
-#define MW_ROW_0 (RSC_SP_DLG_INNERBORDER_TOP)
-#define MW_ROW_1 (MW_ROW_0+3*RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_Y)
-#define MW_ROW_2 (MW_ROW_1+RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_Y)
-#define MW_ROW_7 (MW_HEIGHT-RSC_SP_DLG_INNERBORDER_BOTTOM)
-#define MW_ROW_6 (DLGS_BOTTOM_BTN_Y(MW_HEIGHT))
-#define MW_ROW_5 (DLGS_BOTTOM_FL_Y(MW_HEIGHT))
-#define MW_ROW_4 (MW_ROW_5-RSC_CD_CHECKBOX_HEIGHT-RSC_SP_CTRL_Y)
-#define MW_ROW_3 (MW_ROW_4-4*RSC_CD_FIXEDTEXT_HEIGHT+RSC_SP_CTRL_Y)
-
-#endif
-
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
deleted file mode 100644
index 34a71d47f..000000000
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ /dev/null
@@ -1,840 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_xmlsecurity.hxx"
-#include <xmlsecurity/digitalsignaturesdialog.hxx>
-#include <xmlsecurity/certificatechooser.hxx>
-#include <xmlsecurity/certificateviewer.hxx>
-#include <xmlsecurity/biginteger.hxx>
-#include <xmloff/xmluconv.hxx>
-#include <com/sun/star/embed/XStorage.hpp>
-#include <com/sun/star/embed/ElementModes.hpp>
-#include <com/sun/star/io/XSeekable.hpp>
-#include <com/sun/star/io/XTruncate.hpp>
-#include <com/sun/star/embed/XTransactedObject.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/security/NoPasswordException.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/security/CertificateValidity.hdl>
-#include <com/sun/star/packages/WrongPasswordException.hpp>
-#include <com/sun/star/security/SerialNumberAdapter.hpp>
-#include <com/sun/star/security/XDocumentDigitalSignatures.hpp>
-#include <com/sun/star/xml/dom/XDocumentBuilder.hpp>
-#include <com/sun/star/packages/manifest/XManifestReader.hpp>
-
-
-#include <rtl/ustrbuf.hxx>
-#include <rtl/uri.hxx>
-
-#include <tools/date.hxx>
-#include <tools/time.hxx>
-
-#include "dialogs.hrc"
-#include "digitalsignaturesdialog.hrc"
-#include "helpids.hrc"
-#include "resourcemanager.hxx"
-
-#include <vcl/msgbox.hxx> // Until encrypted docs work...
-#include <unotools/configitem.hxx>
-#include <comphelper/componentcontext.hxx>
-
-#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
-
-
-/* HACK: disable some warnings for MS-C */
-#ifdef _MSC_VER
-#pragma warning (disable : 4355) // 4355: this used in initializer-list
-#endif
-
-using namespace ::com::sun::star::security;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star;
-namespace css = ::com::sun::star;
-using ::rtl::OUString;
-
-namespace
-{
- class SaveODFItem: public utl::ConfigItem
- {
- sal_Int16 m_nODF;
- public:
- virtual void Commit();
- virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
- SaveODFItem();
- //See group ODF in Common.xcs
- bool isLessODF1_2()
- {
- return m_nODF < 3;
- }
- };
-
-void SaveODFItem::Commit() {}
-void SaveODFItem::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {}
-
- SaveODFItem::SaveODFItem(): utl::ConfigItem(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "Office.Common/Save"))), m_nODF(0)
- {
- OUString sDef(RTL_CONSTASCII_USTRINGPARAM("ODF/DefaultVersion"));
- Sequence< css::uno::Any > aValues = GetProperties( Sequence<OUString>(&sDef,1) );
- if ( aValues.getLength() == 1)
- {
- sal_Int16 nTmp = 0;
- if ( aValues[0] >>= nTmp )
- m_nODF = nTmp;
- else
- throw uno::RuntimeException(
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "[xmlsecurity]SaveODFItem::SaveODFItem(): Wrong Type!")), 0 );
-
- }
- else
- throw uno::RuntimeException(
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "[xmlsecurity] Could not open property Office.Common/Save/ODF/DefaultVersion")), 0);
- }
-}
-
-/* Using the zip storage, we cannot get the properties "MediaType" and "IsEncrypted"
- We use the manifest to find out if a file is xml and if it is encrypted.
- The parameter is an encoded uri. However, the manifest contains paths. Therefore
- the path is encoded as uri, so they can be compared.
-*/
-bool DigitalSignaturesDialog::isXML(const rtl::OUString& rURI )
-{
- OSL_ASSERT(mxStore.is());
-
- bool bIsXML = false;
- bool bPropsAvailable = false;
- const OUString sPropFullPath(RTL_CONSTASCII_USTRINGPARAM("FullPath"));
- const OUString sPropMediaType(RTL_CONSTASCII_USTRINGPARAM("MediaType"));
- const OUString sPropDigest(RTL_CONSTASCII_USTRINGPARAM("Digest"));
-
- for (int i = 0; i < m_manifest.getLength(); i++)
- {
- Any digest;
- const Sequence< css::beans::PropertyValue >& entry = m_manifest[i];
- OUString sPath, sMediaType;
- bool bEncrypted = false;
- for (int j = 0; j < entry.getLength(); j++)
- {
- const css::beans::PropertyValue & prop = entry[j];
-
- if (prop.Name.equals( sPropFullPath ) )
- prop.Value >>= sPath;
- else if (prop.Name.equals( sPropMediaType ) )
- prop.Value >>= sMediaType;
- else if (prop.Name.equals( sPropDigest ) )
- bEncrypted = true;
- }
- if (DocumentSignatureHelper::equalsReferenceUriManifestPath(rURI, sPath))
- {
- bIsXML = sMediaType.equals(OUSTR("text/xml")) && ! bEncrypted;
- bPropsAvailable = true;
- break;
- }
- }
- if (!bPropsAvailable)
- {
- //This would be the case for at least mimetype, META-INF/manifest.xml
- //META-INF/macrosignatures.xml.
- //Files can only be encrypted if they are in the manifest.xml.
- //That is, the current file cannot be encrypted, otherwise bPropsAvailable
- //would be true.
- OUString aXMLExt( RTL_CONSTASCII_USTRINGPARAM( "XML" ) );
- sal_Int32 nSep = rURI.lastIndexOf( '.' );
- if ( nSep != (-1) )
- {
- OUString aExt = rURI.copy( nSep+1 );
- if (aExt.equalsIgnoreAsciiCase(aXMLExt ))
- bIsXML = true;
- }
- }
- return bIsXML;
-}
-
-DigitalSignaturesDialog::DigitalSignaturesDialog(
- Window* pParent,
- uno::Reference< uno::XComponentContext >& rxCtx, DocumentSignatureMode eMode,
- sal_Bool bReadOnly, const ::rtl::OUString& sODFVersion, bool bHasDocumentSignature)
- :ModalDialog ( pParent, XMLSEC_RES( RID_XMLSECDLG_DIGSIG ) )
- ,mxCtx ( rxCtx )
- ,maSignatureHelper ( rxCtx )
- ,meSignatureMode ( eMode )
- ,maHintDocFT ( this, XMLSEC_RES( FT_HINT_DOC ) )
- ,maHintBasicFT ( this, XMLSEC_RES( FT_HINT_BASIC ) )
- ,maHintPackageFT ( this, XMLSEC_RES( FT_HINT_PACK ) )
- ,maSignaturesLBContainer(this, XMLSEC_RES(LB_SIGNATURES))
- ,maSignaturesLB(maSignaturesLBContainer)
- ,maSigsValidImg ( this, XMLSEC_RES( IMG_STATE_VALID ) )
- ,maSigsValidFI ( this, XMLSEC_RES( FI_STATE_VALID ) )
- ,maSigsInvalidImg ( this, XMLSEC_RES( IMG_STATE_BROKEN ) )
- ,maSigsInvalidFI ( this, XMLSEC_RES( FI_STATE_BROKEN ) )
- ,maSigsNotvalidatedImg( this, XMLSEC_RES( IMG_STATE_NOTVALIDATED ) )
- ,maSigsNotvalidatedFI ( this, XMLSEC_RES( FI_STATE_NOTVALIDATED ) )
- ,maSigsOldSignatureFI ( this, XMLSEC_RES( FI_STATE_OLDSIGNATURE) )
- ,maViewBtn ( this, XMLSEC_RES( BTN_VIEWCERT ) )
- ,maAddBtn ( this, XMLSEC_RES( BTN_ADDCERT ) )
- ,maRemoveBtn ( this, XMLSEC_RES( BTN_REMOVECERT ) )
- ,maBottomSepFL ( this, XMLSEC_RES( FL_BOTTOM_SEP ) )
- ,maOKBtn ( this, XMLSEC_RES( BTN_OK ) )
- ,maHelpBtn ( this, XMLSEC_RES( BTN_HELP ) )
- ,m_sODFVersion (sODFVersion)
- ,m_bHasDocumentSignature(bHasDocumentSignature)
- ,m_bWarningShowSignMacro(false)
-{
- // #i48253# the tablistbox needs its own unique id
- maSignaturesLB.Window::SetUniqueId( HID_XMLSEC_TREE_SIGNATURESDLG );
- Size aControlSize( maSignaturesLB.GetSizePixel() );
- aControlSize = maSignaturesLB.PixelToLogic( aControlSize, MapMode( MAP_APPFONT ) );
- const long nControlWidth = aControlSize.Width();
- static long nTabs[] = { 4, 0, 6*nControlWidth/100, 36*nControlWidth/100, 74*nControlWidth/100 };
- maSignaturesLB.SetTabs( &nTabs[ 0 ] );
- maSignaturesLB.InsertHeaderEntry( String( XMLSEC_RES( STR_HEADERBAR ) ) );
-
- maSigsNotvalidatedFI.SetText( String( XMLSEC_RES( STR_NO_INFO_TO_VERIFY ) ) );
-
- FreeResource();
-
- mbVerifySignatures = true;
- mbSignaturesChanged = false;
-
- maSignaturesLB.SetSelectHdl( LINK( this, DigitalSignaturesDialog, SignatureHighlightHdl ) );
- maSignaturesLB.SetDoubleClickHdl( LINK( this, DigitalSignaturesDialog, SignatureSelectHdl ) );
-
- maViewBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, ViewButtonHdl ) );
- maViewBtn.Disable();
-
- maAddBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, AddButtonHdl ) );
- if ( bReadOnly )
- maAddBtn.Disable();
-
- maRemoveBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, RemoveButtonHdl ) );
- maRemoveBtn.Disable();
-
- maOKBtn.SetClickHdl( LINK( this, DigitalSignaturesDialog, OKButtonHdl) );
-
- switch( meSignatureMode )
- {
- case SignatureModeDocumentContent: maHintDocFT.Show(); break;
- case SignatureModeMacros: maHintBasicFT.Show(); break;
- case SignatureModePackage: maHintPackageFT.Show(); break;
- }
-
- // adjust fixed text to images
- XmlSec::AlignAndFitImageAndControl( maSigsValidImg, maSigsValidFI, 5 );
- XmlSec::AlignAndFitImageAndControl( maSigsInvalidImg, maSigsInvalidFI, 5 );
- XmlSec::AlignAndFitImageAndControl( maSigsNotvalidatedImg, maSigsNotvalidatedFI, 5 );
- XmlSec::AlignAndFitImageAndControl( maSigsNotvalidatedImg, maSigsOldSignatureFI, 5 );
-}
-
-DigitalSignaturesDialog::~DigitalSignaturesDialog()
-{
-}
-
-sal_Bool DigitalSignaturesDialog::Init()
-{
- bool bInit = maSignatureHelper.Init();
-
- DBG_ASSERT( bInit, "Error initializing security context!" );
-
- if ( bInit )
- {
- maSignatureHelper.SetStartVerifySignatureHdl( LINK( this, DigitalSignaturesDialog, StartVerifySignatureHdl ) );
- }
-
- return bInit;
-}
-
-void DigitalSignaturesDialog::SetStorage( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& rxStore )
-{
- mxStore = rxStore;
- maSignatureHelper.SetStorage( mxStore, m_sODFVersion);
-
- Reference < css::packages::manifest::XManifestReader > xReader(
- mxCtx->getServiceManager()->createInstanceWithContext(
- OUSTR("com.sun.star.packages.manifest.ManifestReader"), mxCtx), UNO_QUERY_THROW);
-
- //Get the manifest.xml
- Reference < css::embed::XStorage > xSubStore(rxStore->openStorageElement(
- OUSTR("META-INF"), css::embed::ElementModes::READ), UNO_QUERY_THROW);
-
- Reference< css::io::XInputStream > xStream(
- xSubStore->openStreamElement(OUSTR("manifest.xml"), css::embed::ElementModes::READ),
- UNO_QUERY_THROW);
-
- m_manifest = xReader->readManifestSequence(xStream);
-}
-
-void DigitalSignaturesDialog::SetSignatureStream( const cssu::Reference < css::io::XStream >& rxStream )
-{
- mxSignatureStream = rxStream;
-}
-
-bool DigitalSignaturesDialog::canAddRemove()
-{
- //m56
- bool ret = true;
- OSL_ASSERT(mxStore.is());
- bool bDoc1_1 = DocumentSignatureHelper::isODFPre_1_2(m_sODFVersion);
- SaveODFItem item;
- bool bSave1_1 = item.isLessODF1_2();
-
- // see specification
- //cvs: specs/www/appwide/security/Electronic_Signatures_and_Security.sxw
- //Paragraph 'Behavior with regard to ODF 1.2'
- //For both, macro and document
- if ( (!bSave1_1 && bDoc1_1) || (bSave1_1 && bDoc1_1) )
- {
- //#4
- ErrorBox err(NULL, XMLSEC_RES(RID_XMLSECDLG_OLD_ODF_FORMAT));
- err.Execute();
- ret = false;
- }
-
- //As of OOo 3.2 the document signature includes in macrosignatures.xml. That is
- //adding a macro signature will break an existing document signature.
- //The sfx2 will remove the documentsignature when the user adds a macro signature
- if (meSignatureMode == SignatureModeMacros
- && ret)
- {
- if (m_bHasDocumentSignature && !m_bWarningShowSignMacro)
- {
- //The warning says that the document signatures will be removed if the user
- //continues. He can then either press 'OK' or 'NO'
- //It the user presses 'Add' or 'Remove' several times then, then the warning
- //is shown every time until the user presses 'OK'. From then on, the warning
- //is not displayed anymore as long as the signatures dialog is alive.
- if (QueryBox(
- NULL, XMLSEC_RES(MSG_XMLSECDLG_QUERY_REMOVEDOCSIGNBEFORESIGN)).Execute() == RET_NO)
- ret = false;
- else
- m_bWarningShowSignMacro = true;
-
- }
- }
- return ret;
-}
-
-bool DigitalSignaturesDialog::canAdd()
-{
- if (canAddRemove())
- return true;
- return false;
-}
-
-bool DigitalSignaturesDialog::canRemove()
-{
- if (canAddRemove())
- return true;
- return false;
-}
-
-short DigitalSignaturesDialog::Execute()
-{
- // Verify Signatures and add certificates to ListBox...
- mbVerifySignatures = true;
- ImplGetSignatureInformations(false);
- ImplFillSignaturesBox();
-
- // Only verify once, content will not change.
- // But for refreshing signature information, StartVerifySignatureHdl will be called after each add/remove
- mbVerifySignatures = false;
-
- return Dialog::Execute();
-}
-
-IMPL_LINK( DigitalSignaturesDialog, SignatureHighlightHdl, void*, EMPTYARG )
-{
- bool bSel = maSignaturesLB.FirstSelected() ? true : false;
- maViewBtn.Enable( bSel );
- if ( maAddBtn.IsEnabled() ) // not read only
- maRemoveBtn.Enable( bSel );
-
- return 0;
-}
-
-IMPL_LINK( DigitalSignaturesDialog, OKButtonHdl, void*, EMPTYARG )
-{
- // Export all other signatures...
- SignatureStreamHelper aStreamHelper = ImplOpenSignatureStream(
- embed::ElementModes::WRITE|embed::ElementModes::TRUNCATE, false );
- uno::Reference< io::XOutputStream > xOutputStream(
- aStreamHelper.xSignatureStream, uno::UNO_QUERY );
- uno::Reference< com::sun::star::xml::sax::XDocumentHandler> xDocumentHandler =
- maSignatureHelper.CreateDocumentHandlerWithHeader( xOutputStream );
-
- size_t nInfos = maCurrentSignatureInformations.size();
- for( size_t n = 0 ; n < nInfos ; ++n )
- maSignatureHelper.ExportSignature(
- xDocumentHandler, maCurrentSignatureInformations[ n ] );
-
- maSignatureHelper.CloseDocumentHandler( xDocumentHandler);
-
- // If stream was not provided, we are responsible for committing it....
- if ( !mxSignatureStream.is() )
- {
- uno::Reference< embed::XTransactedObject > xTrans(
- aStreamHelper.xSignatureStorage, uno::UNO_QUERY );
- xTrans->commit();
- }
-
- EndDialog(RET_OK);
- return 0;
-}
-
-IMPL_LINK( DigitalSignaturesDialog, SignatureSelectHdl, void*, EMPTYARG )
-{
- ImplShowSignaturesDetails();
- return 0;
-}
-
-IMPL_LINK( DigitalSignaturesDialog, ViewButtonHdl, Button*, EMPTYARG )
-{
- ImplShowSignaturesDetails();
- return 0;
-}
-
-IMPL_LINK( DigitalSignaturesDialog, AddButtonHdl, Button*, EMPTYARG )
-{
- if( ! canAdd())
- return 0;
- try
- {
- uno::Reference<com::sun::star::xml::crypto::XSecurityEnvironment> xSecEnv = maSignatureHelper.GetSecurityEnvironment();
-
- uno::Reference<com::sun::star::security::XSerialNumberAdapter> xSerialNumberAdapter =
- ::com::sun::star::security::SerialNumberAdapter::create(mxCtx);
- CertificateChooser aChooser( this, mxCtx, xSecEnv, maCurrentSignatureInformations );
- if ( aChooser.Execute() == RET_OK )
- {
- uno::Reference< ::com::sun::star::security::XCertificate > xCert = aChooser.GetSelectedCertificate();
- if ( !xCert.is() )
- {
- DBG_ERRORFILE( "no certificate selected" );
- return -1;
- }
- rtl::OUString aCertSerial = xSerialNumberAdapter->toString( xCert->getSerialNumber() );
- if ( !aCertSerial.getLength() )
- {
- OSL_FAIL( "Error in Certificate, problem with serial number!" );
- return -1;
- }
-
- maSignatureHelper.StartMission();
-
- sal_Int32 nSecurityId = maSignatureHelper.GetNewSecurityId();
-
- rtl::OUStringBuffer aStrBuffer;
- SvXMLUnitConverter::encodeBase64(aStrBuffer, xCert->getEncoded());
-
- maSignatureHelper.SetX509Certificate( nSecurityId,
- xCert->getIssuerName(), aCertSerial,
- aStrBuffer.makeStringAndClear());
-
- std::vector< rtl::OUString > aElements =
- DocumentSignatureHelper::CreateElementList(
- mxStore, rtl::OUString(), meSignatureMode, OOo3_2Document);
-
- sal_Int32 nElements = aElements.size();
- for ( sal_Int32 n = 0; n < nElements; n++ )
- {
- bool bBinaryMode = !isXML(aElements[n]);
- maSignatureHelper.AddForSigning( nSecurityId, aElements[n], aElements[n], bBinaryMode );
- }
-
- maSignatureHelper.SetDateTime( nSecurityId, Date(), Time() );
-
- // We open a signature stream in which the existing and the new
- //signature is written. ImplGetSignatureInformation (later in this function) will
- //then read the stream an will fill maCurrentSignatureInformations. The final signature
- //is written when the user presses OK. Then only maCurrentSignatureInformation and
- //a sax writer are used to write the information.
- SignatureStreamHelper aStreamHelper = ImplOpenSignatureStream(
- css::embed::ElementModes::WRITE|css::embed::ElementModes::TRUNCATE, true);
- Reference< css::io::XOutputStream > xOutputStream(
- aStreamHelper.xSignatureStream, UNO_QUERY_THROW);
- Reference< css::xml::sax::XDocumentHandler> xDocumentHandler =
- maSignatureHelper.CreateDocumentHandlerWithHeader( xOutputStream );
-
- // Export old signatures...
- size_t nInfos = maCurrentSignatureInformations.size();
- for ( size_t n = 0; n < nInfos; n++ )
- maSignatureHelper.ExportSignature( xDocumentHandler, maCurrentSignatureInformations[n]);
-
- // Create a new one...
- maSignatureHelper.CreateAndWriteSignature( xDocumentHandler );
-
- // That's it...
- maSignatureHelper.CloseDocumentHandler( xDocumentHandler);
-
- maSignatureHelper.EndMission();
-
- aStreamHelper = SignatureStreamHelper(); // release objects...
-
- mbSignaturesChanged = true;
-
- sal_Int32 nStatus = maSignatureHelper.GetSignatureInformation( nSecurityId ).nStatus;
-
- if ( nStatus == ::com::sun::star::xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED )
- {
- mbSignaturesChanged = true;
-
- // Can't simply remember current information, need parsing for getting full information :(
- // We need to verify the signatures again, otherwise the status in the signature information
- // will not contain
- // SecurityOperationStatus_OPERATION_SUCCEEDED
- mbVerifySignatures = true;
- ImplGetSignatureInformations(true);
- ImplFillSignaturesBox();
- }
- }
- }
- catch ( uno::Exception& )
- {
- OSL_FAIL( "Exception while adding a signature!" );
- // Don't keep invalid entries...
- ImplGetSignatureInformations(true);
- ImplFillSignaturesBox();
- }
-
- return 0;
-}
-
-IMPL_LINK( DigitalSignaturesDialog, RemoveButtonHdl, Button*, EMPTYARG )
-{
- if (!canRemove())
- return 0;
- if( maSignaturesLB.FirstSelected() )
- {
- try
- {
- sal_uInt16 nSelected = (sal_uInt16) (sal_uIntPtr) maSignaturesLB.FirstSelected()->GetUserData();
- maCurrentSignatureInformations.erase( maCurrentSignatureInformations.begin()+nSelected );
-
- // Export all other signatures...
- SignatureStreamHelper aStreamHelper = ImplOpenSignatureStream(
- css::embed::ElementModes::WRITE | css::embed::ElementModes::TRUNCATE, true);
- Reference< css::io::XOutputStream > xOutputStream(
- aStreamHelper.xSignatureStream, UNO_QUERY_THROW);
- Reference< css::xml::sax::XDocumentHandler> xDocumentHandler =
- maSignatureHelper.CreateDocumentHandlerWithHeader( xOutputStream );
-
- size_t nInfos = maCurrentSignatureInformations.size();
- for( size_t n = 0 ; n < nInfos ; ++n )
- maSignatureHelper.ExportSignature( xDocumentHandler, maCurrentSignatureInformations[ n ] );
-
- maSignatureHelper.CloseDocumentHandler( xDocumentHandler);
-
- mbSignaturesChanged = true;
-
- aStreamHelper = SignatureStreamHelper(); // release objects...
-
- ImplFillSignaturesBox();
- }
- catch ( uno::Exception& )
- {
- OSL_FAIL( "Exception while removing a signature!" );
- // Don't keep invalid entries...
- ImplGetSignatureInformations(true);
- ImplFillSignaturesBox();
- }
- }
-
- return 0;
-}
-
-IMPL_LINK( DigitalSignaturesDialog, StartVerifySignatureHdl, void*, EMPTYARG )
-{
- return mbVerifySignatures ? 1 : 0;
-}
-
-void DigitalSignaturesDialog::ImplFillSignaturesBox()
-{
- maSignaturesLB.Clear();
-
- uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > xSecEnv = maSignatureHelper.GetSecurityEnvironment();
- uno::Reference<com::sun::star::security::XSerialNumberAdapter> xSerialNumberAdapter =
- ::com::sun::star::security::SerialNumberAdapter::create(mxCtx);
-
- uno::Reference< ::com::sun::star::security::XCertificate > xCert;
-
- String aNullStr;
- size_t nInfos = maCurrentSignatureInformations.size();
- size_t nValidSigs = 0, nValidCerts = 0;
- bool bAllNewSignatures = true;
-
- if( nInfos )
- {
- for( size_t n = 0; n < nInfos; ++n )
- {
- DocumentSignatureAlgorithm mode = DocumentSignatureHelper::getDocumentAlgorithm(
- m_sODFVersion, maCurrentSignatureInformations[n]);
- std::vector< rtl::OUString > aElementsToBeVerified =
- DocumentSignatureHelper::CreateElementList(
- mxStore, ::rtl::OUString(), meSignatureMode, mode);
-
- const SignatureInformation& rInfo = maCurrentSignatureInformations[n];
- //First we try to get the certificate which is embedded in the XML Signature
- if (rInfo.ouX509Certificate.getLength())
- xCert = xSecEnv->createCertificateFromAscii(rInfo.ouX509Certificate);
- else {
- //There must be an embedded certificate because we use it to get the
- //issuer name. We cannot use /Signature/KeyInfo/X509Data/X509IssuerName
- //because it could be modified by an attacker. The issuer is displayed
- //in the digital signature dialog.
- //Comparing the X509IssuerName with the one from the X509Certificate in order
- //to find out if the X509IssuerName was modified does not work. See #i62684
- DBG_ASSERT(sal_False, "Could not find embedded certificate!");
- }
-
- //In case there is no embedded certificate we try to get it from a local store
- //Todo: This probably could be removed, see above.
- if (!xCert.is())
- xCert = xSecEnv->getCertificate( rInfo.ouX509IssuerName, xSerialNumberAdapter->toSequence( rInfo.ouX509SerialNumber ) );
-
- DBG_ASSERT( xCert.is(), "Certificate not found and can't be created!" );
-
- String aSubject;
- String aIssuer;
- String aDateTimeStr;
-
- bool bSigValid = false;
- bool bCertValid = false;
- if( xCert.is() )
- {
- //check the validity of the cert
- try {
- sal_Int32 certResult = xSecEnv->verifyCertificate(xCert,
- Sequence<css::uno::Reference<css::security::XCertificate> >());
-
- bCertValid = certResult == css::security::CertificateValidity::VALID ? true : false;
- if ( bCertValid )
- nValidCerts++;
-
- } catch (css::uno::SecurityException& ) {
- OSL_FAIL("Verification of certificate failed");
- bCertValid = false;
- }
-
- aSubject = XmlSec::GetContentPart( xCert->getSubjectName() );
- aIssuer = XmlSec::GetContentPart( xCert->getIssuerName() );
- // String with date and time information (#i20172#)
- aDateTimeStr = XmlSec::GetDateTimeString( rInfo.stDateTime );
- }
- bSigValid = ( rInfo.nStatus == ::com::sun::star::xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED );
-
- if ( bSigValid )
- {
- bSigValid = DocumentSignatureHelper::checkIfAllFilesAreSigned(
- aElementsToBeVerified, rInfo, mode);
-
- if( bSigValid )
- nValidSigs++;
- }
-
- Image aImage;
- if (!bSigValid)
- {
- aImage = maSigsInvalidImg.GetImage();
- }
- else if (bSigValid && !bCertValid)
- {
- aImage = maSigsNotvalidatedImg.GetImage();
- }
- //Check if the signature is a "old" document signature, that is, which was created
- //by an version of OOo previous to 3.2
- else if (meSignatureMode == SignatureModeDocumentContent
- && bSigValid && bCertValid && !DocumentSignatureHelper::isOOo3_2_Signature(
- maCurrentSignatureInformations[n]))
- {
- aImage = maSigsNotvalidatedImg.GetImage();
- bAllNewSignatures &= false;
- }
- else if (meSignatureMode == SignatureModeDocumentContent
- && bSigValid && bCertValid && DocumentSignatureHelper::isOOo3_2_Signature(
- maCurrentSignatureInformations[n]))
- {
- aImage = maSigsValidImg.GetImage();
- }
- else if (meSignatureMode == SignatureModeMacros
- && bSigValid && bCertValid)
- {
- aImage = maSigsValidImg.GetImage();
- }
-
- SvLBoxEntry* pEntry = maSignaturesLB.InsertEntry( aNullStr, aImage, aImage );
- maSignaturesLB.SetEntryText( aSubject, pEntry, 1 );
- maSignaturesLB.SetEntryText( aIssuer, pEntry, 2 );
- maSignaturesLB.SetEntryText( aDateTimeStr, pEntry, 3 );
- pEntry->SetUserData( ( void* ) n ); // missuse user data as index
- }
- }
-
- bool bAllSigsValid = (nValidSigs == nInfos);
- bool bAllCertsValid = (nValidCerts == nInfos);
- bool bShowValidState = nInfos && (bAllSigsValid && bAllCertsValid && bAllNewSignatures);
-
- bool bShowNotValidatedState = nInfos && (bAllSigsValid && (!bAllCertsValid || !bAllNewSignatures));
- bool bShowInvalidState = nInfos && !bAllSigsValid;
-
- maSigsValidImg.Show( bShowValidState);
- maSigsValidFI.Show( bShowValidState );
- maSigsInvalidImg.Show( bShowInvalidState );
- maSigsInvalidFI.Show( bShowInvalidState );
-
- maSigsNotvalidatedImg.Show(bShowNotValidatedState);
- //bAllNewSignatures is always true if we are not in document mode
- maSigsNotvalidatedFI.Show(nInfos && bAllSigsValid && ! bAllCertsValid);
- maSigsOldSignatureFI.Show(nInfos && bAllSigsValid && bAllCertsValid && !bAllNewSignatures);
-
- SignatureHighlightHdl( NULL );
-}
-
-
-//If bUseTempStream is true then the temporary signature stream is used.
-//Otherwise the real signature stream is used.
-void DigitalSignaturesDialog::ImplGetSignatureInformations(bool bUseTempStream)
-{
- maCurrentSignatureInformations.clear();
-
- maSignatureHelper.StartMission();
-
- SignatureStreamHelper aStreamHelper = ImplOpenSignatureStream(
- css::embed::ElementModes::READ, bUseTempStream);
- if ( aStreamHelper.xSignatureStream.is() )
- {
- uno::Reference< io::XInputStream > xInputStream( aStreamHelper.xSignatureStream, uno::UNO_QUERY );
- maSignatureHelper.ReadAndVerifySignature( xInputStream );
- }
- maSignatureHelper.EndMission();
-
- maCurrentSignatureInformations = maSignatureHelper.GetSignatureInformations();
-
- mbVerifySignatures = false;
-}
-
-void DigitalSignaturesDialog::ImplShowSignaturesDetails()
-{
- if( maSignaturesLB.FirstSelected() )
- {
- sal_uInt16 nSelected = (sal_uInt16) (sal_uIntPtr) maSignaturesLB.FirstSelected()->GetUserData();
- const SignatureInformation& rInfo = maCurrentSignatureInformations[ nSelected ];
- css::uno::Reference<css::xml::crypto::XSecurityEnvironment > xSecEnv =
- maSignatureHelper.GetSecurityEnvironment();
- css::uno::Reference<com::sun::star::security::XSerialNumberAdapter> xSerialNumberAdapter =
- ::com::sun::star::security::SerialNumberAdapter::create(mxCtx);
- // Use Certificate from doc, not from key store
- uno::Reference< dcss::security::XCertificate > xCert;
- if (rInfo.ouX509Certificate.getLength())
- xCert = xSecEnv->createCertificateFromAscii(rInfo.ouX509Certificate);
- //fallback if no certificate is embedded, get if from store
- if (!xCert.is())
- xCert = xSecEnv->getCertificate( rInfo.ouX509IssuerName, xSerialNumberAdapter->toSequence( rInfo.ouX509SerialNumber ) );
-
- DBG_ASSERT( xCert.is(), "Error getting cCertificate!" );
- if ( xCert.is() )
- {
- CertificateViewer aViewer( this, maSignatureHelper.GetSecurityEnvironment(), xCert, sal_False );
- aViewer.Execute();
- }
- }
-}
-
-//If bTempStream is true, then a temporary stream is return. If it is false then, the actual
-//signature stream is used.
-//Everytime the user presses Add a new temporary stream is created.
-//We keep the temporary stream as member because ImplGetSignatureInformations
-//will later access the stream to create DocumentSignatureInformation objects
-//which are stored in maCurrentSignatureInformations.
-SignatureStreamHelper DigitalSignaturesDialog::ImplOpenSignatureStream(
- sal_Int32 nStreamOpenMode, bool bTempStream)
-{
- SignatureStreamHelper aHelper;
- if (bTempStream)
- {
- if (nStreamOpenMode & css::embed::ElementModes::TRUNCATE)
- {
- //We write always into a new temporary stream.
- mxTempSignatureStream = Reference < css::io::XStream >(
- mxCtx->getServiceManager()->createInstanceWithContext(
- OUSTR( "com.sun.star.io.TempFile" ), mxCtx) ,
- UNO_QUERY_THROW);
- aHelper.xSignatureStream = mxTempSignatureStream;
- }
- else
- {
- //When we read from the temp stream, then we must have previously
- //created one.
- OSL_ASSERT(mxTempSignatureStream.is());
- }
- aHelper.xSignatureStream = mxTempSignatureStream;
- }
- else
- {
- //No temporary stream
- if (!mxSignatureStream.is())
- {
- //We may not have a dedicated stream for writing the signature
- //So we take one directly from the storage
- //Or DocumentDigitalSignatures::showDocumentContentSignatures was called,
- //in which case Add/Remove is not allowed. This is done, for example, if the
- //document is readonly
- aHelper = DocumentSignatureHelper::OpenSignatureStream(
- mxStore, nStreamOpenMode, meSignatureMode );
- }
- else
- {
- aHelper.xSignatureStream = mxSignatureStream;
- }
- }
-
- if (nStreamOpenMode & css::embed::ElementModes::TRUNCATE)
- {
- css::uno::Reference < css::io::XTruncate > xTruncate(
- aHelper.xSignatureStream, UNO_QUERY_THROW);
- DBG_ASSERT( xTruncate.is(), "ImplOpenSignatureStream - Stream does not support xTruncate!" );
- xTruncate->truncate();
- }
- else if ( bTempStream || mxSignatureStream.is())
- {
- //In case we read the signature stream from the storage directly,
- //which is the case when DocumentDigitalSignatures::showDocumentContentSignatures
- //then XSeakable is not supported
- css::uno::Reference < css::io::XSeekable > xSeek(
- aHelper.xSignatureStream, UNO_QUERY_THROW);
- DBG_ASSERT( xSeek.is(), "ImplOpenSignatureStream - Stream does not support xSeekable!" );
- xSeek->seek( 0 );
- }
-
- return aHelper;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.hrc b/xmlsecurity/source/dialogs/digitalsignaturesdialog.hrc
deleted file mode 100644
index 98cb51782..000000000
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.hrc
+++ /dev/null
@@ -1,36 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#if ! defined INCLUDED_DIGITALSIGNATURESDIALOG_HRC
-#define INCLUDED_DIGITALSIGNATURESDIALOG_HRC
-
-//global.hrc in xmlsecurity/inc starts at 1000
-#define RID_DIGITALSIGNATUREDLG_START 2000
-
-#define RID_XMLSECDLG_OLD_ODF_FORMAT RID_DIGITALSIGNATUREDLG_START
-#define MSG_XMLSECDLG_QUERY_REMOVEDOCSIGNBEFORESIGN (RID_DIGITALSIGNATUREDLG_START + 1)
-#endif
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.src b/xmlsecurity/source/dialogs/digitalsignaturesdialog.src
deleted file mode 100644
index 5b80adf13..000000000
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.src
+++ /dev/null
@@ -1,207 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#include "dialogs.hrc"
-#include "helpids.hrc"
-#include "digitalsignaturesdialog.hrc"
-
-ModalDialog RID_XMLSECDLG_DIGSIG
-{
- HelpId = HID_XMLSEC_DLG_DIGSIG;
- Size = MAP_APPFONT( 234, 191 );
- OutputSize = TRUE;
- Closeable = TRUE;
- Moveable = TRUE;
- SVLook = TRUE;
-
- Text [ en-US ] = "Digital Signatures";
-
- FixedText FT_HINT_DOC
- {
- Pos = MAP_APPFONT( 6, 3 );
- Size = MAP_APPFONT( 222, 8 );
- Hide = TRUE;
- Text [ en-US ] = "The following have signed the document content:";
- };
- FixedText FT_HINT_BASIC
- {
- Pos = MAP_APPFONT( 6, 3 );
- Size = MAP_APPFONT( 222, 8 );
- Hide = TRUE;
- Text [ en-US ] = "The following have signed the document macro:";
- };
- FixedText FT_HINT_PACK
- {
- Pos = MAP_APPFONT( 6, 3 );
- Size = MAP_APPFONT( 222, 8 );
- Hide = TRUE;
- Text [ en-US ] = "The following have signed this package:";
- };
- Control LB_SIGNATURES
- {
- HelpId = HID_XMLSEC_CTRL_SIGNATURESDLG;
- Pos = MAP_APPFONT( 6, 14 );
- Size = MAP_APPFONT( 222, 109 );
- SVLook = TRUE;
- Border = TRUE;
- };
- String STR_HEADERBAR
- {
- Text [ en-US ] = "\tSigned by\tDigital ID issued by\tDate";
- };
- String STR_VALID_SIGNATURE
- {
- Text [ en-US ] = "Valid signature";
- };
- String STR_NO_INFO_TO_VERIFY
- {
- Text [ en-US ] = "Certificate could not be validated";
- };
- String STR_INVALID_SIGNATURE
- {
- Text [ en-US ] = "The signatures in this document are invalid";
- };
-
- FixedImage IMG_STATE_VALID
- {
- Pos = MAP_APPFONT( 6, 127 );
- Size = MAP_APPFONT( 33, 22 );
- Fixed = Image
- {
- ImageBitmap = Bitmap { File = "signet_11x16.png"; };
- MaskColor = STD_MASKCOLOR;
- };
- };
- FixedText FI_STATE_VALID
- {
- Pos = MAP_APPFONT( 6, 127 );
- Size = MAP_APPFONT( 222, 8 );
- Hide = TRUE;
- Text [ en-US ] = "The signatures in this document are valid";
- };
- FixedText FI_STATE_OLDSIGNATURE
- {
- Pos = MAP_APPFONT( 6, 127 );
- Size = MAP_APPFONT( 222, 8 );
- Hide = TRUE;
- Text [ en-US ] = "Not all parts of the document are signed";
- };
- FixedImage IMG_STATE_BROKEN
- {
- Pos = MAP_APPFONT( 6, 127 );
- Size = MAP_APPFONT( 33, 22 );
- Fixed = Image
- {
- ImageBitmap = Bitmap { File = "caution_11x16.png"; };
- MaskColor = STD_MASKCOLOR;
- };
- };
- FixedText FI_STATE_BROKEN
- {
- Pos = MAP_APPFONT( 6, 127 );
- Size = MAP_APPFONT( 222, 8 );
- Hide = TRUE;
- Text [ en-US ] = "The signatures in this document are invalid";
- };
- FixedImage IMG_STATE_NOTVALIDATED
- {
- Pos = MAP_APPFONT( 6, 127 );
- Size = MAP_APPFONT( 33, 22 );
- Fixed = Image
- {
- ImageBitmap = Bitmap { File = "notcertificate_16.png"; };
- MaskColor = STD_MASKCOLOR;
- };
- };
- FixedText FI_STATE_NOTVALIDATED
- {
- Pos = MAP_APPFONT( 6, 127 );
- Size = MAP_APPFONT( 222, 8 );
- Hide = TRUE;
- };
- PushButton BTN_VIEWCERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_DIGSIG:BTN_VIEWCERT";
- Pos = MAP_APPFONT( 6, 142 );
- Size = MAP_APPFONT( 70, 14 );
- Text [ en-US ] = "View Certificate...";
- };
- PushButton BTN_ADDCERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_DIGSIG:BTN_ADDCERT";
- Pos = MAP_APPFONT( 82, 142 );
- Size = MAP_APPFONT( 70, 14 );
- Text [ en-US ] = "Sign Document...";
- };
- PushButton BTN_REMOVECERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECDLG_DIGSIG:BTN_REMOVECERT";
- Pos = MAP_APPFONT( 158, 142 );
- Size = MAP_APPFONT( 70, 14 );
- Text [ en-US ] = "Remove";
- };
- FixedLine FL_BOTTOM_SEP
- {
- Pos = MAP_APPFONT( 0, 160 );
- Size = MAP_APPFONT( 234, 8 );
- };
- OKButton BTN_OK
- {
- DefButton = TRUE;
- Pos = MAP_APPFONT( 178, 171 );
- Size = MAP_APPFONT( 50, 14 );
- Text [ en-US ] = "Close";
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT( 6, 171 );
- Size = MAP_APPFONT( 50, 14 );
- };
-};
-
-
-ErrorBox RID_XMLSECDLG_OLD_ODF_FORMAT
-{
- Buttons = WB_OK ;
- DefButton = WB_DEF_OK ;
- Message [ en-US ] =
- "This document contains signatures in ODF 1.1 (OpenOffice.org 2.x) format. "
- "Signing documents in %PRODUCTNAME %PRODUCTVERSION requires ODF 1.2 format version. "
- "Thus no signatures can be added or removed to this document.\n\n"
- "Save document in ODF 1.2 format and add all desired signatures again.";
-};
-
-
-QueryBox MSG_XMLSECDLG_QUERY_REMOVEDOCSIGNBEFORESIGN
-{
- Buttons = WB_YES_NO ;
- DefButton = WB_DEF_NO ;
- Message [ en-US ] = "Adding or removing a macro signature will remove all document signatures.\n"
- "Do you really want to continue?";
-};
-
-
diff --git a/xmlsecurity/source/dialogs/helpids.hrc b/xmlsecurity/source/dialogs/helpids.hrc
deleted file mode 100644
index 6b6088669..000000000
--- a/xmlsecurity/source/dialogs/helpids.hrc
+++ /dev/null
@@ -1,55 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#ifndef _XMLSEC_HELPIDS_HRC
-#define _XMLSEC_HELPIDS_HRC
-
-// include ---------------------------------------------------------------
-
-#include <svl/solar.hrc>
-
-// Help-Ids --------------------------------------------------------------
-
-#define HID_XMLSEC_TP_MACROSEC "XMLSECURITY_HID_XMLSEC_TP_MACROSEC"
-#define HID_XMLSEC_TP_SECLEVEL "XMLSECURITY_HID_XMLSEC_TP_SECLEVEL"
-#define HID_XMLSEC_TP_TRUSTSOURCES "XMLSECURITY_HID_XMLSEC_TP_TRUSTSOURCES"
-#define HID_XMLSEC_DLG_CERTVIEWER "XMLSECURITY_HID_XMLSEC_DLG_CERTVIEWER"
-#define HID_XMLSEC_TP_GENERAL "XMLSECURITY_HID_XMLSEC_TP_GENERAL"
-#define HID_XMLSEC_TP_DETAILS "XMLSECURITY_HID_XMLSEC_TP_DETAILS"
-#define HID_XMLSEC_TP_CERTPATH "XMLSECURITY_HID_XMLSEC_TP_CERTPATH"
-#define HID_XMLSEC_DLG_DIGSIG "XMLSECURITY_HID_XMLSEC_DLG_DIGSIG"
-#define HID_XMLSEC_TP_MACROWARN "XMLSECURITY_HID_XMLSEC_TP_MACROWARN"
-#define HID_XMLSEC_DLG_CERTCHOOSER "XMLSECURITY_HID_XMLSEC_DLG_CERTCHOOSER"
-#define HID_XMLSEC_CTRL_TRUSTSOURCES "XMLSECURITY_HID_XMLSEC_CTRL_TRUSTSOURCES"
-#define HID_XMLSEC_CTRL_ELEMENTS "XMLSECURITY_HID_XMLSEC_CTRL_ELEMENTS"
-#define HID_XMLSEC_CTRL_VIEWSIGNATURES "XMLSECURITY_HID_XMLSEC_CTRL_VIEWSIGNATURES"
-#define HID_XMLSEC_CTRL_SIGNATURESDLG "XMLSECURITY_HID_XMLSEC_CTRL_SIGNATURESDLG"
-#define HID_XMLSEC_CTRL_CHOOSESIGNATURES "XMLSECURITY_HID_XMLSEC_CTRL_CHOOSESIGNATURES"
-#define HID_XMLSEC_TREE_SIGNATURESDLG "XMLSECURITY_HID_XMLSEC_TREE_SIGNATURESDLG"
-
-#endif // #ifndef _XMLSEC_HELPIDS_HRC
-
diff --git a/xmlsecurity/source/dialogs/macrosecurity.cxx b/xmlsecurity/source/dialogs/macrosecurity.cxx
deleted file mode 100644
index fc301230d..000000000
--- a/xmlsecurity/source/dialogs/macrosecurity.cxx
+++ /dev/null
@@ -1,456 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_xmlsecurity.hxx"
-
-#include <xmlsecurity/macrosecurity.hxx>
-#include <xmlsecurity/certificatechooser.hxx>
-#include <xmlsecurity/certificateviewer.hxx>
-#include <xmlsecurity/biginteger.hxx>
-
-#include <osl/file.hxx>
-#include <vcl/help.hxx>
-
-
-#include <com/sun/star/xml/crypto/XSecurityEnvironment.hpp>
-#include <com/sun/star/security/SerialNumberAdapter.hpp>
-#include <comphelper/sequence.hxx>
-#include <sfx2/filedlghelper.hxx>
-#include <comphelper/processfactory.hxx>
-#include <com/sun/star/uno/Exception.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/ui/dialogs/XFolderPicker.hpp>
-#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
-#include <tools/urlobj.hxx>
-
-#include <vcl/msgbox.hxx>
-
-#include "dialogs.hrc"
-#include "resourcemanager.hxx"
-
-/* HACK: disable some warnings for MS-C */
-#ifdef _MSC_VER
-#pragma warning (disable : 4355) // 4355: this used in initializer-list
-#endif
-
-using namespace ::com::sun::star;
-
-
-IMPL_LINK( MacroSecurity, OkBtnHdl, void*, EMPTYARG )
-{
- mpLevelTP->ClosePage();
- mpTrustSrcTP->ClosePage();
-
- EndDialog( RET_OK );
-
- return 0;
-}
-
-MacroSecurity::MacroSecurity( Window* _pParent, const cssu::Reference< cssu::XComponentContext> &_rxCtx, const cssu::Reference< dcss::xml::crypto::XSecurityEnvironment >& _rxSecurityEnvironment )
- :TabDialog ( _pParent, XMLSEC_RES( RID_XMLSECTP_MACROSEC ) )
- ,maTabCtrl ( this, XMLSEC_RES( 1 ) )
- ,maOkBtn ( this, XMLSEC_RES( BTN_OK ) )
- ,maCancelBtn ( this, XMLSEC_RES( BTN_CANCEL ) )
- ,maHelpBtn ( this, XMLSEC_RES( BTN_HELP ) )
- ,maResetBtn ( this, XMLSEC_RES( BTN_RESET ) )
-{
- FreeResource();
-
- mxCtx = _rxCtx;
- mxSecurityEnvironment = _rxSecurityEnvironment;
-
- mpLevelTP = new MacroSecurityLevelTP( &maTabCtrl, this );
- mpTrustSrcTP = new MacroSecurityTrustedSourcesTP( &maTabCtrl, this );
-
- maTabCtrl.SetTabPage( RID_XMLSECTP_SECLEVEL, mpLevelTP );
- maTabCtrl.SetTabPage( RID_XMLSECTP_TRUSTSOURCES, mpTrustSrcTP );
- maTabCtrl.SetCurPageId( RID_XMLSECTP_SECLEVEL );
-
- maOkBtn.SetClickHdl( LINK( this, MacroSecurity, OkBtnHdl ) );
-}
-
-MacroSecurity::~MacroSecurity()
-{
- delete maTabCtrl.GetTabPage( RID_XMLSECTP_TRUSTSOURCES );
- delete maTabCtrl.GetTabPage( RID_XMLSECTP_SECLEVEL );
-}
-
-
-MacroSecurityTP::MacroSecurityTP( Window* _pParent, const ResId& _rResId, MacroSecurity* _pDlg )
- :TabPage ( _pParent, _rResId )
- ,mpDlg ( _pDlg )
-{
-}
-
-MacroSecurityLevelTP::MacroSecurityLevelTP( Window* _pParent, MacroSecurity* _pDlg )
- :MacroSecurityTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_SECLEVEL ), _pDlg )
- ,maSecLevelFL ( this, XMLSEC_RES( FL_SECLEVEL ) )
- ,maSecReadonlyFI ( this, XMLSEC_RES( FI_SEC_READONLY ))
- ,maVeryHighRB ( this, XMLSEC_RES( RB_VERYHIGH ) )
- ,maHighRB ( this, XMLSEC_RES( RB_HIGH ) )
- ,maMediumRB ( this, XMLSEC_RES( RB_MEDIUM ) )
- ,maLowRB ( this, XMLSEC_RES( RB_LOW ) )
-{
- FreeResource();
-
- maLowRB.SetClickHdl( LINK( this, MacroSecurityLevelTP, RadioButtonHdl ) );
- maMediumRB.SetClickHdl( LINK( this, MacroSecurityLevelTP, RadioButtonHdl ) );
- maHighRB.SetClickHdl( LINK( this, MacroSecurityLevelTP, RadioButtonHdl ) );
- maVeryHighRB.SetClickHdl( LINK( this, MacroSecurityLevelTP, RadioButtonHdl ) );
-
- mnCurLevel = (sal_uInt16) mpDlg->maSecOptions.GetMacroSecurityLevel();
- sal_Bool bReadonly = mpDlg->maSecOptions.IsReadOnly( SvtSecurityOptions::E_MACRO_SECLEVEL );
-
- RadioButton* pCheck = 0;
- switch( mnCurLevel )
- {
- case 3: pCheck = &maVeryHighRB; break;
- case 2: pCheck = &maHighRB; break;
- case 1: pCheck = &maMediumRB; break;
- case 0: pCheck = &maLowRB; break;
- }
- if(pCheck)
- pCheck->Check();
- else
- {
- OSL_FAIL("illegal macro security level");
- }
- maSecReadonlyFI.Show(bReadonly);
- if(bReadonly)
- {
- //move to the selected button
- if( pCheck && pCheck != &maVeryHighRB)
- {
- long nDiff = pCheck->GetPosPixel().Y() - maVeryHighRB.GetPosPixel().Y();
- Point aPos(maSecReadonlyFI.GetPosPixel());
- aPos.Y() += nDiff;
- maSecReadonlyFI.SetPosPixel(aPos);
- }
- maVeryHighRB.Enable(sal_False);
- maHighRB.Enable(sal_False);
- maMediumRB.Enable(sal_False);
- maLowRB.Enable(sal_False);
- }
-
-}
-
-IMPL_LINK( MacroSecurityLevelTP, RadioButtonHdl, RadioButton*, EMPTYARG )
-{
- sal_uInt16 nNewLevel = 0;
- if( maVeryHighRB.IsChecked() )
- nNewLevel = 3;
- else if( maHighRB.IsChecked() )
- nNewLevel = 2;
- else if( maMediumRB.IsChecked() )
- nNewLevel = 1;
-
- if ( nNewLevel != mnCurLevel )
- {
- mnCurLevel = nNewLevel;
- mpDlg->EnableReset();
- }
-
- return 0;
-}
-
-void MacroSecurityLevelTP::ClosePage( void )
-{
- mpDlg->maSecOptions.SetMacroSecurityLevel( mnCurLevel );
-}
-
-void MacroSecurityTrustedSourcesTP::ImplCheckButtons()
-{
- bool bCertSelected = maTrustCertLB.FirstSelected() != NULL;
- maViewCertPB.Enable( bCertSelected );
- maRemoveCertPB.Enable( bCertSelected && !mbAuthorsReadonly);
-
- bool bLocationSelected = maTrustFileLocLB.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND;
- maRemoveLocPB.Enable( bLocationSelected && !mbURLsReadonly);
-}
-
-
-IMPL_LINK( MacroSecurityTrustedSourcesTP, ViewCertPBHdl, void*, EMPTYARG )
-{
- if( maTrustCertLB.FirstSelected() )
- {
- sal_uInt16 nSelected = sal_uInt16( sal_uIntPtr( maTrustCertLB.FirstSelected()->GetUserData() ) );
-
- uno::Reference< dcss::security::XSerialNumberAdapter > xSerialNumberAdapter =
- ::com::sun::star::security::SerialNumberAdapter::create(mpDlg->mxCtx);
-
- uno::Reference< dcss::security::XCertificate > xCert = mpDlg->mxSecurityEnvironment->getCertificate( maTrustedAuthors[nSelected][0], xSerialNumberAdapter->toSequence( maTrustedAuthors[nSelected][1] ) );
-
- // If we don't get it, create it from signature data:
- if ( !xCert.is() )
- xCert = mpDlg->mxSecurityEnvironment->createCertificateFromAscii( maTrustedAuthors[nSelected][2] ) ;
-
- DBG_ASSERT( xCert.is(), "*MacroSecurityTrustedSourcesTP::ViewCertPBHdl(): Certificate not found and can't be created!" );
-
- if ( xCert.is() )
- {
- CertificateViewer aViewer( this, mpDlg->mxSecurityEnvironment, xCert, sal_False );
- aViewer.Execute();
- }
- }
- return 0;
-}
-
-IMPL_LINK( MacroSecurityTrustedSourcesTP, RemoveCertPBHdl, void*, EMPTYARG )
-{
- if( maTrustCertLB.FirstSelected() )
- {
- sal_uInt16 nAuthor = sal_uInt16( sal_uIntPtr( maTrustCertLB.FirstSelected()->GetUserData() ) );
- ::comphelper::removeElementAt( maTrustedAuthors, nAuthor );
-
- FillCertLB();
- ImplCheckButtons();
- }
-
- return 0;
-}
-
-IMPL_LINK( MacroSecurityTrustedSourcesTP, AddLocPBHdl, void*, EMPTYARG )
-{
- try
- {
- rtl::OUString aService( RTL_CONSTASCII_USTRINGPARAM( FOLDER_PICKER_SERVICE_NAME ) );
- uno::Reference < lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
- uno::Reference < ui::dialogs::XFolderPicker > xFolderPicker( xFactory->createInstance( aService ), uno::UNO_QUERY );
-
- short nRet = xFolderPicker->execute();
-
- if( ui::dialogs::ExecutableDialogResults::OK != nRet )
- return 0;
-
- rtl::OUString aPathStr = xFolderPicker->getDirectory();
- INetURLObject aNewObj( aPathStr );
- aNewObj.removeFinalSlash();
-
- // then the new path also an URL else system path
- ::rtl::OUString aSystemFileURL = ( aNewObj.GetProtocol() != INET_PROT_NOT_VALID ) ?
- aPathStr : aNewObj.getFSysPath( INetURLObject::FSYS_DETECT );
-
- String aNewPathStr(aSystemFileURL);
-
- if ( osl::FileBase::getSystemPathFromFileURL( aSystemFileURL, aSystemFileURL ) == osl::FileBase::E_None )
- aNewPathStr = aSystemFileURL;
-
- if( maTrustFileLocLB.GetEntryPos( aNewPathStr ) == LISTBOX_ENTRY_NOTFOUND )
- {
- maTrustFileLocLB.InsertEntry( aNewPathStr );
- }
-
- ImplCheckButtons();
- }
- catch( uno::Exception& )
- {
- DBG_ERRORFILE( "MacroSecurityTrustedSourcesTP::AddLocPBHdl(): exception from folder picker" );
- }
-
- return 0;
-}
-
-IMPL_LINK( MacroSecurityTrustedSourcesTP, RemoveLocPBHdl, void*, EMPTYARG )
-{
- sal_uInt16 nSel = maTrustFileLocLB.GetSelectEntryPos();
- if( nSel != LISTBOX_ENTRY_NOTFOUND )
- {
- maTrustFileLocLB.RemoveEntry( nSel );
- // Trusted Path could not be removed (#i33584#)
- // after remove an entry, select another one if exists
- sal_uInt16 nNewCount = maTrustFileLocLB.GetEntryCount();
- if ( nNewCount > 0 )
- {
- if ( nSel >= nNewCount )
- nSel = nNewCount - 1;
- maTrustFileLocLB.SelectEntryPos( nSel );
- }
- ImplCheckButtons();
- }
-
- return 0;
-}
-
-IMPL_LINK( MacroSecurityTrustedSourcesTP, TrustCertLBSelectHdl, void*, EMPTYARG )
-{
- ImplCheckButtons();
- return 0;
-}
-
-IMPL_LINK( MacroSecurityTrustedSourcesTP, TrustFileLocLBSelectHdl, void*, EMPTYARG )
-{
- ImplCheckButtons();
- return 0;
-}
-
-void MacroSecurityTrustedSourcesTP::FillCertLB( void )
-{
- maTrustCertLB.Clear();
-
- sal_uInt32 nEntries = maTrustedAuthors.getLength();
-
- if ( nEntries && mpDlg->mxSecurityEnvironment.is() )
- {
- for( sal_uInt32 nEntry = 0 ; nEntry < nEntries ; ++nEntry )
- {
- cssu::Sequence< ::rtl::OUString >& rEntry = maTrustedAuthors[ nEntry ];
- uno::Reference< css::security::XCertificate > xCert;
-
- // create from RawData
- xCert = mpDlg->mxSecurityEnvironment->createCertificateFromAscii( rEntry[ 2 ] );
-
- SvLBoxEntry* pLBEntry = maTrustCertLB.InsertEntry( XmlSec::GetContentPart( xCert->getSubjectName() ) );
- maTrustCertLB.SetEntryText( XmlSec::GetContentPart( xCert->getIssuerName() ), pLBEntry, 1 );
- maTrustCertLB.SetEntryText( XmlSec::GetDateTimeString( xCert->getNotValidAfter() ), pLBEntry, 2 );
- pLBEntry->SetUserData( ( void* ) (sal_IntPtr)nEntry ); // missuse user data as index
- }
- }
-}
-
-MacroSecurityTrustedSourcesTP::MacroSecurityTrustedSourcesTP( Window* _pParent, MacroSecurity* _pDlg )
- :MacroSecurityTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_TRUSTSOURCES ), _pDlg )
- ,maTrustCertFL ( this, XMLSEC_RES( FL_TRUSTCERT ) )
- ,maTrustCertROFI ( this, XMLSEC_RES( FI_TRUSTCERT_RO ) )
- ,m_aTrustCertLBContainer(this, XMLSEC_RES(LB_TRUSTCERT))
- ,maTrustCertLB(m_aTrustCertLBContainer)
- ,maAddCertPB ( this, XMLSEC_RES( PB_ADD_TRUSTCERT ) )
- ,maViewCertPB ( this, XMLSEC_RES( PB_VIEW_TRUSTCERT ) )
- ,maRemoveCertPB ( this, XMLSEC_RES( PB_REMOVE_TRUSTCERT ) )
- ,maTrustFileLocFL ( this, XMLSEC_RES( FL_TRUSTFILELOC ) )
- ,maTrustFileROFI ( this, XMLSEC_RES( FI_TRUSTFILE_RO ) )
- ,maTrustFileLocFI ( this, XMLSEC_RES( FI_TRUSTFILELOC ) )
- ,maTrustFileLocLB ( this, XMLSEC_RES( LB_TRUSTFILELOC ) )
- ,maAddLocPB ( this, XMLSEC_RES( FL_ADD_TRUSTFILELOC ) )
- ,maRemoveLocPB ( this, XMLSEC_RES( FL_REMOVE_TRUSTFILELOC ) )
-{
- static long nTabs[] = { 3, 0, 35*CS_LB_WIDTH/100, 70*CS_LB_WIDTH/100 };
- maTrustCertLB.SetTabs( &nTabs[ 0 ] );
- maTrustCertLB.InsertHeaderEntry( String( XMLSEC_RES( STR_HEADERBAR ) ) );
-
- FreeResource();
-
- maTrustCertLB.SetSelectHdl( LINK( this, MacroSecurityTrustedSourcesTP, TrustCertLBSelectHdl ) );
- maAddCertPB.Hide(); // not used in the moment...
- maViewCertPB.SetClickHdl( LINK( this, MacroSecurityTrustedSourcesTP, ViewCertPBHdl ) );
- maViewCertPB.Disable();
- maRemoveCertPB.SetClickHdl( LINK( this, MacroSecurityTrustedSourcesTP, RemoveCertPBHdl ) );
- maRemoveCertPB.Disable();
-
- maTrustFileLocLB.SetSelectHdl( LINK( this, MacroSecurityTrustedSourcesTP, TrustFileLocLBSelectHdl ) );
- maAddLocPB.SetClickHdl( LINK( this, MacroSecurityTrustedSourcesTP, AddLocPBHdl ) );
- maRemoveLocPB.SetClickHdl( LINK( this, MacroSecurityTrustedSourcesTP, RemoveLocPBHdl ) );
- maRemoveLocPB.Disable();
-
- maTrustedAuthors = mpDlg->maSecOptions.GetTrustedAuthors();
- mbAuthorsReadonly = mpDlg->maSecOptions.IsReadOnly( SvtSecurityOptions::E_MACRO_TRUSTEDAUTHORS );
- maTrustCertROFI.Show( mbAuthorsReadonly );
- mbAuthorsReadonly ? maTrustCertLB.DisableTable() : maTrustCertLB.EnableTable();
-
- FillCertLB();
-
- cssu::Sequence< rtl::OUString > aSecureURLs = mpDlg->maSecOptions.GetSecureURLs();
- mbURLsReadonly = mpDlg->maSecOptions.IsReadOnly( SvtSecurityOptions::E_SECUREURLS );
- maTrustFileROFI.Show( mbURLsReadonly );
- maTrustFileLocLB.Enable( !mbURLsReadonly );
- maAddLocPB .Enable( !mbURLsReadonly );
-
- sal_Int32 nEntryCnt = aSecureURLs.getLength();
- for( sal_Int32 i = 0 ; i < nEntryCnt ; ++i )
- {
- ::rtl::OUString aSystemFileURL( aSecureURLs[ i ] );
- osl::FileBase::getSystemPathFromFileURL( aSystemFileURL, aSystemFileURL );
- maTrustFileLocLB.InsertEntry( aSystemFileURL );
- }
-}
-
-void MacroSecurityTrustedSourcesTP::ActivatePage()
-{
- mpDlg->EnableReset( false );
- FillCertLB();
-}
-
-void MacroSecurityTrustedSourcesTP::ClosePage( void )
-{
- sal_uInt16 nEntryCnt = maTrustFileLocLB.GetEntryCount();
- if( nEntryCnt )
- {
- cssu::Sequence< rtl::OUString > aSecureURLs( nEntryCnt );
- for( sal_uInt16 i = 0 ; i < nEntryCnt ; ++i )
- {
- ::rtl::OUString aURL( maTrustFileLocLB.GetEntry( i ) );
- osl::FileBase::getFileURLFromSystemPath( aURL, aURL );
- aSecureURLs[ i ] = aURL;
- }
-
- mpDlg->maSecOptions.SetSecureURLs( aSecureURLs );
- }
- // Trusted Path could not be removed (#i33584#)
- // don't forget to remove the old saved SecureURLs
- else
- mpDlg->maSecOptions.SetSecureURLs( cssu::Sequence< rtl::OUString >() );
-
- mpDlg->maSecOptions.SetTrustedAuthors( maTrustedAuthors );
-}
-
-ReadOnlyImage::ReadOnlyImage(Window* pParent, const ResId rResId) :
- FixedImage(pParent, rResId)
-{
- SetImage( Image(XMLSEC_RES( RID_XMLSECTP_LOCK )));
-}
-
-ReadOnlyImage::~ReadOnlyImage()
-{
-}
-
-void ReadOnlyImage::RequestHelp( const HelpEvent& rHEvt )
-{
- if( Help::IsBalloonHelpEnabled() || Help::IsQuickHelpEnabled() )
- {
- Rectangle aLogicPix( LogicToPixel( Rectangle( Point(), GetOutputSize() ) ) );
- Rectangle aScreenRect( OutputToScreenPixel( aLogicPix.TopLeft() ),
- OutputToScreenPixel( aLogicPix.BottomRight() ) );
-
- String aStr(ReadOnlyImage::GetHelpTip());
- if ( Help::IsBalloonHelpEnabled() )
- Help::ShowBalloon( this, rHEvt.GetMousePosPixel(), aScreenRect,
- aStr );
- else if ( Help::IsQuickHelpEnabled() )
- Help::ShowQuickHelp( this, aScreenRect, aStr );
- }
- else
- Window::RequestHelp( rHEvt );
-}
-
-const String& ReadOnlyImage::GetHelpTip()
-{
- static String aStr(XMLSEC_RES( RID_XMLSECTP_READONLY_CONFIG_TIP));
- return aStr;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/macrosecurity.src b/xmlsecurity/source/dialogs/macrosecurity.src
deleted file mode 100644
index 8c790986a..000000000
--- a/xmlsecurity/source/dialogs/macrosecurity.src
+++ /dev/null
@@ -1,241 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#include "dialogs.hrc"
-#include "helpids.hrc"
-
-TabDialog RID_XMLSECTP_MACROSEC
-{
- HelpID = HID_XMLSEC_TP_MACROSEC;
- Size = MAP_APPFONT( TD_WIDTH, TD_HEIGHT );
- OutputSize = TRUE;
- Closeable = TRUE;
- Moveable = TRUE;
- SVLook = TRUE;
-
- Text [ en-US ] = "Macro Security";
- TabControl 1
- {
- Pos = MAP_APPFONT( TD_SP_INNERBORDER_LEFT, TD_SP_INNERBORDER_TOP );
- Size = MAP_APPFONT( TP_WIDTH, TP_HEIGHT+RIDDER_HEIGHT );
- SVLook = TRUE ;
- PageList =
- {
- PageItem
- {
- Identifier = RID_XMLSECTP_SECLEVEL;
- Text [ en-US ] = "Security Level";
- };
- PageItem
- {
- Identifier = RID_XMLSECTP_TRUSTSOURCES;
- Text [ en-US ] = "Trusted Sources";
- };
- };
- };
- OKButton BTN_OK
- {
- Pos = MAP_APPFONT( MS_COL_H, CV_ROW_A );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- DefButton = TRUE;
- };
- CancelButton BTN_CANCEL
- {
- Pos = MAP_APPFONT( MS_COL_F, CV_ROW_A );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT( MS_COL_D, CV_ROW_A );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- };
- PushButton BTN_RESET
- {
- Pos = MAP_APPFONT( MS_COL_B, CV_ROW_A );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "Reset";
- };
-};
-
-TabPage RID_XMLSECTP_SECLEVEL
-{
- HelpId = HID_XMLSEC_TP_SECLEVEL;
- Size = MAP_APPFONT( TP_WIDTH, TP_HEIGHT );
- OutputSize = TRUE;
- Hide = TRUE;
- SVLook = TRUE;
- FixedLine FL_SECLEVEL
- {
- Pos = MAP_APPFONT( SL_COL_0, SL_ROW_0 );
- Size = MAP_APPFONT( SL_COL_3-SL_COL_0, RSC_CD_FIXEDLINE_HEIGHT );
- Hide = TRUE;
- };
- FixedImage FI_SEC_READONLY
- {
- Pos = MAP_APPFONT( SL_COL_1 - 7, SL_ROW_0 + 4 );
- Size = MAP_APPFONT( 6, 6 );
- };
- RadioButton RB_VERYHIGH
- {
- HelpID = "xmlsecurity:RadioButton:RID_XMLSECTP_SECLEVEL:RB_VERYHIGH";
- Pos = MAP_APPFONT( SL_COL_1, SL_ROW_0 );
- Size = MAP_APPFONT( SL_COL_2-SL_COL_1, RSC_BIG_RADIOBUTTON );
- WordBreak = TRUE;
- Text [ en-US ] = "~Very high.\nOnly macros from trusted file locations are allowed to run. All other macros, regardless whether signed or not, are disabled.";
- };
- RadioButton RB_HIGH
- {
- HelpID = "xmlsecurity:RadioButton:RID_XMLSECTP_SECLEVEL:RB_HIGH";
- Pos = MAP_APPFONT( SL_COL_1, SL_ROW_1 );
- Size = MAP_APPFONT( SL_COL_2-SL_COL_1, RSC_BIG_RADIOBUTTON );
- WordBreak = TRUE;
- Text [ en-US ] = "H~igh.\nOnly signed macros from trusted sources are allowed to run. Unsigned macros are disabled.";
- };
- RadioButton RB_MEDIUM
- {
- HelpID = "xmlsecurity:RadioButton:RID_XMLSECTP_SECLEVEL:RB_MEDIUM";
- Pos = MAP_APPFONT( SL_COL_1, SL_ROW_2 );
- Size = MAP_APPFONT( SL_COL_2-SL_COL_1, RSC_BIG_RADIOBUTTON );
- WordBreak = TRUE;
- Text [ en-US ] = "~Medium.\nConfirmation required before executing macros from untrusted sources.";
- };
- RadioButton RB_LOW
- {
- HelpID = "xmlsecurity:RadioButton:RID_XMLSECTP_SECLEVEL:RB_LOW";
- Pos = MAP_APPFONT( SL_COL_1, SL_ROW_3 );
- Size = MAP_APPFONT( SL_COL_2-SL_COL_1, SL_ROW_4-SL_ROW_3 );
- WordBreak = TRUE;
- Text [ en-US ] = "~Low (not recommended).\nAll macros will be executed without confirmation. Use this setting only if you are certain that all documents that will be opened are safe.";
- };
-};
-
-TabPage RID_XMLSECTP_TRUSTSOURCES
-{
- HelpId = HID_XMLSEC_TP_TRUSTSOURCES;
- Size = MAP_APPFONT( TP_WIDTH, TP_HEIGHT );
- OutputSize = TRUE;
- Hide = TRUE;
- SVLook = TRUE;
- FixedLine FL_TRUSTCERT
- {
- Pos = MAP_APPFONT( TS_COL_0, TS_ROW_0 );
- Size = MAP_APPFONT( TS_COL_8-TS_COL_0, RSC_CD_FIXEDLINE_HEIGHT );
- Text [ en-US ] = "Trusted certificates";
- };
- FixedImage FI_TRUSTCERT_RO
- {
- Pos = MAP_APPFONT( TS_COL_1 - 7, TS_ROW_1 );
- Size = MAP_APPFONT( 6, 6 );
- };
- Control LB_TRUSTCERT
- {
- HelpId = HID_XMLSEC_CTRL_TRUSTSOURCES;
- Pos = MAP_APPFONT( TS_COL_1, TS_ROW_1 );
- Size = MAP_APPFONT( TS_COL_7-TS_COL_1, RSC_CD_TABLISTBOX_HEIGHT );
- SVLook = TRUE;
- Border = TRUE;
- };
- String STR_HEADERBAR
- {
- Text [ en-US ] = "Issued to\tIssued by\tExpiration date";
- };
- PushButton PB_ADD_TRUSTCERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_TRUSTSOURCES:PB_ADD_TRUSTCERT";
- Pos = MAP_APPFONT( TS_COL_2, TS_ROW_2 );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "Add...";
- };
- PushButton PB_VIEW_TRUSTCERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_TRUSTSOURCES:PB_VIEW_TRUSTCERT";
- Pos = MAP_APPFONT( TS_COL_4, TS_ROW_2 );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "View...";
- };
- PushButton PB_REMOVE_TRUSTCERT
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_TRUSTSOURCES:PB_REMOVE_TRUSTCERT";
- Pos = MAP_APPFONT( TS_COL_6, TS_ROW_2 );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "Remove";
- };
- FixedLine FL_TRUSTFILELOC
- {
- Pos = MAP_APPFONT( TS_COL_0, TS_ROW_3 );
- Size = MAP_APPFONT( TS_COL_8-TS_COL_0, RSC_CD_FIXEDLINE_HEIGHT );
- Text [ en-US ] = "Trusted file locations";
- };
- FixedText FI_TRUSTFILELOC
- {
- Pos = MAP_APPFONT( TS_COL_1, TS_ROW_4 );
- Size = MAP_APPFONT( TS_COL_7-TS_COL_1, 3*RSC_CD_FIXEDLINE_HEIGHT );
- WordBreak = TRUE;
- Text [ en-US ] = "Document macros are always executed if they have been opened from one of the following locations.";
- };
- FixedImage FI_TRUSTFILE_RO
- {
- Pos = MAP_APPFONT( TS_COL_1 - 7, TS_ROW_5 );
- Size = MAP_APPFONT( 6, 6 );
- };
- ListBox LB_TRUSTFILELOC
- {
- HelpID = "xmlsecurity:ListBox:RID_XMLSECTP_TRUSTSOURCES:LB_TRUSTFILELOC";
- Pos = MAP_APPFONT( TS_COL_1, TS_ROW_5 );
- Size = MAP_APPFONT( TS_COL_7-TS_COL_1, TS_ROW_6-TS_ROW_5 );
- SVLook = TRUE;
- Border = TRUE;
- VScroll = TRUE;
- Sort = TRUE;
- };
- PushButton FL_ADD_TRUSTFILELOC
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_TRUSTSOURCES:FL_ADD_TRUSTFILELOC";
- Pos = MAP_APPFONT( TS_COL_4, TS_ROW_7 );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "Add...";
- };
- PushButton FL_REMOVE_TRUSTFILELOC
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_TRUSTSOURCES:FL_REMOVE_TRUSTFILELOC";
- Pos = MAP_APPFONT( TS_COL_6, TS_ROW_7 );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "Remove";
- };
-};
-String RID_XMLSECTP_READONLY_CONFIG_TIP
-{
- Text [ en-US ] = "This setting is protected by the Administrator";
-};
-Image RID_XMLSECTP_LOCK
-{
- ImageBitmap = Bitmap
- {
- File = "lock.bmp";
- };
- MaskColor = Color { Red=0xffff; Green=0x0000; Blue=0xffff; };
-};
diff --git a/xmlsecurity/source/dialogs/makefile.mk b/xmlsecurity/source/dialogs/makefile.mk
deleted file mode 100644
index 4cead130d..000000000
--- a/xmlsecurity/source/dialogs/makefile.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# 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.
-#
-# 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).
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=xmlsecurity
-TARGET=dialogs
-TARGETTYPE=GUI
-
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/target.pmk
-
-
-# --- Files --------------------------------------------------------
-
-BMP_IN=$(PRJ)$/res
-
-SRS1NAME=dialogs
-SRC1FILES = \
- digitalsignaturesdialog.src \
- certificatechooser.src \
- certificateviewer.src \
- macrosecurity.src
-
-SLOFILES= \
- $(SLO)$/digitalsignaturesdialog.obj \
- $(SLO)$/certificatechooser.obj \
- $(SLO)$/certificateviewer.obj \
- $(SLO)$/macrosecurity.obj \
- $(SLO)$/resourcemanager.obj
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/xmlsecurity/source/dialogs/resourcemanager.cxx b/xmlsecurity/source/dialogs/resourcemanager.cxx
deleted file mode 100644
index 8e631a410..000000000
--- a/xmlsecurity/source/dialogs/resourcemanager.cxx
+++ /dev/null
@@ -1,430 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_xmlsecurity.hxx"
-
-#include "resourcemanager.hxx"
-
-#include <vcl/svapp.hxx>
-#include <vcl/fixed.hxx>
-#include <svtools/stdctrl.hxx>
-#include <svl/solar.hrc>
-#include <unotools/syslocale.hxx>
-#include <rtl/ustring.h>
-#include <rtl/ustrbuf.h>
-#include <vector>
-
-using ::rtl::OUString;
-using namespace std;
-
-namespace XmlSec
-{
- static ResMgr* pResMgr = 0;
- static SvtSysLocale* pSysLocale = 0;
-
- ResMgr* GetResMgr( void )
- {
- if( !pResMgr )
- {
- ByteString aName( "xmlsec" );
-// MT: Change to Locale
- pResMgr = ResMgr::CreateResMgr( aName.GetBuffer() );
- }
-
- return pResMgr;
- }
-
- const LocaleDataWrapper& GetLocaleData( void )
- {
- if (!pSysLocale)
- pSysLocale = new SvtSysLocale;
- return pSysLocale->GetLocaleData();
- }
-
- DateTime GetDateTime( const ::com::sun::star::util::DateTime& _rDT )
- {
- return DateTime(
- Date( _rDT.Day, _rDT.Month, _rDT.Year ),
- Time( _rDT.Hours, _rDT.Minutes, _rDT.Seconds, _rDT.HundredthSeconds ) );
- }
-
- String GetDateTimeString( const ::com::sun::star::util::DateTime& _rDT )
- {
- // String with date and time information (#i20172#)
- DateTime aDT( GetDateTime( _rDT ) );
- const LocaleDataWrapper& rLoDa = GetLocaleData();
- String sRet( rLoDa.getDate( aDT ) );
- sRet += ' ';
- sRet += rLoDa.getTime( aDT );
- return sRet;
- }
-
- String GetDateTimeString( const rtl::OUString& _rDate, const rtl::OUString& _rTime )
- {
- String sDay( _rDate, 6, 2 );
- String sMonth( _rDate, 4, 2 );
- String sYear( _rDate, 0, 4 );
-
- String sHour( _rTime, 0, 2 );
- String sMin( _rTime, 4, 2 );
- String sSec( _rTime, 6, 2 );
-
-
- Date aDate( (sal_uInt16)sDay.ToInt32(), (sal_uInt16) sMonth.ToInt32(), (sal_uInt16)sYear.ToInt32() );
- Time aTime( sHour.ToInt32(), sMin.ToInt32(), sSec.ToInt32(), 0 );
- const LocaleDataWrapper& rLoDa = GetLocaleData();
- String aStr( rLoDa.getDate( aDate ) );
- aStr.AppendAscii( " " );
- aStr += rLoDa.getTime( aTime );
- return aStr;
- }
-
- String GetDateString( const ::com::sun::star::util::DateTime& _rDT )
- {
- return GetLocaleData().getDate( GetDateTime( _rDT ) );
- }
-
- /*
- Creates two strings based on the distinguished name which are displayed in the
- certificate details view. The first string contains only the values of the attribute
- and valudes pairs, which are separated by commas. All escape characters ('"') are
- removed.
- The second string is for the details view at the bottom. It shows the attribute/value
- pairs on different lines. All escape characters ('"') are removed.
- */
- pair< OUString, OUString> GetDNForCertDetailsView( const OUString & rRawString)
- {
- vector< pair< OUString, OUString > > vecAttrValueOfDN = parseDN(rRawString);
- ::rtl::OUStringBuffer s1, s2;
- OUString sEqual(RTL_CONSTASCII_USTRINGPARAM(" = "));
- typedef vector< pair < OUString, OUString > >::const_iterator CIT;
- for (CIT i = vecAttrValueOfDN.begin(); i < vecAttrValueOfDN.end(); ++i)
- {
- if (i != vecAttrValueOfDN.begin())
- {
- s1.append(static_cast<sal_Unicode>(','));
- s2.append(static_cast<sal_Unicode>('\n'));
- }
- s1.append(i->second);
- s2.append(i->first);
- s2.append(sEqual);
- s2.append(i->second);
- }
- return make_pair(s1.makeStringAndClear(), s2.makeStringAndClear());
- }
-
-/*
- Whenever the attribute value contains special characters, such as '"' or ',' (without '')
- then the value will be enclosed in double quotes by the respective Windows or NSS function
- which we use to retrieve, for example, the subject name. If double quotes appear in the value then
- they are escaped with a double quote. This function removes the escape characters.
-*/
-#ifdef WNT
-vector< pair< OUString, OUString> > parseDN(const OUString& rRawString)
-{
- vector< pair<OUString, OUString> > retVal;
- bool bInEscape = false;
- bool bInValue = false;
- bool bInType = true;
- sal_Int32 nTypeNameStart = 0;
- OUString sType;
- ::rtl::OUStringBuffer sbufValue;
- sal_Int32 length = rRawString.getLength();
-
- for (sal_Int32 i = 0; i < length; i++)
- {
- sal_Unicode c = rRawString[i];
-
- if (c == '=')
- {
- if (! bInValue)
- {
- sType = rRawString.copy(nTypeNameStart, i - nTypeNameStart);
- sType = sType.trim();
- bInType = false;
- }
- else
- {
- sbufValue.append(c);
- }
- }
- else if (c == '"')
- {
- if (!bInEscape)
- {
- //If this is the quote is the first of the couple which enclose the
- //whole value, because the value contains special characters
- //then we just drop it. That is, this character must be followed by
- //a character which is not '"'.
- if ( i + 1 < length && rRawString[i+1] == '"')
- bInEscape = true;
- else
- bInValue = !bInValue; //value is enclosed in " "
- }
- else
- {
- //This quote is escaped by a preceding quote and therefore is
- //part of the value
- sbufValue.append(c);
- bInEscape = false;
- }
- }
- else if (c == ',' || c == '+')
- {
- //The comma separate the attribute value pairs.
- //If the comma is not part of a value (the value would then be enclosed in '"'),
- //then we have reached the end of the value
- if (!bInValue)
- {
- OSL_ASSERT(sType.getLength());
- retVal.push_back(make_pair(sType, sbufValue.makeStringAndClear()));
- sType = OUString();
- //The next char is the start of the new type
- nTypeNameStart = i + 1;
- bInType = true;
- }
- else
- {
- //The whole string is enclosed because it contains special characters.
- //The enclosing '"' are not part of certificate but will be added by
- //the function (Windows or NSS) which retrieves DN
- sbufValue.append(c);
- }
- }
- else
- {
- if (!bInType)
- sbufValue.append(c);
- }
- }
- if (sbufValue.getLength())
- {
- OSL_ASSERT(sType.getLength());
- retVal.push_back(make_pair(sType, sbufValue.makeStringAndClear()));
- }
- return retVal;
- }
-#else
-vector< pair< OUString, OUString> > parseDN(const OUString& rRawString)
- {
- vector< pair<OUString, OUString> > retVal;
- //bInEscape == true means that the preceding character is an escape character
- bool bInEscape = false;
- bool bInValue = false;
- bool bInType = true;
- sal_Int32 nTypeNameStart = 0;
- OUString sType;
- ::rtl::OUStringBuffer sbufValue;
- sal_Int32 length = rRawString.getLength();
-
- for (sal_Int32 i = 0; i < length; i++)
- {
- sal_Unicode c = rRawString[i];
-
- if (c == '=')
- {
- if (! bInValue)
- {
- sType = rRawString.copy(nTypeNameStart, i - nTypeNameStart);
- sType = sType.trim();
- bInType = false;
- }
- else
- {
- sbufValue.append(c);
- }
- }
- else if (c == '\\')
- {
- if (!bInEscape)
- {
- bInEscape = true;
- }
- else
- { // bInEscape is true
- sbufValue.append(c);
- bInEscape = false;
- }
- }
- else if (c == '"')
- {
- //an unescaped '"' is either at the beginning or end of the value
- if (!bInEscape)
- {
- if ( !bInValue)
- bInValue = true;
- else if (bInValue)
- bInValue = false;
- }
- else
- {
- //This quote is escaped by a preceding quote and therefore is
- //part of the value
- sbufValue.append(c);
- bInEscape = false;
- }
- }
- else if (c == ',' || c == '+')
- {
- //The comma separate the attribute value pairs.
- //If the comma is not part of a value (the value would then be enclosed in '"'),
- //then we have reached the end of the value
- if (!bInValue)
- {
- OSL_ASSERT(sType.getLength());
- retVal.push_back(make_pair(sType, sbufValue.makeStringAndClear()));
- sType = OUString();
- //The next char is the start of the new type
- nTypeNameStart = i + 1;
- bInType = true;
- }
- else
- {
- //The whole string is enclosed because it contains special characters.
- //The enclosing '"' are not part of certificate but will be added by
- //the function (Windows or NSS) which retrieves DN
- sbufValue.append(c);
- }
- }
- else
- {
- if (!bInType)
- {
- sbufValue.append(c);
- bInEscape = false;
- }
- }
- }
- if (sbufValue.getLength())
- {
- OSL_ASSERT(sType.getLength());
- retVal.push_back(make_pair(sType, sbufValue.makeStringAndClear()));
- }
- return retVal;
- }
-
-#endif
-
- String GetContentPart( const String& _rRawString )
- {
- char const * aIDs[] = { "CN", "OU", "O", "E", NULL };
- OUString retVal;
- int i = 0;
- vector< pair< OUString, OUString > > vecAttrValueOfDN = parseDN(_rRawString);
- while ( aIDs[i] )
- {
- OUString sPartId = OUString::createFromAscii( aIDs[i++] );
- typedef vector< pair < OUString, OUString > >::const_iterator CIT;
- for (CIT idn = vecAttrValueOfDN.begin(); idn != vecAttrValueOfDN.end(); ++idn)
- {
- if (idn->first.equals(sPartId))
- {
- retVal = idn->second;
- break;
- }
- }
- if (retVal.getLength())
- break;
- }
- return retVal;
- }
-
- String GetHexString( const ::com::sun::star::uno::Sequence< sal_Int8 >& _rSeq, const char* _pSep, sal_uInt16 _nLineBreak )
- {
- const sal_Int8* pSerNumSeq = _rSeq.getConstArray();
- int nCnt = _rSeq.getLength();
- String aStr;
- const char pHexDigs[ 17 ] = "0123456789ABCDEF";
- char pBuffer[ 3 ] = " ";
- sal_uInt8 nNum;
- sal_uInt16 nBreakStart = _nLineBreak? _nLineBreak : 1;
- sal_uInt16 nBreak = nBreakStart;
- for( int i = 0 ; i < nCnt ; ++i )
- {
- nNum = sal_uInt8( pSerNumSeq[ i ] );
-
- // exchange the buffer[0] and buffer[1], which make it consistent with Mozilla and Windows
- pBuffer[ 1 ] = pHexDigs[ nNum & 0x0F ];
- nNum >>= 4;
- pBuffer[ 0 ] = pHexDigs[ nNum ];
- aStr.AppendAscii( pBuffer );
-
- --nBreak;
- if( nBreak )
- aStr.AppendAscii( _pSep );
- else
- {
- nBreak = nBreakStart;
- aStr.AppendAscii( "\n" );
- }
- }
-
- return aStr;
- }
-
- long ShrinkToFitWidth( Control& _rCtrl, long _nOffs )
- {
- long nWidth = _rCtrl.GetTextWidth( _rCtrl.GetText() );
- Size aSize( _rCtrl.GetSizePixel() );
- nWidth += _nOffs;
- aSize.Width() = nWidth;
- _rCtrl.SetSizePixel( aSize );
- return nWidth;
- }
-
- void AlignAfterImage( const FixedImage& _rImage, Control& _rCtrl, long _nXOffset )
- {
- Point aPos( _rImage.GetPosPixel() );
- Size aSize( _rImage.GetSizePixel() );
- long n = aPos.X();
- n += aSize.Width();
- n += _nXOffset;
- aPos.X() = n;
- n = aPos.Y();
- n += aSize.Height() / 2; // y-position is in the middle of the image
- n -= _rCtrl.GetSizePixel().Height() / 2; // center Control
- aPos.Y() = n;
- _rCtrl.SetPosPixel( aPos );
- }
-
- void AlignAfterImage( const FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset )
- {
- AlignAfterImage( _rImage, static_cast< Control& >( _rFI ), _nXOffset );
- ShrinkToFitWidth( _rFI );
- }
-
- void AlignAndFitImageAndControl( FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset )
- {
- _rImage.SetSizePixel( _rImage.GetImage().GetSizePixel() );
- AlignAfterImage( _rImage, _rFI, _nXOffset );
- }
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/resourcemanager.hxx b/xmlsecurity/source/dialogs/resourcemanager.hxx
deleted file mode 100644
index 14f716fde..000000000
--- a/xmlsecurity/source/dialogs/resourcemanager.hxx
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#ifndef _RESOURCEMANAGER_HXX
-#define _RESOURCEMANAGER_HXX
-
-#include <tools/resmgr.hxx>
-#include <tools/datetime.hxx>
-#include <com/sun/star/util/DateTime.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
-
-#include <vector>
-
-class FixedImage;
-class FixedInfo;
-class Control;
-class LocaleDataWrapper;
-
-namespace XmlSec
-{
- ResMgr* GetResMgr( void );
-
- const LocaleDataWrapper& GetLocaleData( void );
- DateTime GetDateTime( const ::com::sun::star::util::DateTime& _rDT );
- String GetDateTimeString( const ::com::sun::star::util::DateTime& _rDT );
- String GetDateTimeString( const rtl::OUString& _rDate, const rtl::OUString& _rTime );
- String GetDateString( const ::com::sun::star::util::DateTime& _rDT );
-
- std::vector< std::pair< ::rtl::OUString, ::rtl::OUString> >
- parseDN(const ::rtl::OUString& rRawString);
- std::pair< ::rtl::OUString, ::rtl::OUString> GetDNForCertDetailsView(
- const ::rtl::OUString & rRawString);
- String GetContentPart( const String& _rRawString );
-
- String GetHexString( const ::com::sun::star::uno::Sequence< sal_Int8 >& _rSeq, const char* _pSep = ":", sal_uInt16 _nLineBreak = 0xFFFF );
-
- long ShrinkToFitWidth( Control& _rCtrl, long _nOffs = 0 ); // return = new width
- void AlignAfterImage( const FixedImage& _rImage, Control& _rCtrl, long _nXOffset = 0 );
- void AlignAfterImage( const FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset = 0 );
- void AlignAndFitImageAndControl( FixedImage& _rImage, FixedInfo& _rFI, long _nXOffset = 0 );
-}
-
-#define XMLSEC_RES(id) ResId(id,*XmlSec::GetResMgr())
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/stbcontrl.cxx b/xmlsecurity/source/dialogs/stbcontrl.cxx
deleted file mode 100644
index f5064399e..000000000
--- a/xmlsecurity/source/dialogs/stbcontrl.cxx
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_xmlsecurity.hxx"
-
-#include <tools/shl.hxx>
-#include <vcl/status.hxx>
-#include <vcl/menu.hxx>
-#include <vcl/image.hxx>
-#include <sfx2/app.hxx>
-#include <sfx2/module.hxx>
-#include <sfx2/dispatch.hxx>
-#include <sfx2/objsh.hxx>
-#include <svl/eitem.hxx>
-#include <xmlsecurity/stbcontrl.hxx>
-
-#define PAINT_OFFSET 5
-
-SFX_IMPL_STATUSBAR_CONTROL( XmlSecStatusBarControl, SfxBoolItem );
-
-
-struct XmlSecStatusBarControl::XmlSecStatusBarControl_Impl
-{
- Point maPos;
- Size maSize;
- bool mbSigned;
- Image maImage;
-};
-
-
-XmlSecStatusBarControl::XmlSecStatusBarControl( sal_uInt16 _nId, StatusBar& _rStb, SfxBindings& _rBind )
- :SfxStatusBarControl( _nId, _rStb, _rBind )
-
- ,mpImpl( new XmlSecStatusBarControl_Impl )
-{
- mpImpl->mbSigned = false;
-}
-
-XmlSecStatusBarControl::~XmlSecStatusBarControl()
-{
- delete mpImpl;
-}
-
-void XmlSecStatusBarControl::StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState )
-{
- GetStatusBar().SetHelpText( GetId(), String() ); // necessary ?
- GetStatusBar().SetHelpId( GetId(), nSID ); // necessary ?
-
- if( SFX_ITEM_AVAILABLE != eState )
- {
- mpImpl->mbSigned = false;
- }
- else if( pState->ISA( SfxBoolItem ) )
- {
- mpImpl->mbSigned = ( ( SfxBoolItem* ) pState )->GetValue();
- }
- else
- {
- DBG_ERRORFILE( "+XmlSecStatusBarControl::StateChanged(): invalid item type" );
- mpImpl->mbSigned = false;
- }
-
- if( GetStatusBar().AreItemsVisible() ) // necessary ?
- GetStatusBar().SetItemData( GetId(), 0 );
-
- GetStatusBar().SetItemText( GetId(), String() ); // necessary ?
-}
-
-void XmlSecStatusBarControl::Command( const CommandEvent& rCEvt )
-{
- // can / has to be done when integrated in Office!
- SfxStatusBarControl::Command( rCEvt );
-}
-
-void XmlSecStatusBarControl::Paint( const UserDrawEvent& rUsrEvt )
-{
- OutputDevice* pDev = rUsrEvt.GetDevice();
- DBG_ASSERT( pDev, "-XmlSecStatusBarControl::Paint(): no Output Device... this will lead to nirvana..." );
- const Rectangle& rRect = rUsrEvt.GetRect();
- StatusBar& rBar = GetStatusBar();
- Point aItemPos = rBar.GetItemTextPos( GetId() );
- Color aOldLineColor = pDev->GetLineColor();
- Color aOldFillColor = pDev->GetFillColor();
-
- // just 4 testing until we've got a bitmap
- pDev->SetLineColor();
- pDev->SetFillColor( pDev->GetBackground().GetColor() );
-
- String s( String::CreateFromAscii( mpImpl->mbSigned? "X" : "-" ) );
- pDev->DrawRect( rRect );
- pDev->DrawText( Point( rRect.Left() + rRect.GetWidth() / 2 - pDev->GetTextWidth( s ) / 2, aItemPos.Y() ), s );
-
- pDev->SetLineColor( aOldLineColor );
- pDev->SetFillColor( aOldFillColor );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/warnings.cxx b/xmlsecurity/source/dialogs/warnings.cxx
deleted file mode 100644
index a5cb29550..000000000
--- a/xmlsecurity/source/dialogs/warnings.cxx
+++ /dev/null
@@ -1,141 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_xmlsecurity.hxx"
-
-#include <xmlsecurity/warnings.hxx>
-#include <xmlsecurity/certificateviewer.hxx>
-#include <com/sun/star/xml/crypto/XSecurityEnvironment.hpp>
-#include <comphelper/sequence.hxx>
-
-// added for password exception
-#include <vcl/msgbox.hxx>
-#include <com/sun/star/security/NoPasswordException.hpp>
-using namespace ::com::sun::star::security;
-
-
-#include "dialogs.hrc"
-#include "resourcemanager.hxx"
-
-/* HACK: disable some warnings for MS-C */
-#ifdef _MSC_VER
-#pragma warning (disable : 4355) // 4355: this used in initializer-list
-#endif
-
-using namespace ::com::sun::star;
-using namespace ::com::sun::star;
-
-
-MacroWarning::MacroWarning( Window* _pParent, uno::Reference< dcss::xml::crypto::XSecurityEnvironment >& _rxSecurityEnvironment, cssu::Reference< dcss::security::XCertificate >& _rxCert )
- :ModalDialog ( _pParent, XMLSEC_RES( RID_XMLSECTP_MACROWARN ) )
- ,maDocNameFI ( this, ResId( FI_DOCNAME ) )
- ,maDescr1aFI ( this, ResId( FI_DESCR1A ) )
- ,maDescr1bFI ( this, ResId( FI_DESCR1B ) )
- ,maSignsFI ( this, ResId( FI_SIGNS ) )
- ,maViewSignsBtn ( this, ResId( PB_VIEWSIGNS ) )
- ,maDescr2FI ( this, ResId( FI_DESCR2 ) )
- ,maAlwaysTrustCB ( this, ResId( CB_ALWAYSTRUST ) )
- ,maBottomSepFL ( this, ResId( FL_BOTTOM_SEP ) )
- ,maEnableBtn ( this, ResId( PB_DISABLE ) )
- ,maDisableBtn ( this, ResId( PB_DISABLE ) )
- ,maHelpBtn ( this, ResId( BTN_HELP ) )
- ,mbSignedMode ( true )
-{
- FreeResource();
-
- mxSecurityEnvironment = _rxSecurityEnvironment;
- mxCert = _rxCert;
-
- // hide unused parts
- maDescr1bFI.Hide();
-
- maViewSignsBtn.SetClickHdl( LINK( this, MacroWarning, ViewSignsBtnHdl ) );
- maEnableBtn.SetClickHdl( LINK( this, MacroWarning, EnableBtnHdl ) );
-
- if( mxCert.is() )
- maSignsFI.SetText( XmlSec::GetContentPart( mxCert->getSubjectName() ) );
- else
- // nothing to view!
- maViewSignsBtn.Disable();
-}
-
-MacroWarning::MacroWarning( Window* _pParent )
- :ModalDialog ( _pParent, XMLSEC_RES( RID_XMLSECTP_MACROWARN ) )
- ,maDocNameFI ( this, ResId( FI_DOCNAME ) )
- ,maDescr1aFI ( this, ResId( FI_DESCR1A ) )
- ,maDescr1bFI ( this, ResId( FI_DESCR1B ) )
- ,maSignsFI ( this, ResId( FI_SIGNS ) )
- ,maViewSignsBtn ( this, ResId( PB_VIEWSIGNS ) )
- ,maDescr2FI ( this, ResId( FI_DESCR2 ) )
- ,maAlwaysTrustCB ( this, ResId( CB_ALWAYSTRUST ) )
- ,maBottomSepFL ( this, ResId( FL_BOTTOM_SEP ) )
- ,maEnableBtn ( this, ResId( PB_DISABLE ) )
- ,maDisableBtn ( this, ResId( PB_DISABLE ) )
- ,maHelpBtn ( this, ResId( BTN_HELP ) )
- ,mbSignedMode ( false )
-{
- FreeResource();
-
- // hide unused parts
- maDescr1aFI.Hide();
- maSignsFI.Hide();
- maViewSignsBtn.Hide();
- maAlwaysTrustCB.Hide();
- maDescr2FI.Hide();
-
- // move hint up to position of signer list
- maDescr1bFI.SetPosPixel( maSignsFI.GetPosPixel() );
-}
-
-MacroWarning::~MacroWarning()
-{
-}
-
-IMPL_LINK( MacroWarning, ViewSignsBtnHdl, void*, EMPTYARG )
-{
- DBG_ASSERT( mxCert.is(), "*MacroWarning::ViewSignsBtnHdl(): no certificate set!" );
-
- CertificateViewer aViewer( this, mxSecurityEnvironment, mxCert );
- aViewer.Execute();
-
- return 0;
-}
-
-IMPL_LINK( MacroWarning, EnableBtnHdl, void*, EMPTYARG )
-{
- if( mbSignedMode && maAlwaysTrustCB.IsChecked() )
- { // insert path into trusted path list
-
- }
-
- EndDialog( RET_OK );
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/dialogs/warnings.src b/xmlsecurity/source/dialogs/warnings.src
deleted file mode 100644
index aa912ad5d..000000000
--- a/xmlsecurity/source/dialogs/warnings.src
+++ /dev/null
@@ -1,115 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * 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.
- *
- * 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).
- *
- * 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.
- *
- ************************************************************************/
-
-#include "dialogs.hrc"
-#include "helpids.hrc"
-
-ModalDialog RID_XMLSECTP_MACROWARN
-{
- HelpId = HID_XMLSEC_TP_MACROWARN;
- Size = MAP_APPFONT( MW_WIDTH, MW_HEIGHT );
- OutputSize = TRUE;
- Closeable = TRUE;
- Moveable = TRUE;
- SVLook = TRUE;
-
- Text [ en-US ] = "Security Warning";
-
- FixedText FI_DOCNAME
- {
- Pos = MAP_APPFONT( MW_COL_1, MW_ROW_0 );
- Size = MAP_APPFONT( MW_COL_4-MW_COL_1, 3*RSC_CD_FIXEDTEXT_HEIGHT );
- Wordbreak = TRUE;
- Text [ en-US ] = "";
- };
- FixedText FI_DESCR1A
- {
- Pos = MAP_APPFONT( MW_COL_1, MW_ROW_1 );
- Size = MAP_APPFONT( MW_COL_4-MW_COL_1, RSC_CD_FIXEDTEXT_HEIGHT );
- Wordbreak = TRUE;
- Text [ en-US ] = "The document contains document macros signed by:";
- };
- FixedText FI_DESCR1B
- {
- Pos = MAP_APPFONT( MW_COL_1, MW_ROW_1 );
- Size = MAP_APPFONT( MW_COL_4-MW_COL_1, RSC_CD_FIXEDTEXT_HEIGHT );
- Wordbreak = TRUE;
- Text [ en-US ] = "The document contains document macros.";
- };
- FixedText FI_SIGNS
- {
- Pos = MAP_APPFONT( MW_COL_1, MW_ROW_2 );
- Size = MAP_APPFONT( MW_COL_4-MW_COL_2, MW_ROW_3-MW_ROW_2 );
- Wordbreak = TRUE;
- Text [ en-US ] = "";
- };
- PushButton PB_VIEWSIGNS
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_MACROWARN:PB_VIEWSIGNS";
- Pos = MAP_APPFONT( MW_COL_3, MW_ROW_2 );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "View Signatures...";
- };
- FixedText FI_DESCR2
- {
- Pos = MAP_APPFONT( MW_COL_1, MW_ROW_3 );
- Size = MAP_APPFONT( MW_COL_4-MW_COL_1, RSC_CD_FIXEDTEXT_HEIGHT );
- Wordbreak = TRUE;
- Text [ en-US ] = "Macros may contain viruses. Disabling macros for a document is always save. If you disable macros you may lose functionality provided by the document macros.";
- };
- CheckBox CB_ALWAYSTRUST
- {
- HelpID = "xmlsecurity:CheckBox:RID_XMLSECTP_MACROWARN:CB_ALWAYSTRUST";
- Pos = MAP_APPFONT( MW_COL_1, MW_ROW_4 );
- Size = MAP_APPFONT( MW_COL_4-MW_COL_1, RSC_CD_CHECKBOX_HEIGHT );
- Text [ en-US ] = "Always trust macros from this source";
- };
- FixedLine FL_BOTTOM_SEP
- {
- Pos = MAP_APPFONT( 0, DLGS_BOTTOM_FL_Y( MW_HEIGHT ) );
- Size = MAP_APPFONT( MW_WIDTH, RSC_CD_FIXEDLINE_HEIGHT );
- };
- PushButton PB_ENABLE
- {
- HelpID = "xmlsecurity:PushButton:RID_XMLSECTP_MACROWARN:PB_ENABLE";
- Pos = MAP_APPFONT( DLGS_BOTTOM_OK_X( MW_WIDTH ), DLGS_BOTTOM_BTN_Y( MW_HEIGHT ) );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "Enable Macros";
- };
- CancelButton PB_DISABLE
- {
- Pos = MAP_APPFONT( DLGS_BOTTOM_CANCEL_X( MW_WIDTH ), DLGS_BOTTOM_BTN_Y( MW_HEIGHT ) );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- Text [ en-US ] = "Disable Macros";
- };
- HelpButton BTN_HELP
- {
- Pos = MAP_APPFONT( DLGS_BOTTOM_HELP_X( MW_WIDTH ), DLGS_BOTTOM_BTN_Y( MW_HEIGHT ) );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
- };
-};
-