xmlsecurity/source/gpg/SecurityEnvironment.cxx | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-)
New commits: commit d4b0451a1ab416c406a74d6d33615d61acf6f7d2 Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Wed May 10 15:58:21 2017 +0200 gpg4libre: we really only want private keys listed Since this canSign/canEncrypt is fundamentally busted in gpgme, outright limit all keys we're looking at to those with secrets. Change-Id: Ib3dfbc8ef661430efc3a8c17f2f3166af8225a56 Reviewed-on: https://gerrit.libreoffice.org/37471 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Katarina Behrens <katarina.behr...@cib.de> Reviewed-by: Siegmund Gorr <siegmund.g...@cib.de> Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/xmlsecurity/source/gpg/SecurityEnvironment.cxx b/xmlsecurity/source/gpg/SecurityEnvironment.cxx index 6ad51f97302e..323e267af6b0 100644 --- a/xmlsecurity/source/gpg/SecurityEnvironment.cxx +++ b/xmlsecurity/source/gpg/SecurityEnvironment.cxx @@ -72,7 +72,7 @@ Sequence< Reference < XCertificate > > SecurityEnvironmentGpg::getPersonalCertif std::list< CertificateImpl* > certsList; ctx->setKeyListMode(GPGME_KEYLIST_MODE_LOCAL); - err = ctx->startKeyListing(); + err = ctx->startKeyListing("", true); while (!err) { GpgME::Key k = ctx->nextKey(err); if (err) @@ -124,21 +124,14 @@ sal_Int32 SecurityEnvironmentGpg::getCertificateCharacters( const Reference< XCertificate >& aCert) { const CertificateImpl* xCert; - const GpgME::Key* key; - Reference< XUnoTunnel > xCertTunnel(aCert, UNO_QUERY_THROW) ; xCert = reinterpret_cast<CertificateImpl*>(sal::static_int_cast<sal_uIntPtr>(xCertTunnel->getSomething(CertificateImpl::getUnoTunnelId()))) ; if (xCert == nullptr) throw RuntimeException(); - key = xCert->getCertificate(); - sal_Int32 characters = 0x0; - - // We need to use canSign() instead of hasSecret() because of a bug in the latter. - if (key->canSign()) - characters |= CertificateCharacters::HAS_PRIVATE_KEY; - - return characters; + // we only listed private keys anyway, up in + // SecurityEnvironmentGpg::getPersonalCertificates + return CertificateCharacters::HAS_PRIVATE_KEY; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits