From 13eb9bdc245273918bc2b96b475d7d74f01aae2b Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sat, 03 Oct 2015 12:56:33 -0400 Subject: [PATCH] Enigma: Display complete key information (subkeys, user IDs) --- plugins/enigma/lib/enigma_driver_gnupg.php | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/plugins/enigma/lib/enigma_driver_gnupg.php b/plugins/enigma/lib/enigma_driver_gnupg.php index 4046bdd..c41c6c1 100644 --- a/plugins/enigma/lib/enigma_driver_gnupg.php +++ b/plugins/enigma/lib/enigma_driver_gnupg.php @@ -299,7 +299,7 @@ else if ($code == enigma_error::DELKEY) { $key = $this->get_key($keyid); for ($i = count($key->subkeys) - 1; $i >= 0; $i--) { - $type = $key->subkeys[$i]->can_encrypt ? 'priv' : 'pub'; + $type = ($key->subkeys[$i]->usage & enigma_key::CAN_ENCRYPT) ? 'priv' : 'pub'; $result = $this->{'delete_' . $type . 'key'}($key->subkeys[$i]->id); if ($result !== true) { return $result; @@ -423,6 +423,14 @@ $ekey->name = trim($ekey->users[0]->name . ' <' . $ekey->users[0]->email . '>'); foreach ($key->getSubKeys() as $idx => $subkey) { + $usage = 0; + if ($subkey->canSign()) { + $usage += enigma_key::CAN_SIGN; + } + if ($subkey->canEncrypt()) { + $usage += enigma_key::CAN_ENCRYPT; + } + $skey = new enigma_subkey(); $skey->id = $subkey->getId(); $skey->revoked = $subkey->isRevoked(); @@ -430,8 +438,9 @@ $skey->expires = $subkey->getExpirationDate(); $skey->fingerprint = $subkey->getFingerprint(); $skey->has_private = $subkey->hasPrivate(); - $skey->can_sign = $subkey->canSign(); - $skey->can_encrypt = $subkey->canEncrypt(); + $skey->algorithm = $subkey->getAlgorithm(); + $skey->length = $subkey->getLength(); + $skey->usage = $usage; $ekey->subkeys[$idx] = $skey; }; -- Gitblit v1.9.1