diff options
-rw-r--r-- | sfx2/source/dialog/dinfdlg.cxx | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx index 1a503ca264f3..a22ebdc6087c 100644 --- a/sfx2/source/dialog/dinfdlg.cxx +++ b/sfx2/source/dialog/dinfdlg.cxx @@ -869,13 +869,20 @@ void SfxDocumentPage::ImplUpdateSignatures() SfxMedium* pMedium = pDoc->GetMedium(); if ( pMedium && !pMedium->GetName().isEmpty() && pMedium->GetStorage().is() ) { - Reference< security::XDocumentDigitalSignatures > xD( - security::DocumentDigitalSignatures::createDefault(comphelper::getProcessComponentContext()) ); - + Reference< security::XDocumentDigitalSignatures > xD; + try + { + xD = security::DocumentDigitalSignatures::createDefault(comphelper::getProcessComponentContext()); + } + catch ( const css::uno::DeploymentException& ) + { + } OUString s; Sequence< security::DocumentSignatureInformation > aInfos; - aInfos = xD->verifyDocumentContentSignatures( pMedium->GetZipStorageToSign_Impl(), - uno::Reference< io::XInputStream >() ); + + if ( xD.is() ) + aInfos = xD->verifyDocumentContentSignatures( pMedium->GetZipStorageToSign_Impl(), + uno::Reference< io::XInputStream >() ); if ( aInfos.getLength() > 1 ) s = m_aMultiSignedStr; else if ( aInfos.getLength() == 1 ) |