214
214
fprintf(stderr, "bad gpgme_op_decrypt: %s: %s\n",
215
215
gpgme_strsource(rc), gpgme_strerror(rc));
216
216
plaintext_length = -1;
218
gpgme_decrypt_result_t result;
219
result = gpgme_op_decrypt_result(ctx);
221
fprintf(stderr, "gpgme_op_decrypt_result failed\n");
223
fprintf(stderr, "Unsupported algorithm: %s\n",
224
result->unsupported_algorithm);
225
fprintf(stderr, "Wrong key usage: %u\n",
226
result->wrong_key_usage);
227
if(result->file_name != NULL){
228
fprintf(stderr, "File name: %s\n", result->file_name);
230
gpgme_recipient_t recipient;
231
recipient = result->recipients;
233
while(recipient != NULL){
234
fprintf(stderr, "Public key algorithm: %s\n",
235
gpgme_pubkey_algo_name(recipient->pubkey_algo));
236
fprintf(stderr, "Key ID: %s\n", recipient->keyid);
237
fprintf(stderr, "Secret key available: %s\n",
238
recipient->status == GPG_ERR_NO_SECKEY
240
recipient = recipient->next;
245
217
goto decrypt_end;
249
221
fprintf(stderr, "Decryption of OpenPGP data succeeded\n");
225
gpgme_decrypt_result_t result;
226
result = gpgme_op_decrypt_result(ctx);
228
fprintf(stderr, "gpgme_op_decrypt_result failed\n");
230
fprintf(stderr, "Unsupported algorithm: %s\n",
231
result->unsupported_algorithm);
232
fprintf(stderr, "Wrong key usage: %u\n",
233
result->wrong_key_usage);
234
if(result->file_name != NULL){
235
fprintf(stderr, "File name: %s\n", result->file_name);
237
gpgme_recipient_t recipient;
238
recipient = result->recipients;
240
while(recipient != NULL){
241
fprintf(stderr, "Public key algorithm: %s\n",
242
gpgme_pubkey_algo_name(recipient->pubkey_algo));
243
fprintf(stderr, "Key ID: %s\n", recipient->keyid);
244
fprintf(stderr, "Secret key available: %s\n",
245
recipient->status == GPG_ERR_NO_SECKEY
247
recipient = recipient->next;
252
253
/* Seek back to the beginning of the GPGME plaintext data buffer */
253
254
if (gpgme_data_seek(dh_plain, (off_t) 0, SEEK_SET) == -1){
254
255
perror("pgpme_data_seek");
774
773
const char *pubkeyname = "pubkey.txt";
775
774
const char *seckeyname = "seckey.txt";
776
775
mandos_context mc = { .simple_poll = NULL, .server = NULL,
777
.dh_bits = 1024, .priority = "SECURE256"
778
":!CTYPE-X.509:+CTYPE-OPENPGP" };
776
.dh_bits = 1024, .priority = "SECURE256"};
779
777
bool gnutls_initalized = false;
818
816
/* Get the INPUT argument from `argp_parse', which we know is
819
817
a pointer to our plugin list pointer. */
821
case 128: /* --debug */
824
case 'c': /* --connect */
825
823
connect_to = arg;
827
case 'i': /* --interface */
830
case 'd': /* --keydir */
833
case 's': /* --seckey */
834
832
seckeyname = arg;
836
case 'p': /* --pubkey */
837
835
pubkeyname = arg;
839
case 129: /* --dh-bits */
841
839
mc.dh_bits = (unsigned int) strtol(arg, NULL, 10);