xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx | 10 ++++++++-- xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.hxx | 6 +++++- 2 files changed, 13 insertions(+), 3 deletions(-)
New commits: commit 718dd3742be309a77c5e22af799abc964cf1a3e0 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Fri Feb 12 11:30:28 2016 +0100 xmlsecurity: implement Certificate interface in X509Certificate_MSCryptImpl Change-Id: Idf60c9adcbc6d7467df92b48995bcb5c0bc3465b Reviewed-on: https://gerrit.libreoffice.org/22308 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Jenkins <c...@libreoffice.org> diff --git a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx index 8287fab..af5abea 100644 --- a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx +++ b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx @@ -33,6 +33,7 @@ #include <utility> #include <tools/time.hxx> +using namespace com::sun::star; using namespace ::com::sun::star::uno ; using namespace ::com::sun::star::security ; @@ -507,8 +508,8 @@ OUString findOIDDescription(char *oid) { if( pCertContext != NULL ) { - DWORD cbData = 20; - unsigned char fingerprint[20]; + DWORD cbData = dwPropId == CERT_SHA256_HASH_PROP_ID ? 32 : 20; + unsigned char fingerprint[32]; if (CertGetCertificateContextProperty(pCertContext, dwPropId, (void*)fingerprint, &cbData)) { Sequence< sal_Int8 > thumbprint( cbData ) ; @@ -578,6 +579,11 @@ OUString SAL_CALL X509Certificate_MSCryptImpl::getSignatureAlgorithm() } } +uno::Sequence<sal_Int8> X509Certificate_MSCryptImpl::getSHA256Thumbprint() throw (uno::RuntimeException, std::exception) +{ + return getThumbprint(m_pCertContext, CERT_SHA256_HASH_PROP_ID); +} + ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL X509Certificate_MSCryptImpl::getSHA1Thumbprint() throw ( ::com::sun::star::uno::RuntimeException) { diff --git a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.hxx b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.hxx index 674940b..bbe3445 100644 --- a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.hxx +++ b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.hxx @@ -36,10 +36,11 @@ #include <com/sun/star/lang/XUnoTunnel.hpp> #include <com/sun/star/uno/SecurityException.hpp> #include <com/sun/star/security/XCertificate.hpp> +#include <certificate.hxx> class X509Certificate_MSCryptImpl : public ::cppu::WeakImplHelper< ::com::sun::star::security::XCertificate , - ::com::sun::star::lang::XUnoTunnel > + ::com::sun::star::lang::XUnoTunnel > , public xmlsecurity::Certificate { private: const CERT_CONTEXT* m_pCertContext ; @@ -77,6 +78,9 @@ class X509Certificate_MSCryptImpl : public ::cppu::WeakImplHelper< //Methods from XUnoTunnel virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw (com::sun::star::uno::RuntimeException); + /// @see xmlsecurity::Certificate::getSHA256Thumbprint(). + virtual css::uno::Sequence<sal_Int8> getSHA256Thumbprint() throw (css::uno::RuntimeException, std::exception) override; + static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId() ; static X509Certificate_MSCryptImpl* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rObj ) ; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits