Include the protocol parameter of multipart/.. content-type messages into double quotes to fullify requirements of the german government (see BSI document Technische Grundlagen - Tailoring MTTv2, page 60)

This commit is contained in:
Karl-Heinz Zimmer 2002-05-08 12:05:17 +00:00
parent dca63d93c5
commit ff28fd3b54
3 changed files with 28 additions and 8 deletions

View File

@ -3,7 +3,7 @@
#define GPGMEPLUG_SIGN_INCLUDE_CLEARTEXT true #define GPGMEPLUG_SIGN_INCLUDE_CLEARTEXT true
#define GPGMEPLUG_SIGN_MAKE_MIME_OBJECT true #define GPGMEPLUG_SIGN_MAKE_MIME_OBJECT true
#define GPGMEPLUG_SIGN_MAKE_MULTI_MIME true #define GPGMEPLUG_SIGN_MAKE_MULTI_MIME true
#define GPGMEPLUG_SIGN_CTYPE_MAIN "multipart/signed;protocol=application/pgp-signature;micalg=pgp-sha1" #define GPGMEPLUG_SIGN_CTYPE_MAIN "multipart/signed;protocol=\"application/pgp-signature\";micalg=pgp-sha1"
#define GPGMEPLUG_SIGN_CDISP_MAIN "" #define GPGMEPLUG_SIGN_CDISP_MAIN ""
#define GPGMEPLUG_SIGN_CTENC_MAIN "" #define GPGMEPLUG_SIGN_CTENC_MAIN ""
#define GPGMEPLUG_SIGN_CTYPE_VERSION "" #define GPGMEPLUG_SIGN_CTYPE_VERSION ""
@ -21,7 +21,7 @@
#define GPGMEPLUG_ENC_INCLUDE_CLEARTEXT false #define GPGMEPLUG_ENC_INCLUDE_CLEARTEXT false
#define GPGMEPLUG_ENC_MAKE_MIME_OBJECT true #define GPGMEPLUG_ENC_MAKE_MIME_OBJECT true
#define GPGMEPLUG_ENC_MAKE_MULTI_MIME true #define GPGMEPLUG_ENC_MAKE_MULTI_MIME true
#define GPGMEPLUG_ENC_CTYPE_MAIN "multipart/encrypted; protocol=application/pgp-encrypted" #define GPGMEPLUG_ENC_CTYPE_MAIN "multipart/encrypted; protocol=\"application/pgp-encrypted\""
#define GPGMEPLUG_ENC_CDISP_MAIN "" #define GPGMEPLUG_ENC_CDISP_MAIN ""
#define GPGMEPLUG_ENC_CTENC_MAIN "" #define GPGMEPLUG_ENC_CTENC_MAIN ""
#define GPGMEPLUG_ENC_CTYPE_VERSION "application/pgp-encrypted" #define GPGMEPLUG_ENC_CTYPE_VERSION "application/pgp-encrypted"

View File

@ -3,7 +3,7 @@
#define GPGMEPLUG_SIGN_INCLUDE_CLEARTEXT true #define GPGMEPLUG_SIGN_INCLUDE_CLEARTEXT true
#define GPGMEPLUG_SIGN_MAKE_MIME_OBJECT true #define GPGMEPLUG_SIGN_MAKE_MIME_OBJECT true
#define GPGMEPLUG_SIGN_MAKE_MULTI_MIME true #define GPGMEPLUG_SIGN_MAKE_MULTI_MIME true
#define GPGMEPLUG_SIGN_CTYPE_MAIN "multipart/signed; protocol=application/pkcs7-signature; micalg=sha1" #define GPGMEPLUG_SIGN_CTYPE_MAIN "multipart/signed; protocol=\"application/pkcs7-signature\"; micalg=sha1"
#define GPGMEPLUG_SIGN_CDISP_MAIN "" #define GPGMEPLUG_SIGN_CDISP_MAIN ""
#define GPGMEPLUG_SIGN_CTENC_MAIN "" #define GPGMEPLUG_SIGN_CTENC_MAIN ""
#define GPGMEPLUG_SIGN_CTYPE_VERSION "" #define GPGMEPLUG_SIGN_CTYPE_VERSION ""

View File

@ -452,11 +452,31 @@ bool signatureCertificateExpiryNearWarning( void )
int signatureCertificateDaysLeftToExpiry( const char* certificate ) int signatureCertificateDaysLeftToExpiry( const char* certificate )
{ {
/* PENDING(g10) GpgmeCtx ctx;
Please return the number of days that are left until the GpgmeError err;
certificate specified in the parameter certificate expires. GpgmeKey rKey;
*/ time_t daysLeft = 0;
return 10; /* dummy that triggers a warning in the MUA */
gpgme_new( &ctx );
gpgme_set_protocol( ctx, GPGMEPLUG_PROTOCOL );
err = gpgme_op_keylist_start( ctx, certificate, 0 );
if ( GPGME_No_Error == err ) {
err = gpgme_op_keylist_next( ctx, &rKey );
gpgme_op_keylist_end( ctx );
if ( GPGME_No_Error == err ) {
time_t expire_time = gpgme_key_get_ulong_attr(
rKey,GPGME_ATTR_EXPIRE, NULL, 0 );
time_t cur_time = time (NULL);
daysLeft = expire_time - cur_time;
// convert seconds into days
daysLeft /= 43200;
gpgme_key_release( rKey );
}
}
gpgme_release( ctx );
return daysLeft;
} }