writerfilter/source/rtftok/rtfdocumentimpl.cxx                        |    3 +
 xmlsecurity/inc/biginteger.hxx                                        |    9 
++++-
 xmlsecurity/qa/unit/signing/signing.cxx                               |    1 
 xmlsecurity/source/component/documentdigitalsignatures.cxx            |   16 
+---------
 xmlsecurity/source/dialogs/certificatechooser.cxx                     |    4 --
 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx                |    9 
+----
 xmlsecurity/source/dialogs/macrosecurity.cxx                          |    6 
---
 xmlsecurity/source/helper/documentsignaturemanager.cxx                |    5 
+--
 xmlsecurity/source/xmlsec/biginteger.cxx                              |    3 +
 xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx |    2 -
 xmlsecurity/source/xmlsec/serialnumberadapter.cxx                     |    4 +-
 11 files changed, 23 insertions(+), 39 deletions(-)

New commits:
commit 42460fd4eb4757dcdf3b3e533aafabda77751321
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Thu Mar 2 08:10:07 2017 +0100

    xmlsecurity: avoid using the SerialNumberAdapter wrapper
    
    This service is only used in xmlsecurity and it's a wrapper around two
    free functions in the same module.
    
    Change-Id: Ibc5a026b51eda6c2b4b27b7254dedc220dbf909a
    Reviewed-on: https://gerrit.libreoffice.org/34772
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>
    Tested-by: Jenkins <c...@libreoffice.org>

diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx 
b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 7286a83..785d797 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -211,7 +211,8 @@ const char* keywordToString(RTFKeyword nKeyword)
 static util::DateTime lcl_getDateTime(RTFParserState& aState)
 {
     return {0 /*100sec*/, 0 /*sec*/, aState.nMinute, aState.nHour,
-                          aState.nDay, aState.nMonth, aState.nYear, false};
+            aState.nDay, aState.nMonth, aState.nYear, false
+           };
 }
 
 static void lcl_DestinationToMath(OUStringBuffer* pDestinationText, 
oox::formulaimport::XmlStreamBuilder& rMathBuffer, bool& rMathNor)
diff --git a/xmlsecurity/inc/biginteger.hxx b/xmlsecurity/inc/biginteger.hxx
index 73f6259..2cd116d 100644
--- a/xmlsecurity/inc/biginteger.hxx
+++ b/xmlsecurity/inc/biginteger.hxx
@@ -25,8 +25,13 @@
 
 #include <com/sun/star/uno/Sequence.h>
 
-OUString bigIntegerToNumericString( const css::uno::Sequence< sal_Int8 >& 
serial );
-css::uno::Sequence< sal_Int8 > numericStringToBigInteger ( const OUString& 
serialNumber );
+#include <xsecxmlsecdllapi.h>
+
+namespace xmlsecurity
+{
+XSECXMLSEC_DLLPUBLIC OUString bigIntegerToNumericString( const 
css::uno::Sequence< sal_Int8 >& serial );
+XSECXMLSEC_DLLPUBLIC css::uno::Sequence< sal_Int8 > numericStringToBigInteger 
( const OUString& serialNumber );
+}
 
 #endif
 
diff --git a/xmlsecurity/qa/unit/signing/signing.cxx 
b/xmlsecurity/qa/unit/signing/signing.cxx
index 03c7c96..f8fe7b5 100644
--- a/xmlsecurity/qa/unit/signing/signing.cxx
+++ b/xmlsecurity/qa/unit/signing/signing.cxx
@@ -22,7 +22,6 @@
 #include <com/sun/star/embed/XTransactedObject.hpp>
 #include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XStorable.hpp>
-#include <com/sun/star/security/SerialNumberAdapter.hpp>
 #include <com/sun/star/xml/crypto/SEInitializer.hpp>
 #include <com/sun/star/io/TempFile.hpp>
 #include <com/sun/star/packages/manifest/ManifestReader.hpp>
