Aleksander Machniak
2015-08-18 a0dfcb14a8d51d5cb9e60ec90af2ef5b7a446ca1
plugins/enigma/lib/enigma_driver_gnupg.php
@@ -188,8 +188,32 @@
        return $list;
    }
    /**
     * Key pair generation.
     *
     * @param array Key/User data (user, email, password, size)
     *
     * @return mixed Key (enigma_key) object or enigma_error
     */
    public function gen_key($data)
    {
        try {
            $keygen = new Crypt_GPG_KeyGenerator(array(
                    'homedir' => $this->homedir,
                    // 'binary'  => '/usr/bin/gpg2',
                    // 'debug'   => true,
            ));
            $key = $keygen
                ->setExpirationDate(0)
                ->setPassphrase($data['password'])
                ->generateKey($data['user'], $data['email']);
            return $this->parse_key($key);
        }
        catch (Exception $e) {
            return $this->get_error_from_exception($e);
        }
    }
    public function delete_key($keyid)
@@ -263,12 +287,15 @@
            $data['bad']     = $e->getBadPassphrases();
            $data['missing'] = $e->getMissingPassphrases();
        }
        else if ($e instanceof Crypt_GPG_NoDataException)
        else if ($e instanceof Crypt_GPG_NoDataException) {
            $error = enigma_error::E_NODATA;
        else if ($e instanceof Crypt_GPG_DeletePrivateKeyException)
        }
        else if ($e instanceof Crypt_GPG_DeletePrivateKeyException) {
            $error = enigma_error::E_DELKEY;
        else
        }
        else {
            $error = enigma_error::E_INTERNAL;
        }
        $msg = $e->getMessage();