diff --git a/GpgMEWorker.cpp b/GpgMEWorker.cpp index fc5dccb..155457d 100644 --- a/GpgMEWorker.cpp +++ b/GpgMEWorker.cpp @@ -347,32 +347,6 @@ const Error GpgMEWorker::CreateSubKey(GpgME::Key& k, return e; } -const Error GpgMEWorker::CheckPassphrase(const char* fpr, - const string& passphrase) -{ - Error e; - Context * ctx = Context::createForProtocol(Protocol::OpenPGP); - LoopbackPassphraseProvider * ppp = new LoopbackPassphraseProvider(passphrase); - ctx->setPinentryMode(Context::PinentryMode::PinentryLoopback); - ctx->setPassphraseProvider(ppp); - - Key k = FindKey(fpr, e, true); - if (e.code() != 0) - return e; - e = ctx->addSigningKey(k); - if (e.code() != 0) - return e; - Data plain("dummy"); - Data signature; - SigningResult result = ctx->sign(plain, signature, SignatureMode::Detached); - e = result.error(); - - delete ppp; - delete ctx; - - return e; -} - const Error GpgMEWorker::ExportPrivateKey(const char * pattern, string& buffer, const string& passphrase) { diff --git a/GpgMEWorker.h b/GpgMEWorker.h index f114ea8..c43bf59 100644 --- a/GpgMEWorker.h +++ b/GpgMEWorker.h @@ -181,21 +181,6 @@ public: const char * algo, const string& passphrase, ulong expires = 63072000); - /** - * Checks that passphrase can unlock secret key with fingerprint fpr. - * \n This is a workaround when exporting secret keys. - * \n To date, with GnuPG 2.2.23 and GpgME 1.1.15, a secret key can be - * exported when the right passphrase is provided. With a bad passphrase, - * application crashes. - * \n See https://dev.gnupg.org/T5151 - * \n Application may validate a passphrase before invoking engine. - * \n Until it is hopefully fixed in upstream and available in mainstream. - * @param fpr - * @param passphrase - * @return - */ - const Error CheckPassphrase(const char * fpr, - const string& passphrase); /** * Export a secret key. * @param pattern : a key fingerprint