From bd0551b22076b82a6d49e9f7a2b2e0c90a1b2326 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 05 Feb 2016 07:25:27 -0500
Subject: [PATCH] Secure also downloads of addressbook exports, managesieve script exports and Enigma keys exports

---
 plugins/enigma/lib/enigma_subkey.php |   34 +++++++++++++++++++++++++++++++---
 1 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/plugins/enigma/lib/enigma_subkey.php b/plugins/enigma/lib/enigma_subkey.php
index cd57611..dfcfebf 100644
--- a/plugins/enigma/lib/enigma_subkey.php
+++ b/plugins/enigma/lib/enigma_subkey.php
@@ -1,5 +1,6 @@
 <?php
-/*
+
+/**
  +-------------------------------------------------------------------------+
  | SubKey class for the Enigma Plugin                                      |
  |                                                                         |
@@ -22,8 +23,9 @@
     public $created;
     public $revoked;
     public $has_private;
-    public $can_sign;
-    public $can_encrypt;
+    public $algorithm;
+    public $length;
+    public $usage;
 
     /**
      * Converts internal ID to short ID
@@ -47,4 +49,30 @@
         return enigma_key::format_fingerprint($this->fingerprint);
     }
 
+    /**
+     * Returns human-readable name of the key's algorithm
+     *
+     * @return string Algorithm name
+     */
+    function get_algorithm()
+    {
+        // http://tools.ietf.org/html/rfc4880#section-9.1
+        switch ($this->algorithm) {
+        case 1:
+        case 2:
+        case 3:
+            return 'RSA';
+        case 16:
+        case 20:
+            return 'Elgamal';
+        case 17:
+            return 'DSA';
+        case 18:
+            return 'Elliptic Curve';
+        case 19:
+            return 'ECDSA';
+        case 21:
+            return 'Diffie-Hellman';
+        }
+    }
 }

--
Gitblit v1.9.1