| | |
| | | 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; |
| | |
| | | try { |
| | | $this->gpg->deletePublicKey($keyid); |
| | | return true; |
| | | } |
| | | catch (Exception $e) { |
| | | return $this->get_error_from_exception($e); |
| | | } |
| | | } |
| | | |
| | | public function pubkey_for_attach($email) |
| | | { |
| | | try { |
| | | $pubkey = $this->gpg->exportPublicKey($email, true); |
| | | return $pubkey; |
| | | } |
| | | catch (Exception $e) { |
| | | return $this->get_error_from_exception($e); |
| | |
| | | $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 = $subkey->usage(); |
| | | |
| | | $ekey->subkeys[$idx] = $skey; |
| | | }; |