# psi+gnupg

## n1kt0

В общем при каждом принятом сообщении запрашивает пароль на внутренний ключ для расшифровки сообщения

Очень напряжно. В общем оно в венде и в дебе пси запрашивал пароль только один раз - при загрузке самого пси, а тут на каждое сообщение, которое пришло - запрашивает. Очень и очень неприятно т.к пароль там не 3 и не 6 и не 9 символов. Помогите как решить оную проблемку. Я понимаю что так секьюрнее - не держать в темпе пароль, но всетаки у меня криптованный раздел - так что можно и держать пасс темпорари, после выхода обычно пси удаляет кей с тмп. Помогите :Smile: 

----------

## Bircoph

Для работы с gnupg psi использует app-crypt/qca-gnupg, который в свою очережь использует gpg-agent.

Во-первых, у вас должен быть установлен и настроен gpg-agent, т.к. psi больше не хранит пароли в памяти самостоятельно. А во-вторых, в qca-gnupg есть досадный баг, в неправильном определении версии qt, в которой есть проблемы работы с gpg. Для gentoo эта проверка не актуальна, поэтому проще всего её отключить.

```

--- qca-gnupg-2.0.0-beta3/qca-gnupg.cpp 2008-04-08 07:03:20.000000000 +0400

+++ qca-gnupg-2.0.0-beta3/qca-gnupg.cpp 2009-03-31 19:44:38.000000000 +0400

@@ -41,42 +41,10 @@

 namespace gpgQCAPlugin {

-static int qVersionInt()

-{

-       static int out = -1;

-

-       if(out == -1) {

-               QString str = QString::fromLatin1(qVersion());

-               QStringList parts = str.split('.', QString::KeepEmptyParts);

-               Q_ASSERT(parts.count() == 3);

-               out = 0;

-               for(int n = 0; n < 3; ++n) {

-                       bool ok;

-                       int x = parts[n].toInt(&ok);

-                       Q_ASSERT(ok);

-                       Q_ASSERT(x > 0 && x <= 0xff);

-                       out <<= x;

-               }

-       }

-

-       return out;

-}

-

-#ifdef Q_OS_LINUX

-static bool qt_buggy_fsw()

-{

-       // FIXME: just a guess that this is fixed in 4.3.5 and 4.4.0

-       if(qVersionInt() < 0x040305)

-               return true;

-       else

-               return false;

-}

-#else

 static bool qt_buggy_fsw()

 {

        return false;

 }

-#endif

 // begin ugly hack for qca 2.0.0 with broken dirwatch support

```

----------

