scd: Support AES decryption for OpenPGPcard v3.0.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 2 Jul 2015 03:14:40 +0000 (12:14 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 2 Jul 2015 03:14:40 +0000 (12:14 +0900)
* scd/app-openpgp.c (do_decipher): Support AES decryption.

scd/app-openpgp.c

index 467389d..f5911f3 100644 (file)
@@ -4101,7 +4101,10 @@ do_decipher (app_t app, const char *keyidstr,
   if (rc)
     return rc;
 
-  if (app->app_local->keyattr[1].key_type == KEY_TYPE_RSA)
+  if (indatalen == 16 + 1 || indatalen == 32 + 1)
+    /* PSO:DECIPHER with symmetric key.  */
+    padind = -1;
+  else if (app->app_local->keyattr[1].key_type == KEY_TYPE_RSA)
     {
       /* We might encounter a couple of leading zeroes in the
          cryptogram.  Due to internal use of MPIs these leading zeroes