protocol="application/pgp-encrypted"
vorhanden ist. Es sollte hierfür ein entsrpechender Handler
implementiert werden.
Es sollte nun geprüft werden, ob der erste Teil den richtigen Content-Type besitzt und eine Zeile mit der richtigen Versionsnummer vorhanden ist. Danach wird der zweite Teil via GPGME entschlüsselt und das daraus entstehende MIME Objekt ersetzt dann das ursprüngliche Objekt.
Hier ein Beispiel ohne jegliche Fehlerbehandlung:
GpgmeCtx ctx; GpgmeData ciphertext, plaintext; gpgme_new (&ctx); gpgme_data_new_from_mem (&ciphertext, mime_part_2, mime_part_2_len, TRUE ); gpgme_data_new (&plaintext); gpgme_op_decrypt (ctx, ciphertext, plaintext); gpgme_data_release(ciphertext); gpgme_data_rewind (plaintext); while ( !gpgme_data_read (dh, buf, sizeof buf, &nread ) ) { fwrite (buf, nread, 1, stdout ); } gpgme_release (ctx); gpgme_data_release(plaintext);ciphertext und plaintext enhalten jeweils die vollständigen MIME Objekte. Beispiele hierzu finden sich im RFC2015[2].