diff --git a/xmlsecurity/source/component/documentdigitalsignatures.cxx 
b/xmlsecurity/source/component/documentdigitalsignatures.cxx
index 81d6aeb..54b0840 100644
--- a/xmlsecurity/source/component/documentdigitalsignatures.cxx
+++ b/xmlsecurity/source/component/documentdigitalsignatures.cxx
@@ -42,7 +42,6 @@
 #include <vcl/layout.hxx>
 #include <unotools/securityoptions.hxx>
 #include <com/sun/star/security/CertificateValidity.hpp>
-#include <com/sun/star/security/SerialNumberAdapter.hpp>
 #include <comphelper/documentconstants.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
@@ -316,9 +315,6 @@ DocumentDigitalSignatures::ImplVerifySignatures(
 
     if ( nInfos )
     {
-       Reference<security::XSerialNumberAdapter> xSerialNumberAdapter =
-            css::security::SerialNumberAdapter::create(mxCtx);
-
         for( int n = 0; n < nInfos; ++n )
         {
             DocumentSignatureAlgorithm mode = 
DocumentSignatureHelper::getDocumentAlgorithm(
@@ -333,7 +329,7 @@ DocumentDigitalSignatures::ImplVerifySignatures(
             if (!rInfo.ouX509Certificate.isEmpty())
                rSigInfo.Signer = xSecEnv->createCertificateFromAscii( 
rInfo.ouX509Certificate ) ;
             if (!rSigInfo.Signer.is())
-                rSigInfo.Signer = xSecEnv->getCertificate( 
rInfo.ouX509IssuerName, xSerialNumberAdapter->toSequence( 
rInfo.ouX509SerialNumber ) );
+                rSigInfo.Signer = xSecEnv->getCertificate( 
rInfo.ouX509IssuerName, xmlsecurity::numericStringToBigInteger( 
rInfo.ouX509SerialNumber ) );
 
             // Time support again (#i38744#)
             Date aDate( rInfo.stDateTime.Day, rInfo.stDateTime.Month, 
rInfo.stDateTime.Year );
@@ -431,10 +427,7 @@ sal_Bool DocumentDigitalSignatures::isAuthorTrusted(
 {
     bool bFound = false;
 
-    Reference<security::XSerialNumberAdapter> xSerialNumberAdapter =
-        css::security::SerialNumberAdapter::create(mxCtx);
-
-    OUString sSerialNum = xSerialNumberAdapter->toString( 
Author->getSerialNumber() );
+    OUString sSerialNum = xmlsecurity::bigIntegerToNumericString( 
Author->getSerialNumber() );
 
     Sequence< SvtSecurityOptions::Certificate > aTrustedAuthors = 
SvtSecurityOptions().GetTrustedAuthors();
     const SvtSecurityOptions::Certificate* pAuthors = 
aTrustedAuthors.getConstArray();
@@ -486,12 +479,9 @@ void DocumentDigitalSignatures::addAuthorToTrustedSources(
 {
     SvtSecurityOptions aSecOpts;
 
-    Reference<security::XSerialNumberAdapter> xSerialNumberAdapter =
-        css::security::SerialNumberAdapter::create(mxCtx);
-
     SvtSecurityOptions::Certificate aNewCert( 3 );
     aNewCert[ 0 ] = Author->getIssuerName();
-    aNewCert[ 1 ] = xSerialNumberAdapter->toString( Author->getSerialNumber() 
);
+    aNewCert[ 1 ] = xmlsecurity::bigIntegerToNumericString( 
Author->getSerialNumber() );
 
     OUStringBuffer aStrBuffer;
     ::sax::Converter::encodeBase64(aStrBuffer, Author->getEncoded());
diff --git a/xmlsecurity/source/dialogs/certificatechooser.cxx 
b/xmlsecurity/source/dialogs/certificatechooser.cxx
index 53ceb0d..292f41e 100644
--- a/xmlsecurity/source/dialogs/certificatechooser.cxx
+++ b/xmlsecurity/source/dialogs/certificatechooser.cxx
@@ -27,7 +27,6 @@
 
 #include <com/sun/star/security/NoPasswordException.hpp>
 #include <com/sun/star/security/CertificateCharacters.hpp>
-#include <com/sun/star/security/SerialNumberAdapter.hpp>
 
 #include "resourcemanager.hxx"
 #include <vcl/msgbox.hxx>
@@ -168,9 +167,6 @@ void CertificateChooser::ImplInitialize()
     {
     }
 
-    uno::Reference< css::security::XSerialNumberAdapter> xSerialNumberAdapter =
-        css::security::SerialNumberAdapter::create(mxCtx);
-
     sal_Int32 nCertificates = maCerts.getLength();
     for( sal_Int32 nCert = nCertificates; nCert; )
     {
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx 
b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index 082e631..2373fb2 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -32,7 +32,6 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/security/CertificateValidity.hpp>
 #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/ManifestReader.hpp>
@@ -458,8 +457,6 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
     m_pSignaturesLB->Clear();
 
     uno::Reference<xml::crypto::XSecurityEnvironment> xSecEnv = 
maSignatureManager.getSecurityEnvironment();
-    uno::Reference<css::security::XSerialNumberAdapter> xSerialNumberAdapter =
-        css::security::SerialNumberAdapter::create(mxCtx);
 
     uno::Reference< css::security::XCertificate > xCert;
 
@@ -494,7 +491,7 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
             //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 ) );
+                xCert = xSecEnv->getCertificate( rInfo.ouX509IssuerName, 
xmlsecurity::numericStringToBigInteger( rInfo.ouX509SerialNumber ) );
 
             SAL_WARN_IF( !xCert.is(), "xmlsecurity.dialogs", "Certificate not 
found and can't be created!" );
 
@@ -639,15 +636,13 @@ void DigitalSignaturesDialog::ImplShowSignaturesDetails()
         sal_uInt16 nSelected = (sal_uInt16) reinterpret_cast<sal_uIntPtr>( 
m_pSignaturesLB->FirstSelected()->GetUserData() );
         const SignatureInformation& rInfo = 
maSignatureManager.maCurrentSignatureInformations[ nSelected ];
         uno::Reference<xml::crypto::XSecurityEnvironment> xSecEnv = 
maSignatureManager.getSecurityEnvironment();
-        css::uno::Reference<com::sun::star::security::XSerialNumberAdapter> 
xSerialNumberAdapter =
-            css::security::SerialNumberAdapter::create(mxCtx);
         // Use Certificate from doc, not from key store
         uno::Reference< css::security::XCertificate > xCert;
         if (!rInfo.ouX509Certificate.isEmpty())
             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 ) );
+            xCert = xSecEnv->getCertificate( rInfo.ouX509IssuerName, 
xmlsecurity::numericStringToBigInteger( rInfo.ouX509SerialNumber ) );
 
         SAL_WARN_IF( !xCert.is(), "xmlsecurity.dialogs", "Error getting 
Certificate!" );
         if ( xCert.is() )
diff --git a/xmlsecurity/source/dialogs/macrosecurity.cxx 
b/xmlsecurity/source/dialogs/macrosecurity.cxx
index c284eba..440ea3c 100644
--- a/xmlsecurity/source/dialogs/macrosecurity.cxx
+++ b/xmlsecurity/source/dialogs/macrosecurity.cxx
@@ -29,7 +29,6 @@
 
 
 #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>
@@ -221,10 +220,7 @@ IMPL_LINK_NOARG(MacroSecurityTrustedSourcesTP, 
ViewCertPBHdl, Button*, void)
     {
         sal_uInt16 nSelected = sal_uInt16( sal_uIntPtr( 
m_pTrustCertLB->FirstSelected()->GetUserData() ) );
 
-        uno::Reference< css::security::XSerialNumberAdapter > 
xSerialNumberAdapter =
-            css::security::SerialNumberAdapter::create(mpDlg->mxCtx);
-
-        uno::Reference< css::security::XCertificate > xCert = 
mpDlg->mxSecurityEnvironment->getCertificate( maTrustedAuthors[nSelected][0], 
xSerialNumberAdapter->toSequence( maTrustedAuthors[nSelected][1] ) );
+        uno::Reference< css::security::XCertificate > xCert = 
mpDlg->mxSecurityEnvironment->getCertificate( maTrustedAuthors[nSelected][0], 
xmlsecurity::numericStringToBigInteger( maTrustedAuthors[nSelected][1] ) );
 
         // If we don't get it, create it from signature data:
         if ( !xCert.is() )
diff --git a/xmlsecurity/source/helper/documentsignaturemanager.cxx 
b/xmlsecurity/source/helper/documentsignaturemanager.cxx
index dcee8e4..d97b1d1 100644
--- a/xmlsecurity/source/helper/documentsignaturemanager.cxx
+++ b/xmlsecurity/source/helper/documentsignaturemanager.cxx
@@ -23,7 +23,6 @@
 #include <com/sun/star/embed/ElementModes.hpp>
 #include <com/sun/star/io/TempFile.hpp>
 #include <com/sun/star/io/XTruncate.hpp>
-#include <com/sun/star/security/SerialNumberAdapter.hpp>
 #include <com/sun/star/embed/XTransactedObject.hpp>
 #include <com/sun/star/xml/crypto/SEInitializer.hpp>
 
@@ -35,6 +34,7 @@
 #include <o3tl/make_unique.hxx>
 
 #include <certificate.hxx>
+#include <biginteger.hxx>
 
 using namespace com::sun::star;
 
@@ -239,8 +239,7 @@ bool DocumentSignatureManager::add(const 
uno::Reference<security::XCertificate>&
         return false;
     }
 
-    uno::Reference<security::XSerialNumberAdapter> xSerialNumberAdapter = 
security::SerialNumberAdapter::create(mxContext);
-    OUString aCertSerial = 
xSerialNumberAdapter->toString(xCert->getSerialNumber());
+    OUString aCertSerial = 
xmlsecurity::bigIntegerToNumericString(xCert->getSerialNumber());
     if (aCertSerial.isEmpty())
     {
         SAL_WARN("xmlsecurity.helper", "Error in Certificate, problem with 
serial number!");
diff --git a/xmlsecurity/source/xmlsec/biginteger.cxx 
b/xmlsecurity/source/xmlsec/biginteger.cxx
index 331e853..4f1004b 100644
--- a/xmlsecurity/source/xmlsec/biginteger.cxx
+++ b/xmlsecurity/source/xmlsec/biginteger.cxx
@@ -25,6 +25,8 @@
 
 using namespace ::com::sun::star::uno ;
 
+namespace xmlsecurity
+{
 Sequence< sal_Int8 > numericStringToBigInteger ( const OUString& numeral )
 {
     if( numeral.getStr() != nullptr )
@@ -106,5 +108,6 @@ OUString bigIntegerToNumericString ( const Sequence< 
sal_Int8 >& integer )
 
     return aRet ;
 }
+}
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git 
a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx 
b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
index 14fb71d..97c253a 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
@@ -618,7 +618,7 @@ Reference< XCertificate > 
SecurityEnvironment_MSCryptImpl::getCertificate( const
 }
 
 Reference< XCertificate > SecurityEnvironment_MSCryptImpl::getCertificate( 
const OUString& issuerName, const OUString& serialNumber ) {
-    Sequence< sal_Int8 > serial = numericStringToBigInteger( serialNumber ) ;
+    Sequence< sal_Int8 > serial = xmlsecurity::numericStringToBigInteger( 
serialNumber ) ;
     return getCertificate( issuerName, serial ) ;
 }
 
diff --git a/xmlsecurity/source/xmlsec/serialnumberadapter.cxx 
b/xmlsecurity/source/xmlsec/serialnumberadapter.cxx
index 2377654..372b683 100644
--- a/xmlsecurity/source/xmlsec/serialnumberadapter.cxx
+++ b/xmlsecurity/source/xmlsec/serialnumberadapter.cxx
@@ -60,11 +60,11 @@ private:
 
     virtual OUString SAL_CALL toString(
         css::uno::Sequence< sal_Int8 > const & SerialNumber) override
-    { return bigIntegerToNumericString(SerialNumber); }
+    { return xmlsecurity::bigIntegerToNumericString(SerialNumber); }
 
     virtual css::uno::Sequence< sal_Int8 > SAL_CALL toSequence(
         OUString const & SerialNumber) override
-    { return numericStringToBigInteger(SerialNumber); }
+    { return xmlsecurity::numericStringToBigInteger(SerialNumber); }
 };
 
 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to