aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2012-05-01 11:27:05 +0000
committerubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2012-05-01 11:27:05 +0000
commitb0810ed26a4f71da4f7a0e84597714e3669e7228 (patch)
tree3c6522e0e324b886446d9d9bb2e686c51ea7a1a0
parentremove obsolete EncryptAndDecrypt logic from filemenu (diff)
downloadgpg4usb-b0810ed26a4f71da4f7a0e84597714e3669e7228.tar.gz
gpg4usb-b0810ed26a4f71da4f7a0e84597714e3669e7228.zip
possibility for detached signing in gpgcontext
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@907 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r--gpgcontext.cpp11
-rw-r--r--gpgcontext.h2
2 files changed, 10 insertions, 3 deletions
diff --git a/gpgcontext.cpp b/gpgcontext.cpp
index bc4e1ef..f3aef91 100644
--- a/gpgcontext.cpp
+++ b/gpgcontext.cpp
@@ -639,11 +639,12 @@ gpgme_signature_t GpgContext::verify(QByteArray inBuffer) {
*/
//}
-bool GpgContext::sign(QStringList *uidList, const QByteArray &inBuffer, QByteArray *outBuffer ) {
+bool GpgContext::sign(QStringList *uidList, const QByteArray &inBuffer, QByteArray *outBuffer, bool detached ) {
gpgme_error_t err;
gpgme_data_t in, out;
gpgme_sign_result_t result;
+ gpgme_sig_mode_t mode;
if (uidList->count() == 0) {
QMessageBox::critical(0, tr("Key Selection"), tr("No Private Key Selected"));
@@ -686,7 +687,13 @@ bool GpgContext::sign(QStringList *uidList, const QByteArray &inBuffer, QByteArr
mode settings of the context are ignored.
*/
- err = gpgme_op_sign (mCtx, in, out, GPGME_SIG_MODE_CLEAR);
+ if(detached) {
+ mode = GPGME_SIG_MODE_DETACH;
+ } else {
+ mode = GPGME_SIG_MODE_CLEAR;
+ }
+
+ err = gpgme_op_sign (mCtx, in, out, mode);
checkErr (err);
if (err == GPG_ERR_CANCELED) {
diff --git a/gpgcontext.h b/gpgcontext.h
index 4efc3fe..7b83394 100644
--- a/gpgcontext.h
+++ b/gpgcontext.h
@@ -121,7 +121,7 @@ public:
gpgme_key_t getKeyDetails(QString uid);
gpgme_signature_t verify(QByteArray in);
// void decryptVerify(QByteArray in);
- bool sign(QStringList *uidList, const QByteArray &inBuffer, QByteArray *outBuffer );
+ bool sign(QStringList *uidList, const QByteArray &inBuffer, QByteArray *outBuffer, bool detached = false );
/**
* @details If text contains PGP-message, put a linebreak before the message,
* so that gpgme can decrypt correctly