Changed interface: additionally we now pass the following parameters into the checkMessageSignature function: bool signatureIsBinary - telling us whether the signature is armored ASCII or binary data, int signatureLen - holding the TRUE length of the signature if (and only if) this is binary data

This commit is contained in:
Karl-Heinz Zimmer 2002-03-05 21:23:58 +00:00
parent b0bfb987af
commit 704a1b05b3
2 changed files with 16 additions and 4 deletions

View File

@ -427,7 +427,7 @@ SignEmail signEmail( void );
*/
void setWarnSendUnsigned( bool );
/*! \ingroup groupConfigSign
\brief Returns whether a warning should be emitted when the user
tries to send an email message unsigned.
@ -1427,6 +1427,8 @@ struct SignatureMetaData {
*/
bool checkMessageSignature( const char* ciphertext,
const char* signaturetext,
bool signatureIsBinary,
int signatureLen,
struct SignatureMetaData* sigmeta );
/*! \ingroup groupSignAct

View File

@ -865,7 +865,7 @@ bool signMessage( const char* cleartext,
break;
}
gpgme_set_include_certs (ctx, sendCerts);
// PENDING(g10) Implement this
//gpgme_set_signature_algorithm( ctx, config.signatureAlgorithm );
@ -973,6 +973,8 @@ sig_status_to_string( GpgmeSigStat status )
bool checkMessageSignature( const char* ciphertext,
const char* signaturetext,
bool signatureIsBinary,
int signatureLen,
struct SignatureMetaData* sigmeta )
{
GpgmeCtx ctx;
@ -987,10 +989,18 @@ bool checkMessageSignature( const char* ciphertext,
gpgme_new( &ctx );
gpgme_set_protocol (ctx, GPGMEPLUG_PROTOCOL);
gpgme_set_armor (ctx, signatureIsBinary ? 0 : 1);
// gpgme_set_textmode (ctx, signatureIsBinary ? 0 : 1);
gpgme_data_new_from_mem( &datapart, ciphertext,
1+strlen( ciphertext ), 1 );
gpgme_data_new_from_mem( &sigpart, signaturetext,
1+strlen( signaturetext ), 1 );
gpgme_data_new_from_mem( &sigpart,
signaturetext,
signatureIsBinary
? signatureLen
: (1+strlen( signaturetext )),
1 );
gpgme_op_verify( ctx, sigpart, datapart, &status );
gpgme_data_release( datapart );