aboutsummaryrefslogtreecommitdiffstats
path: root/doc/ru
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ru')
-rw-r--r--doc/ru/dt124_ru.txt1545
-rw-r--r--doc/ru/faq163_ru2.raw1403
2 files changed, 2948 insertions, 0 deletions
diff --git a/doc/ru/dt124_ru.txt b/doc/ru/dt124_ru.txt
new file mode 100644
index 000000000..d12f4b3cc
--- /dev/null
+++ b/doc/ru/dt124_ru.txt
@@ -0,0 +1,1545 @@
+(c)GnuPG Developments Team
+(c)2003 Translation from English into Russian UTF-8 by Maxim Britov <[email protected]>
+Thanks a lot to Pavel Shaido, Andrew Kavko.
+
+Russian team: <[email protected]>
+
+GnuPG version: 1.2.4-cvs
+Last revision by: MaxBritov
+Last revision date: 18 Sep 2003 15:00
+Used codepage: UTF-8
+-------------------------------------
+
+Format of colon listings
+Специальный формат вывода с разделителем ":"
+для использования Вашими программами
+============================================
+Первоначальный пример:
+
+$ gpg --fixed-list-mode --with-colons --list-keys \
+ --with-fingerprint --with-fingerprint [email protected]
+
+pub:f:1024:17:6C7EE1B8621CC013:899817715:1055898235::m:::scESC:
+fpr:::::::::ECAF7590EB3443B5C7CF3ACB6C7EE1B8621CC013:
+uid:f::::::::Werner Koch <[email protected]>:
+uid:f::::::::Werner Koch <[email protected]>:
+sub:f:1536:16:06AD222CADF6A6E1:919537416:1036177416:::::e:
+fpr:::::::::CF8BCC4B18DE08FCD8A1615906AD222CADF6A6E1:
+sub:r:1536:20:5CE086B5B5A18FF4:899817788:1025961788:::::esc:
+fpr:::::::::AB059359A3B81F410FCFF97F5CE086B5B5A18FF4:
+
+The double --with-fingerprint prints the fingerprint for the subkeys
+too, --fixed-list-mode is themodern listing way printing dates in
+seconds since Epoch and does not merge the first userID with the pub
+record.
+Двукратное использование опции --with-fingerprint выводит также
+и отпечатки подключей, --fixed-list-mode задает вывод дат в секундах
+от начала Epoch(?) и не объединяет первый User ID с записью pub.
+
+ 1. Поле: Type of record
+ pub = public key
+ pub = открытый ключ
+ crt = X.509 certificate
+ crt = X.509 сертификат
+ crs = X.509 certificate and private key available
+ crs = X.509 сертификат и секретный ключ доступен
+ sub = subkey (secondary key)
+ sub = подключ (вторичный ключ)
+ sec = secret key
+ sec = секретный ключ
+ ssb = secret subkey (secondary key)
+ ssb = секретный подключ (вторичный ключ)
+ uid = user id (only field 10 is used)
+ uid = User Id (используется только поле 10)
+ uat = user attribute (same as user id except for field 10)
+ uat = пользовательские атрибуты (также как User Id кроме поля 10)
+ sig = signature
+ sig = подпись
+ rev = revocation signature
+ rev = отзывающая подпись
+ fpr = fingerprint: (fingerprint is in field 10)
+ fpr = отпечаток (отпечаток в поле 10)
+ pkd = public key data (special field format, see below)
+ pkd = данные открытого ключа (поле имет спец. формат, см. далее)
+ grp = reserved for gpgsm
+ grp = зарезервировано для gpgsm
+ rvk = revocation key
+ rvk = ключ отзыва
+ tru = trust database information
+ tru = информация из таблицы доверий
+
+ 2. Поле: A letter describing the calculated trust. This is a single
+ letter, but be prepared that additional information may follow
+ in some future versions. (not used for secret keys)
+ Буква описывающая вычисленное доверие. Это однобуквенное значение,
+ но будьте готовы, что в будущих версиях может появиться
+ и дополнительная информация (не используется для секретных ключей).
+ o = Unknown (this key is new to the system)
+ o = Неизвестно (данный ключ нов для программы)
+ i = The key is invalid (e.g. due to a missing self-signature)
+ i = Неправильный ключ (напр. отсутствует самоподпись)
+ d = The key has been disabled
+ (deprecated - use the 'D' in field 12 instead)
+ d = Ключ отключен.
+ (устарело - взамен используется 'D' в поле 12)
+ r = The key has been revoked
+ r = Ключ отозван
+ e = The key has expired
+ e = Ключ просрочен
+ - = Unknown trust (i.e. no value assigned)
+ - = Степень доверия неизвестна (т.е. не назначена)
+ q = Undefined trust
+ '-' and 'q' may safely be treated as the same
+ value for most purposes
+ q = Неопределенная степень доверия
+ '-' и 'q' в большинстве случаем могут безопасно
+ трактоваться как одинаковые
+ n = Don't trust this key at all
+ n = Полное недоверие ключу
+ m = There is marginal trust in this key
+ m = Ограниченное (marginal) доверие ключу
+ f = The key is fully trusted
+ f = Полностью доверенный ключ
+ u = The key is ultimately trusted. This often means
+ that the secret key is available, but any key may
+ be marked as ultimately trusted.
+ u = Абсолютное доверие ключу. Обычно это означает, что
+ имеется в наличии и секретный ключ, но абсолютно
+ доверяемым может быть назначен любой ключ.
+ 3. Поле: длина ключа в битах.
+ 4. Поле: Алгоритм: 1 = RSA
+ 2 = RSA (только шифрование)
+ 3 = RSA (только подпись)
+ 16 = ElGamal (только шифрование)
+ 17 = DSA (иногда называемый DH, только подпись)
+ 20 = ElGamal (подпись и шифрование)
+ (другие ID см. в include/cipher.h)
+ 5. Поле: Какой-либо KeyID
+ 6. Поле: Дата создание (в UTC)
+ 7. Поле: Дата окончания срока годности ключа или пустая, если неограничен.
+ 8. Поле: Used for serial number in crt records (used to be the Local-ID)
+ Используется для серийного номера в crt записях (хранит Local ID)
+ 9. Поле: Доверие владельцу (только для главных ключей)
+ Это однобуквенное значение, но будьте готовы, что в следующих
+ версиях может появиться дополнительная информация.
+10. Поле: User-ID. Значение кодируется наподобие C-строк для хранения
+ управляющих символов (двоеточие кодируется "\x3a").
+ Не используется с --fixed-list-mode в gpg.
+ A UAT record puts the attribute subpacket count here, a
+ space, and then the total attribute subpacket size.
+ In gpgsm the issuer name comes here
+ An FPR record stores the fingerprint here.
+ The fingerprint of an revocation key is stored here.
+ UAT показывает здесь количестиво подпакетов атрибутов, пробел,
+ и затем общий размер подпакета атрибутов.
+ В gpgsm здесь имя издателя.
+ FRP показывает здесь отпечаток ключа.
+ Отпечаток ключа отзыва показывается здесь.
+11. Поле: Класс подписи. Это 2 две шестнадцатеричных цифры с
+ последующей буквой 'x' для экспортируемой подписи или
+ буквой 'l' для локальной подписи.
+ Байт класса ключа отзыва также дается здесь,
+ причем 'x' и 'l' имеют тоже значение.
+ Класс (см. g10/keydb.h):
+ 1f = IS_KEY_SIG
+ 10 = IS_UID_SIG
+ 18 = IS_SUBKEY_SIG
+ 20 = IS_KEY_REV
+ 30 = IS_UID_REV
+ 28 = IS_SUBKEY_REV
+12. Поле: Совместимость ключей:
+ e = шифрование
+ s = подпись (подпись данных)
+ c = сертификация (подпись ключей)
+ Ключ может иметь любую их комбинацию в любом порядке.
+ В дополнение к данным буквам, главный ключ имеет заглавные
+ версии букв для указания возможностей ключа в целом,
+ а также заглавную букву 'D' - ключ отключен.
+13. Поле: Used in FPR records for S/MIME keys to store the fingerprint of
+ the issuer certificate. This is useful to build the
+ certificate path based on certificates stored in the local
+ keyDB; it is only filled if the issue certificate is
+ available. The advantage of using this value is that it is
+ guaranteed to have been been build by the same lookup
+ algorithm as gpgsm uses.
+ For "uid" recods this lists the preferences n the sameway the
+ -edit menu does.
+ Используется в FRP записях для S/MIME ключей для хранения
+ отпечатка сертификата издателя. Это полезно для построения
+ пути сертификата на основе сертификатов хранимых в keyDB;
+ это заполнено, если сертификат издателя доступен.
+ Полезность этого в том, что гарантируется использование
+ того же алгоритма поиска, как в gpgsm.
+14. Поле: Flag field used in the --edit menu output:
+ Поле флага используемого в выводе --edit меню:
+
+
+All dates are displayed in the format yyyy-mm-dd unless you use the
+option --fixed-list-mode in which case they are displayed as seconds
+since Epoch. More fields may be added later, so parsers should be
+prepared for this. When parsing a number the parser should stop at the
+first non-number character so that additional information can later be
+added.
+Все даты показываются в формате yyy-mm-dd до тех пор, пока не
+используется опция --fixed-list-mode при испоьзовании которой,
+даты отображаются в секундах с начала Epoch. В будущем могут
+появиться новые поля, так что программы разбирающие данный
+формат должны быть готовы к этому. При разборе количества полей
+следует остановиться на первом не цифровом символе так, чтобы
+позднее могла добавиться дополнительная информация.
+
+Если поле 1 имеет тэг "pkd", листинг выглядит подобно этому:
+pkd:0:1024:B665B1435F4C2 .... FF26ABB:
+ ! ! !-- значение
+ ! !------ число битов в значении
+ !--------- индекс (напр. DSA имеет от 0 до 3: p,q,g,y)
+
+
+The "tru" trust database records have the fields:
+Запись таблицы доверий "tru" имеет следующие поля:
+
+ 1: Reason for staleness of trust. If this field is empty, then the
+ trustdb is not stale. This field may have multiple flags in it:
+ Причина устаревания таблицы. Если поле пусто, таблица не устарела.
+ Данное поле может иметь несколько флагов:
+
+ o: Trustdb устарела
+ t: Trustdb была создана при иной модели доверий, чем текущая.
+
+ 2: Модель доверия. Это всегда ноль (т.е. "Classic")
+ в данной версии GnuPG.
+ 3: Дата создания trustdb в секундах с 1/1/1970.
+ 4: Срок годности trustdb в секундах с 1/1/1970.
+
+
+
+Формат вывода параметра "--status-fd"
+=====================================
+Every line is prefixed with "[GNUPG:] ", followed by a keyword with
+the type of the status line and a some arguments depending on the
+type (maybe none); an application should always be prepared to see
+more arguments in future versions.
+Каждая строка начинается с "[GNUPG:] ", далее следует ключевое слово
+с типом строки статуса и некоторыми (необязательно) аргументами,
+основанными на типе; приложениям следует всегда быть готовыми
+получить больше аргументов в будущих версиях.
+
+ GOODSIG <long keyid> <username>
+ The signature with the keyid is good. For each signature only
+ one of the three codes GOODSIG, BADSIG or ERRSIG will be
+ emitted and they may be used as a marker for a new signature.
+ The username is the primary one encoded in UTF-8 and %XX
+ escaped.
+ Подпись с <long keyid> достоверна. Для каждой подписи будет
+ только один из трех кодов GOODSIG, BADSIG или ERRSIG и они могут
+ использоваться как маркер для новой подписи.
+ <username> есть главный User ID в кодировке UTF-8 и %XX.
+
+ EXPSIG <long keyid> <username>
+ The signature with the keyid is good, but the signature is
+ expired. The username is the primary one encoded in UTF-8 and
+ %XX escaped.
+ Подпись с <long keyid> достоверна, но просрочена.
+ <username> есть главный User ID в кодировке UTF-8 и %XX.
+
+ EXPKEYSIG <long keyid> <username>
+ The signature with the keyid is good, but the signature was
+ made by an expired key. The username is the primary one
+ encoded in UTF-8 and %XX escaped.
+ Подпись с <long keyid> достоверна, но создана просроченным ключом.
+ <username> есть главный User ID в кодировке UTF-8 и %XX.
+
+ REVKEYSIG <long keyid> <username>
+ The signature with the keyid is good, but the signature was
+ made by a revoked key. The username is the primary one
+ encoded in UTF-8 and %XX escaped.
+ Подпись с <long keyid> достоверна, но создана отозванным ключом.
+ <username> есть главный User ID в кодировке UTF-8 и %XX.
+
+ BADSIG <long keyid> <username>
+ The signature with the keyid has not been verified okay.
+ The username is the primary one encoded in UTF-8 and %XX
+ escaped.
+ Подпись с <long keyid> недостоверна после проверки.
+ <username> есть главный User ID в кодировке UTF-8 и %XX.
+
+ ERRSIG <long keyid> <pubkey_algo> <hash_algo> \
+ <sig_class> <timestamp> <rc>
+ It was not possible to check the signature. This may be
+ caused by a missing public key or an unsupported algorithm.
+ A RC of 4 indicates unknown algorithm, a 9 indicates a missing
+ public key. The other fields give more information about
+ this signature. sig_class is a 2 byte hex-value.
+ Нет возможности проверить подпись. Это может быть вызвано
+ отсутствием открытого ключа или неизвестным алгоритмом.
+ <rc>: 4 - неизвестный алгоритм, 9 - отстутствует открытый
+ ключ. Другие поля дают больше информации о данной подписи.
+ <sig_class> двухбайтное шестнадцатеричное значение.
+
+
+ VALIDSIG <fingerprint in hex> <sig_creation_date> <sig-timestamp>
+ <expire-timestamp> <sig-version> <reserved> <pubkey-algo>
+ <hash-algo> <sig-class> <primary-key-fpr>
+
+ The signature with the keyid is good. This is the same as
+ GOODSIG but has the fingerprint as the argument. Both status
+ lines are emitted for a good signature. All arguments here
+ are on one long line. sig-timestamp is the signature creation
+ time in seconds after the epoch. expire-timestamp is the
+ signature expiration time in seconds after the epoch (zero
+ means "does not expire"). sig-version, pubkey-algo, hash-algo,
+ and sig-class (a 2-byte hex value) are all straight from the
+ signature packet. PRIMARY-KEY-FPR is the fingerprint of the
+ primary key or identical to the first argument. This is
+ useful to get back to the primary key without running gpg
+ again for this purpose.
+ Подпись с <keyid> достоверна. Это то же, что и GOODSIG, но
+ имеет отпечаток ключа в качестве аргумента. Обе строки статуса
+ будут присутствовать при достоверной подписи. Все аргументы
+ передаются одной длинной строкой. <sig-timestamp> время создания
+ подиси с 01/01/1970. <expire-timestamp> время окончания срока
+ действия подписи в секундах (0 - без ограничения срока).
+ <sig-version>, <pubkey-algo>, <hash-algo> и <sig-class> (двухбайтное
+ шестнадцатеричное значение) берутся из пакета подписи.
+ <primary_key_frp> отпечаток гланого ключа или идентичен первому
+ аргументу. Это полезно для получения гланого ключа без запуска
+ gpg для этой цели.
+
+ SIG_ID <radix64_string> <sig_creation_date> <sig-timestamp>
+ This is emitted only for signatures of class 0 or 1 which
+ have been verified okay. The string is a signature id
+ and may be used in applications to detect replay attacks
+ of signed messages. Note that only DLP algorithms give
+ unique ids - others may yield duplicated ones when they
+ have been created in the same second.
+ Выдается только для подписей класса 00 или 01, достоверных
+ после проверки. <radix64_string> идентификатор подписи
+ и может использоваться приложением для обнаружения
+ атак с повторной отправкой подписанных сообщений. Заметим, что только
+ DLP алгоритмы дают уникальные идентификаторы, в то время как
+ другие могут давать одинаковые, если создают их в ту же секунду.
+
+ ENC_TO <long keyid> <keytype> <keylength>
+ The message is encrypted to this keyid.
+ keytype is the numerical value of the public key algorithm,
+ keylength is the length of the key or 0 if it is not known
+ (which is currently always the case).
+ Сообщение зашифровано для данного <long_keyid>.
+ <keytype> цифровое обозначение алгоритма шифрования с
+ открытым ключом. <keylength> длина ключа, или 0 если неизвестно
+ (что сейчас всегда).
+
+ NODATA <what>
+ No data has been found. Codes for what are:
+ 1 - No armored data.
+ 2 - Expected a packet but did not found one.
+ 3 - Invalid packet found, this may indicate a non OpenPGP message.
+ You may see more than one of these status lines.
+ Данные не найдены. Код:
+ 1 - Нет защищенных данных.
+ 2 - Ожидался пакет, но не обнаружен.
+ 3 - Неправильный пакет найден, это может быть не OpenPGP
+ сообщение.
+ Вы можете получить несколько таких строк.
+
+ UNEXPECTED <what>
+ Unexpected data has been encountered
+ 0 - not further specified 1
+ Получены неожиданные данные
+ 0 - нет иных уточнений
+
+ TRUST_UNDEFINED <error token>
+ TRUST_NEVER <error token>
+ TRUST_MARGINAL
+ TRUST_FULLY
+ TRUST_ULTIMATE
+ For good signatures one of these status lines are emitted
+ to indicate how trustworthy the signature is. The error token
+ values are currently only emiited by gpgsm.
+ Для достоверных подписей одна из этих строк статуса означает
+ степень доверия подписавшему. <error_token> в настоящий
+ момент выдается только gpgsm.
+
+ SIGEXPIRED
+ This is deprecated in favor of KEYEXPIRED.
+ Устарело. Заменено на KEYEXPIRED.
+
+ KEYEXPIRED <expire-timestamp>
+ The key has expired. expire-timestamp is the expiration time
+ in seconds after the epoch.
+ Ключ просрочен. <expire_timestamp> время окончания срокадействия
+ в секундах с 01/01/1970.
+
+ KEYREVOKED
+ The used key has been revoked by its owner. No arguments yet.
+ Использованный ключ отозван владельцем. Пока нет имеет аргументов.
+
+ BADARMOR
+ The ASCII armor is corrupted. No arguments yet.
+ ASCII упаковка повреждена. Пока нет аргументов.
+
+ RSA_OR_IDEA
+ The IDEA algorithms has been used in the data. A
+ program might want to fallback to another program to handle
+ the data if GnuPG failed. This status message used to be emitted
+ also for RSA but this has been dropped after the RSA patent expired.
+ However we can't change the name of the message.
+ Алгоритм IDEA использован в данных. Вашей программе может
+ потребоваться обратиться к другой программе для, если GnuPG не
+ работает, для получения данных. Для RSA данное сообщение больше не
+ применяется после окончания срока патента на алгоритм RSA.
+ Однако мы не можем изменить имя сообщения.
+
+ SHM_INFO
+ SHM_GET
+ SHM_GET_BOOL
+ SHM_GET_HIDDEN
+
+ GET_BOOL
+ GET_LINE
+ GET_HIDDEN
+ GOT_IT
+
+ NEED_PASSPHRASE <long main keyid> <long keyid> <keytype> <keylength>
+ Issued whenever a passphrase is needed.
+ keytype is the numerical value of the public key algorithm
+ or 0 if this is not applicable, keylength is the length
+ of the key or 0 if it is not known (this is currently always the case).
+ Выдается когда необходим ввод пароля.
+ <keytype> цифровое значение алгоритма шифрования с открытым ключом или
+ 0 если это не применимо. <keylenght> длина ключа или 0 если неизвестно
+ (всегда на данный момент).
+
+ NEED_PASSPHRASE_SYM <cipher_algo> <s2k_mode> <s2k_hash>
+ Issued whenever a passphrase for symmetric encryption is needed.
+ Выдвется, если необходим пароль для симметричного шифрования.
+
+ MISSING_PASSPHRASE
+ No passphrase was supplied. An application which encounters this
+ message may want to stop parsing immediately because the next message
+ will probably be a BAD_PASSPHRASE. However, if the application
+ is a wrapper around the key edit menu functionality it might not
+ make sense to stop parsing but simply ignoring the following
+ BAD_PASSPHRASE.
+ Не предоставлен пароль. Приложение может захотеть прекратить
+ дальнейший разбор немедленно, т.к. следующим сообщением должно быть
+ BAD_PASSPHRASE. Однако, если приложение обрабатывает вывод работы
+ с меню редактирования ключа может не иметь смысла прекращать разбор,
+ а просто игнорировать последующий BAD_PASSPHRASE.
+
+ BAD_PASSPHRASE <long keyid>
+ The supplied passphrase was wrong or not given. In the latter case
+ you may have seen a MISSING_PASSPHRASE.
+ Пароль неверен или не задан. В последнем случай сначала будет выдано
+ сообшение MISSING_PASSPHRASE.
+
+ GOOD_PASSPHRASE
+ The supplied passphrase was good and the secret key material
+ is therefore usable.
+ Переданный пароль принят и секретный ключ готов к применению.
+
+ DECRYPTION_FAILED
+ The symmetric decryption failed - one reason could be a wrong
+ passphrase for a symmetrical encrypted message.
+ Сбой расшифровка симметричным алгоритмом. Единствено возможная
+ причина - неверный пароль.
+
+ DECRYPTION_OKAY
+ The decryption process succeeded. This means, that either the
+ correct secret key has been used or the correct passphrase
+ for a conventional encrypted message was given. The program
+ itself may return an errorcode because it may not be possible to
+ verify a signature for some reasons.
+ Расшифровано успешно. Это означает, что был использован правильный
+ секретный ключ или правильный пароль дан. Программа может вернуть
+ ошибку потому, что невозможно проверить подпись по некоторым причинам.
+
+ NO_PUBKEY <long keyid>
+ NO_SECKEY <long keyid>
+ The key is not available
+ Ключ недоступен.
+
+ IMPORTED <long keyid> <username>
+ The keyid and name of the signature just imported
+ <long keyid> и <username> подписи только-что импортированы.
+
+ IMPORT_OK <reason> [<fingerprint>]
+ The key with the primary key's FINGERPRINT has been imported.
+ Reason flags:
+ 0 := Not actually changed
+ 1 := Entirely new key.
+ 2 := New user IDs
+ 4 := New signatures
+ 8 := New subkeys
+ 16 := Contains private key.
+ The flags may be ORed.
+ Ключ с главным ключом <fingerprint> импортирован.
+ <reason>:
+ 0 := Не произведено изменений.
+ 1 := Внесен новый ключ.
+ 2 := Новый User ID.
+ 4 := Новая подпись.
+ 8 := Новый подключ.
+ 16 := Получен секретный ключ.
+ Флаги можно объединять логическим ИЛИ.
+
+ IMPORT_PROBLEM <reason> [<fingerprint>]
+ Issued for each import failure. Reason codes are:
+ 0 := "No specific reason given".
+ 1 := "Invalid Certificate".
+ 2 := "Issuer Certificate missing".
+ 3 := "Certificate Chain too long".
+ 4 := "Error storing certificate".
+ Выдается для каждой ошибки импорта.
+ <reason>:
+ 0 := Нет особых признаков.
+ 1 := Неверный Сертификат.
+ 2 := Отсутствует владелец Сертификата.
+ 3 := Цепочка Сертификатов слишком длинна.
+ 4 := Ошибка сохранения Сертификата.
+
+ IMPORT_RES <count> <no_user_id> <imported> <imported_rsa> <unchanged>
+ <n_uids> <n_subk> <n_sigs> <n_revoc> <sec_read> <sec_imported> <sec_dups> <not_imported>
+ Final statistics on import process (this is one long line)
+ Окончательная статистика процесса импорта (одной длинной строкой)
+
+ FILE_START <what> <filename>
+ Start processing a file <filename>. <what> indicates the performed
+ operation:
+ 1 - verify
+ 2 - encrypt
+ 3 - decrypt
+ Начало обработки файла <filename>. <what> выполняемая операция:
+ 1 - проверка.
+ 2 - шифрование.
+ 3 - расшифрование.
+
+ FILE_DONE
+ Marks the end of a file processing which has been started
+ by FILE_START.
+ Означает окончание обработки файла, которая обозначалась FILE_START.
+
+ BEGIN_DECRYPTION
+ END_DECRYPTION
+ Mark the start and end of the actual decryption process. These
+ are also emitted when in --list-only mode.
+ Означает начало и конец текущего процесса расшифрования. Это также
+ выдается в --list-only режиме.
+
+ BEGIN_ENCRYPTION <mdc_method> <sym_algo>
+ END_ENCRYPTION
+ Mark the start and end of the actual encryption process.
+ Означает начало и конец текущего процесса шифрования.
+
+ DELETE_PROBLEM reason_code
+ Deleting a key failed. Reason codes are:
+ 1 - No such key
+ 2 - Must delete secret key first
+ 3 - Ambigious specification
+ Сбой удаления. <reason_code>:
+ 1 - нет такого ключа.
+ 2 - Сперва надо удалить секретный ключ.
+ 3 - двусмысленное задание.
+
+ PROGRESS what char cur total
+ Used by the primegen and Public key functions to indicate progress.
+ "char" is the character displayed with no --status-fd enabled, with
+ the linefeed replaced by an 'X'. "cur" is the current amount
+ done and "total" is amount to be done; a "total" of 0 indicates that
+ the total amount is not known. 100/100 may be used to detect the
+ end of operation.
+ Используется при создании главного ключа и функций с открытым ключом
+ для обозначения процесса. "char" символ отображаемый при не заданной
+ --status-fs, с переводом строки замененным на 'X'. "cur" текущая
+ степень выполнения и "total" всего выполнить; 0 в "total" означает,
+ что общее число не известно. 100/100 может использоваться для
+ определения конца операции.
+
+ SIG_CREATED <type> <pubkey algo> <hash algo> <class> <timestamp> <key fpr>
+ A signature has been created using these parameters.
+ type: 'D' = detached
+ 'C' = cleartext
+ 'S' = standard
+ (only the first character should be checked)
+ class: 2 hex digits with the signature class
+ Подпись создана с использованием данных параметров.
+ <type>: 'D' = отделенная.
+ 'C' = прозрачная подпись.
+ 'S' = стандартная.
+ (только первый символ следует проверять)
+ <class>: две шестнадцатеричные цифры класса подписи.
+
+ KEY_CREATED <type> <fingerprint>
+ A key has been created
+ type: 'B' = primary and subkey
+ 'P' = primary
+ 'S' = subkey
+ The fingerprint is one of the primary key for type B and P and
+ the one of the subkey for S.
+ Ключ был создан:
+ <type>: 'B' = главный ключ и подключ.
+ 'P' = главный ключ.
+ 'S' = подключ.
+ <fingerprint> отпечаток главного ключа для типов B и P либо отпечаток
+ подключа для типа S.
+
+ SESSION_KEY <algo>:<hexdigits>
+ The session key used to decrypt the message. This message will
+ only be emmited when the special option --show-session-key
+ is used. The format is suitable to be passed to the option
+ --override-session-key
+ Сесионный ключ использованный для расшифрования сообщения. Это
+ сообщение выдается только при задании опции --show-session-key.
+ Формат пригодный для использования в --override-session-key.
+
+ NOTATION_NAME <name>
+ NOTATION_DATA <string>
+ name and string are %XX escaped; the data may be splitted
+ among several notation_data lines.
+ <name> и <string> %XX кодировка; данные могут быть разделены
+ на несколько NOTATION_DATA строк.
+
+ USERID_HINT <long main keyid> <string>
+ Give a hint about the user ID for a certain keyID.
+ Дается как подсказка о User ID для KeyID.
+
+ POLICY_URL <string>
+ string is %XX escaped
+ строка в %XX кодировке.
+
+ BEGIN_STREAM
+ END_STREAM
+ Issued by pipemode.
+ Выдается при использовании каналов (pipemode).
+
+ INV_RECP <reason> <requested_recipient>
+ Issued for each unusable recipient. The reasons codes
+ currently in use are:
+ 0 := "No specific reason given".
+ 1 := "Not Found"
+ 2 := "Ambigious specification"
+ 3 := "Wrong key usage"
+ 4 := "Key revoked"
+ 5 := "Key expired"
+ 6 := "No CRL known"
+ 7 := "CRL too old"
+ 8 := "Policy mismatch"
+ 9 := "Not a secret key"
+ 10 := "Key not trusted"
+
+ Note that this status is also used for gpgsm's SIGNER command
+ where it relates to signer's of course.
+ Выдается на каждого недопустимого получателя.
+ <reason>:
+ 0 := Нет особых признаков;
+ 1 := Не найден;
+ 2 := Двусмысленное задание;
+ 3 := Неправильно использованный ключ;
+ 4 := Ключ отозван;
+ 5 := Ключ просрочен;
+ 6 := Неизвестный CRL;
+ 7 := CRL слишком старый;
+ 8 := Несоответствует правилам (Policy mismatch);
+ 9 := Нет секретного ключа;
+ 10 := Ключ не доверенный.
+ Учтите, что данный статус также используется в gpgsm командой SIGNER,
+ где ссылается на подписавшего (to signer's of course).
+
+ NO_RECP <reserved>
+ Issued when no recipients are usable.
+ Выдается когда не задан получатель.
+
+ ALREADY_SIGNED <long-keyid>
+ Warning: This is experimental and might be removed at any time.
+ Внимание: Это экспериментальное и может быть удалено.
+
+ TRUNCATED <maxno>
+ The output was truncated to MAXNO items. This status code is issued
+ for certain external requests
+ Вывод обреза до <maxno> пунктов. Выдается для некоторых внешних
+ запросов.
+
+ ERROR <error location> <error code>
+ This is a generic error status message, it might be followed
+ by error location specific data. <error token> and
+ <error_location> should not contain a space.
+ Это общий формат ошибки и может следствием ошибки расположения
+ некторых данных. <error_token> и <error_location> не должны содержать
+ пробелов.
+
+ ATTRIBUTE <fpr> <octets> <type> <index> <count>
+ <timestamp> <expiredate> <flags>
+ This is one long line issued for each attribute subpacket when
+ an attribute packet is seen during key listing. <fpr> is the
+ fingerprint of the key. <octets> is the length of the
+ attribute subpacket. <type> is the attribute type
+ (1==image). <index>/<count> indicates that this is the Nth
+ indexed subpacket of count total subpackets in this attribute
+ packet. <timestamp> and <expiredate> are from the
+ self-signature on the attribute packet. If the attribute
+ packet does not have a valid self-signature, then the
+ timestamp is 0. <flags> are a bitwise OR of:
+ 0x01 = this attribute packet is a primary uid
+ 0x02 = this attribute packet is revoked
+ 0x04 = this attribute packet is expired
+ Это одна длинная строка выдаваемая для каждого атрибута подпакета,
+ когда атрибут пакета просматривается в процессе просмотра ключей.
+ <fpr> отпечаток ключа. <octets> длина атрибута подпакета.
+ <type> атрибут типа (1==image). <index>/<count> показывают, что это
+ N-ный подпакет из общего количества подпакетов в данном пакете
+ атрибутов. <timestamp> и <expiredate> берутся из самоподписи на
+ пакете атрибута. Если пакет атрибута не имеет правильной самоподписи,
+ тогда <timestamp>=0.
+ <flags> объединенные логическим ИЛИ:
+ 0x01 = данный пакет атрибута - главный User ID;
+ 0x02 = данный пакет атрибута - отозван;
+ 0x03 = данный пакет атрибута - просрочен.
+
+
+Формат вывода параметра "--attribute-fd"
+========================================
+
+When --attribute-fd is set, during key listings (--list-keys,
+--list-secret-keys) GnuPG dumps each attribute packet to the file
+descriptor specified. --attribute-fd is intended for use with
+--status-fd as part of the required information is carried on the
+ATTRIBUTE status tag (see above).
+Когда установлен --attribute-fd, в процессе вывода списка ключей
+(--list-keys, --list-secret-keys) GnuPG выводит для каждого пакета атрибут
+в файл заданный дескриптором. --attribute-fd предназначен для
+использования с --status-fd как часть необходимой информации
+дополняемой тегом ATTRIBUTE (см. выше).
+
+The contents of the attribute data is specified by 2440bis, but for
+convenience, here is the Photo ID format, as it is currently the only
+attribute defined:
+Содержимое данных атрибута соответствует 2440bis, но для удобства,
+здесь показан Фото ID формат, т.к. это единственный определенный
+в настоящее время атрибут:
+
+ Byte 0-1: The length of the image header. Due to a historical
+ accident (i.e. oops!) back in the NAI PGP days, this is
+ a little-endian number. Currently 16 (0x10 0x00).
+ Длина заголовка изображения. По историческим причинам
+ (со времен NAI PGP) это число с обратным порядком байтов.
+ В настоящее время 16 (т.е. 0x10 0x00).
+
+ Byte 2: The image header version. Currently 0x01.
+ Версия заголовка изображения. Сейчас 0x01.
+
+ Byte 3: Encoding format. 0x01 == JPEG.
+ Формат. 0x01 == JPEG.
+
+ Byte 4-15: Reserved, and currently unused.
+ Зарезервировано. Пока не используется.
+
+ All other data after this header is raw image (JPEG) data.
+ Все последующие данные являются данными изображения в формате JPEG.
+
+
+Создание ключей
+===============
+ Key generation shows progress by printing different characters to
+ stderr:
+ Процедура генерации ключей выдает последовательность из следующих символов
+ в поток stderr:
+ "." Last 10 Miller-Rabin tests failed
+ Последние 10 тестов Миллера-Рабина не пройдены
+ "+" Miller-Rabin test succeeded
+ Успешный тест Миллера-Рабина
+ "!" Reloading the pool with fresh prime numbers
+ Перезагрузка пула свежими простыми числами
+ "^" Checking a new value for the generator
+ Проверка нового значения для генератора
+ "<" Size of one factor decreased
+ Размер одного множителя уменьшен
+ ">" Size of one factor increased
+ Размер одного множителя увеличен
+
+ The prime number for ElGamal is generated this way:
+ Простое число для ключа ElGamal создается следующим образом:
+
+ 1) Make a prime number q of 160, 200, 240 bits (depending on the keysize)
+ Создается простое число q из 160, 200, 240 бит (основываясь на размере
+ключа)
+ 2) Select the length of the other prime factors to be at least the size
+ of q and calculate the number of prime factors needed
+ Выбирается длина других простых множителей, как минимум равных размеру q
+ и вычисляется число необходимых простых множителей
+ 3) Make a pool of prime numbers, each of the length determined in step 2
+ Создается пул простых чисел, каждое длиной определенной в п.2
+ 4) Get a new permutation out of the pool or continue with step 3
+ if we have tested all permutations.
+ Получаем новый перестановкой пула или продолжаем с п.3
+ если провериди уже все перестановки.
+ 5) Calculate a candidate prime p = 2 * q * p[1] * ... * p[n] + 1
+ Вычисляется кандидат простого числа p=2 * q * p[1] * ... * p[n] + 1
+ 6) Check that this prime has the correct length (this may change q if
+ it seems not to be possible to make a prime of the desired length)
+ Проверяется, что данное простое число имеет правильную длину (это может
+ изменить q, если невозможно получить простое число необходимой длины)
+ 7) Check whether this is a prime using trial divisions and the
+ Miller-Rabin test.
+ Проверяется, что найденное число является простым числом попыткой
+ проверочных делений и с помощью теста Миллера-Рабина
+ 8) Continue with step 4 if we did not find a prime in step 7.
+ Возврат к п.4, если число в п.7 не является простым.
+ 9) Find a generator for that prime.
+ Поиск числа-генератора для данного простого числа.
+
+ This algorithm is based on Lim and Lee's suggestion from the
+ Crypto '97 proceedings p. 260.
+ Данный алгоритм основан на предложениях Lim и Lee.
+ (Доклады Crupto '97 стр. 260)
+
+Unattended key generation
+Автоматическое создание ключа
+=============================
+This feature allows unattended generation of keys controlled by a
+parameter file. To use this feature, you use --gen-key together with
+--batch and feed the parameters either from stdin or from a file given
+on the commandline.
+Данная возможность позволяет Вам создавать ключи в автоматическом режиме
+контролируемом файлом параметров. Для использовния данной возможности
+следует использовать --gen-key вместе с --batch и передать параметры
+через stdin или из файла заданного в командной строке.
+
+The format of this file is as follows:
+Формат файла следующий:
+ o Text only, line length is limited to about 1000 chars.
+ Только текст, длина строки ограничена около 1000 символов.
+ o You must use UTF-8 encoding to specify non-ascii characters.
+ Вы должны использовать UTF-8 для не ASCII символов.
+ o Empty lines are ignored.
+ Пустые строки игнорируются
+ o Leading and trailing spaces are ignored.
+ Лидирующие и концевые пробелы игнорируются
+ o A hash sign as the first non white space character indicates a comment line.
+ Знак решетки, как первый непустой симовол в строке, начинает комментарий
+ o Control statements are indicated by a leading percent sign, the
+ arguments are separated by white space from the keyword.
+ Управляющие операторы предваряются символом процента, аргументы
+ отделяются пробелом от ключевых слов.
+ o Parameters are specified by a keyword, followed by a colon. Arguments
+ are separated by white space.
+ Параметры задаются ключевым словом с двоеточием. Аргументы
+ отделяются пробелом.
+ o The first parameter must be "Key-Type", control statements
+ may be placed anywhere.
+ Первый параметр должен быть "Key-Type", управлящие операторы могут
+ распологаться в любом месте
+ o Key generation takes place when either the end of the parameter file
+ is reached, the next "Key-Type" parameter is encountered or at the
+ control statement "%commit"
+ Генерация ключа начинается с места, где или заканчивается файл
+ параметров, или при обнаружении следующего "Key-Type",
+ или управляющий оператор "%commit"
+ o Control statements:
+ Управляющие операторы
+ %echo <text>
+ Print <text>.
+ Вывести <text>.
+ %dry-run
+ Suppress actual key generation (useful for syntax checking).
+ Производит только имитацию процесса (полезно для проверки синтаксиса).
+ %commit
+ Perform the key generation. An implicit commit is done
+ at the next "Key-Type" parameter.
+ Произвести генерацию ключа. Выполнится также при встрече
+ следующего параметра "Key-Type".
+ %pubring <filename>
+ %secring <filename>
+ Do not write the key to the default or commandline given
+ keyring but to <filename>. This must be given before the first
+ commit to take place, duplicate specification of the same filename
+ is ignored, the last filename before a commit is used.
+ The filename is used until a new filename is used (at commit points)
+ and all keys are written to that file. If a new filename is given,
+ this file is created (and overwrites an existing one).
+ Both control statements must be given.
+ Не сохранять ключ в таблицу ключей по умолчанию или заданную
+ командной строкой, а сохранять в <filename>. Должно быть
+ задано до места начала генерации ключа (см.выше). Используется
+ только последнее втреченное значение для каждого генерируемого ключа.
+ Если файл новый, он создается (перезаписывается).
+ Должный быть заданы оба этих управляющих оператора.
+ o The order of the parameters does not matter except for "Key-Type"
+ which must be the first parameter. The parameters are only for the
+ generated keyblock and parameters from previous key generations are not
+ used. Some syntactically checks may be performed.
+ Порядок параметров не имеет значения, за исключением "Key-Type",
+ который должен быть первым. Параметры действуют только на генерируемый
+ блок ключей и параметры из предыдущей генерации не используются.
+ Может производиться частичная проверка синтаксиса.
+ The currently defined parameters are:
+ На данный момент определены следующие параметры:
+ Key-Type: <algo-number>|<algo-string>
+ Starts a new parameter block by giving the type of the
+ primary key. The algorithm must be capable of signing.
+ This is a required parameter.
+ Начинает новый блок параметров, задавая тип главного ключа.
+ Алгоритм должен поддерживать подпись.
+ Это необходимый параметр.
+ Key-Length: <length-in-bits>
+ Length of the key in bits. Default is 1024.
+ Длина ключа в битах. По умолчанию 1024.
+ Key-Usage: <usage-list>
+ Space or comma delimited list of key usage, allowed values are
+ "encrypt" and "sign". This is used to generate the key flags.
+ Please make sure that the algorithm is capable of this usage.
+ Список применений ключа разделенный пробелом или двоеточием.
+ Допустимые значения "encrypt" и "sign". Используются для
+ создания флагов ключа. Не забудьте, что алгоритм должен
+ поддерживать такое применение.
+ Subkey-Type: <algo-number>|<algo-string>
+ This generates a secondary key. Currently only one subkey
+ can be handled.
+ Создание вторичного подключа. Пока только один подключ
+ может быть создан.
+ Subkey-Length: <length-in-bits>
+ Length of the subkey in bits. Default is 1024.
+ Длина подключа в битах. По умолчанию 1024.
+ Subkey-Usage: <usage-list>
+ Similar to Key-Usage.
+ Аналогично "Key-Usage".
+ Passphrase: <string>
+ If you want to specify a passphrase for the secret key,
+ enter it here. Default is not to use any passphrase.
+ Если Вы задать пароль для секретного ключа, введите его здесь.
+ По умолчанию пароль не используется.
+ Name-Real: <string>
+ Name-Comment: <string>
+ Name-Email: <string>
+ The 3 parts of a key. Remember to use UTF-8 here.
+ If you don't give any of them, no user ID is created.
+ Три части ключа. Используйте UTF-8!
+ Если задан ни один из них, то User ID не создается.
+ Expire-Date: <iso-date>|(<number>[d|w|m|y])
+ Set the expiration date for the key (and the subkey). It
+ may either be entered in ISO date format (2000-08-15) or as
+ number of days, weeks, month or years. Without a letter days
+ are assumed.
+ Установить срок действия ключа (и подключа). Может быть задано
+ или датой в ISO формате (ГГГГ-ММ-ДД), или как число дней, недель,
+ месяцев или лет. Без буквы считается, что указано дней.
+ Preferences: <string>
+ Set the cipher, hash, and compression preference values for
+ this key. This expects the same type of string as "setpref"
+ in the --edit menu.
+ Установить предпочтения шифрования, хэша и сжатия для
+ данного ключа. Теже значения, что и в "setpref" в --edit.
+ Revoker: <algo>:<fpr> [sensitive]
+ Add a designated revoker to the generated key. Algo is the
+ public key algorithm of the designated revoker (i.e. RSA=1,
+ DSA=17, etc.) Fpr is the fingerprint of the designated
+ revoker. The optional "sensitive" flag marks the designated
+ revoker as sensitive information. Only v4 keys may be
+ designated revokers.
+ Добавить к создаваемому ключу - ключ назначенный отзывающим.
+ <algo> - алгоритм шифрования с открытым ключом из ключа
+ назначенного отзывающим (например RSA=1, DSA=17 и т.д.).
+ <fpr> - отпечаток ключа назначаемого отзывающим.
+ Необязательное <sensitive> помечает отзывающий ключ,
+ как несущий важную (неэкспортируемую) информацию.
+ Только ключи v4 могут быть назначены отзывающими.
+
+Пример:
+$ cat >foo <<EOF
+ %echo Создаем стандартный ключ
+ Key-Type: DSA
+ Key-Length: 1024
+ Subkey-Type: ELG-E
+ Subkey-Length: 1024
+ Name-Real: Joe Tester
+ Name-Comment: с дурацким паролем
+ Name-Email: [email protected]
+ Expire-Date: 0
+ Passphrase: abc
+ %pubring foo.pub
+ %secring foo.sec
+ # Здесь начинаем создание и поэтому мы сможем затем выдать "выполнено" :-)
+ %commit
+ %echo выполнено
+EOF
+$ gpg --batch --gen-key foo
+ [...]
+$ gpg --no-default-keyring --secret-keyring ./foo.sec \
+ --keyring ./foo.pub --list-secret-keys
+/home/wk/work/gnupg-stable/scratch/foo.sec
+------------------------------------------
+sec 1024D/915A878D 2000-03-09 Joe Tester (с дурацким паролем) <[email protected]>
+ssb 1024g/8F70E2C0 2000-03-09
+
+
+
+Layout of the TrustDB
+Устройство таблицы доверий TrustDB
+==================================
+The TrustDB is built from fixed length records, where the first byte
+describes the record type. All numeric values are stored in network
+byte order. The length of each record is 40 bytes. The first record of
+the DB is always of type 1 and this is the only record of this type.
+Таблица TrustDB состоит из записей фиксированной длины и первый байт
+каждой записи указывает ее тип. Все численнык значения хранятся в
+последовательном байтовом порядке (network byte order).
+Длина каждой записи равна 40 байт. Первая запись всегда имеет
+тип 1 и только этот тип!
+
+
+FIXME: The layout changed, document it here.
+
+ Тип записи 0:
+ -------------
+ Unused record, can be reused for any purpose.
+ Неиспользуемая запись, можно использовать заново для любых целей.
+
+ Тип записи 1:
+ -------------
+ Информация о версии таблицы TrustDB. Это всегда первая запись в таблице
+ и только с типом 1.
+ 1 байт Содержит 1
+ 3 байта волшебное слово 'gpg'
+ 1 байт Версия таблицы TrustDB (2)
+ 1 байт marginals needed
+ 1 байт completes needed
+ 1 байт max_cert_depth
+ The three items are used to check whether the cached
+ validity value from the dir record can be used.
+ Эти три параметра используются длфя проверки того,
+ что закешированное значение из dir записи можно использовать.
+ 1 u32 locked flags
+ флаги блокировок
+ 1 u32 отметка времени создания таблицы TrustDB
+ 1 u32 timestamp of last modification which may affect the validity
+ of keys in the trustdb. This value is checked against the
+ validity timestamp in the dir records.
+ отметка времени последней модификации таблицы, которая могла
+ затронуть действительность ключей в таблице TrustDB.
+ 1 u32 timestamp of last validation
+ (Used to keep track of the time, when this TrustDB was checked
+ against the pubring)
+ отметка о времени последней ревизии доверий
+ (Используется для хранения связи со временем, когда таблица
+ была проверена относительно таблицы открытых ключей)
+ 1 u32 record number of keyhashtable
+ номер записи keyhashtable
+ 1 u32 first free record
+ первая свободная запись
+ 1 u32 record number of shadow directory hash table
+ It does not make sense to combine this table with the key table
+ because the keyid is not in every case a part of the fingerprint.
+ номер записи теневого каталога таблицы хешей.
+
+ 1 u32 record number of the trusthashtbale
+ номер записи trusthashtable
+
+
+ Тип записи 2: (запись каталога) (directory record)
+ -------------
+ Informations about a public key certificate.
+ These are static values which are never changed without user interaction.
+ Информация о сертификате публичного ключа.
+ Это постоянное значение, которое не изменяется без участия пользователя.
+
+ 1 байт значение 2
+ 1 байт зарезервирован
+ 1 u32 LID. (This is simply the record number of this record.)
+ LID. (Уникальный внутренний идентификатор для записей данного типа)
+ 1 u32 List of key-records (the first one is the primary key)
+ Список записей о ключах (первый - для главного ключа)
+ 1 u32 List of uid-records -- Список записей о UID
+ 1 u32 cache record -- запись кеша
+ 1 байт ownertrust -- доверие владельцу
+ 1 байт dirflag
+ 1 байт maximum validity of all the user ids
+ максимальная достоверность для всех User ID
+ 1 u32 time of last validity check.
+ отметка времени послдней проверки действительности
+ 1 u32 Must check when this time has been reached.
+ (0 = no check required)
+ Нужно проверить, когда данная отметка времени устареет
+ (0 - ничего проверять не требуется)
+
+ Тип записи 3: (запись о ключе) (key record)
+ -------------
+ Informations about a primary public key.
+ (This is mainly used to lookup a trust record)
+
+ 1 байт значение 3
+ 1 байт зарезервирован
+ 1 u32 LID
+ 1 u32 следующая запись о ключе
+ 7 байт зарезервированы
+ 1 байт keyflags
+ 1 байт алогитм шифрования открытым ключом
+ 1 байт length of the fingerprint (in bytes)
+ длина отпечатка в байтах
+ 20 байт fingerprint of the public key
+ (This is the value we use to identify a key)
+ отпечаток открытого ключа
+ (Значение, которое мы используем для идентификации ключа)
+
+ Тип записи 4: (запись о UID) (uid record)
+ -------------
+ Informations about a userid
+ We do not store the userid but the hash value of the userid because that
+ is sufficient.
+ Информация о User ID
+ Мы не храним User ID, но используем хеш значение User ID,
+ т.к. этого достаточно.
+
+ 1 байт значение 4
+ 1 байт зарезервирован
+ 1 u32 LID
+ 1 u32 следующая запись о User ID
+ 1 u32 указатель на запись со списком предпочтений
+ 1 u32 siglist list of valid signatures
+ siglist список действительных подписей
+ 1 байт uidflags
+ 1 байт validity of the key calculated over this user id
+ действительность ключа вычисленного для данного User ID
+ 20 байт ripemd160 хеш данного User ID
+
+ Тип записи 5: (запись о предпочтениях) (pref record)
+ -------------
+ This record type is not anymore used.
+ Данная запись не используется где-либо
+
+ 1 байт значение 5
+ 1 байт зарезервирован
+ 1 u32 LID; points to the directory record (and not to the uid record!).
+ (or 0 for standard preference record)
+ LID; указывает на запись каталога (не на UID запись!).
+ (0 для записи стандартных предпочтений)
+ 1 u32 следующая запись о предпочтениях
+ 30 байт данные о предпочтениях
+
+ Тип записи 6 (sigrec)
+ ------------
+ Used to keep track of key signatures. Self-signatures are not
+ stored. If a public key is not in the DB, the signature points to
+ a shadow dir record, which in turn has a list of records which
+ might be interested in this key (and the signature record here
+ is one).
+ Используется для хранения пути подписей ключа. Самоподписи
+ не хранятся. Если открытого ключа нет в таблице, то подпись
+ ссылается на запись теневого каталога, где имеется список записей,
+ которые возможно интересны для данного ключа (и данная запись тоже)
+
+ 1 байт значение 6
+ 1 байт зарезервирован
+ 1 u32 LID. указатель на запись каталога
+ 1 u32 next next sigrec of this uid or 0 to indicate the last sigrec.
+ следующая sigrec данного UID или 0 для последней sigrec.
+ 6 раз
+ 1 u32 Local_id of signatures dir or shadow dir record
+ Local_ID каталога подписей или записи теневого каталога
+ 1 byte Флаг: Бит 0 = checked: Bit 1 is valid (we have a real
+ directory record for this)
+ проверено: Бит 1 действителен (мы имеем
+ запись каталога для данного ID)
+ 1 = valid is set (but may be revoked)
+ действительность установлена (но возможно отозван)?
+
+
+ Тип записи 8: (запись теневого каталога) (shadow directory record)
+ -------------
+ This record is used to reserve a LID for a public key. We
+ need this to create the sig records of other keys, even if we
+ do not yet have the public key of the signature.
+ This record (the record number to be more precise) will be reused
+ as the dir record when we import the real public key.
+ Данная запись используется, чтобы зарезервировать LID для
+ открытого ключа. Нам это необходимо для создания sigrec других
+ ключей, даже если мы не имеем пока открытого ключа подписи.
+ Данная запись (точнее номер записи) будет затем использована,
+ как запись каталога, когда мы импортируем открытый ключ.
+
+ 1 байт значение
+ 1 байт зарезервирован
+ 1 u32 LID
+ 2 u32 keyid
+ 1 байт алгоритм шифрования открытым ключом
+ 3 байт зарезервированы
+ 1 u32 hintlist A list of records which have references to
+ this key. This is used for fast access to
+ signature records which are not yet checked.
+ Note, that this is only a hint and the actual records
+ may not anymore hold signature records for that key
+ but that the code cares about this.
+ Список записей, которые ссылаются на данный ключ.
+ Используется для быстрого доступа к записям sigrec,
+ которые еще не проверены.
+ Заметьте, что на самом деле записи, указанные в
+ списке, могут уже не содержать sigrec для данного
+ ключа, но об этом позаботится?
+ 18 byte зарезервированы
+
+
+
+ Тип записи 10 (таблица хешей) (hash table)
+ -------------
+ Due to the fact that we use fingerprints to lookup keys, we can
+ implement quick access by some simple hash methods, and avoid
+ the overhead of gdbm. A property of fingerprints is that they can be
+ used directly as hash values. (They can be considered as strong
+ random numbers.)
+ What we use is a dynamic multilevel architecture, which combines
+ hashtables, record lists, and linked lists.
+ В следствие того, что мы используем отпечатки ключей для их поиска,
+ мы можем реализовать быстрый доступ простыми хеш методами и избежать
+ перегрузки gdbm. Особенность отпечатков
+ ключей то, что они сами могут быть использованы непосредственно,
+ как хеш-значения. (Их можно рассматривать, как *сильные* числа).
+ Мы используем динамическую многоуровневую архитектуру, которая
+ совмещает таблицы хешей, списки записей и списки ссылок.
+
+ This record is a hashtable of 256 entries; a special property
+ is that all these records are stored consecutively to make one
+ big table. The hash value is simple the 1st, 2nd, ... byte of
+ the fingerprint (depending on the indirection level).
+ Данная запись - таблица хешей из 256 записей; особенность
+ в том, что все эти записи хранятся последовательно для получения
+ одной большой таблицы. Значение хеша это просто 1-й, 2-й, ... байты
+ отпечатка (основываясь на indirection level)
+
+ When used to hash shadow directory records, a different table is used
+ and indexed by the keyid.
+ Когда используется записи каталога теневых хешей, другая таблица
+ используется и индексируется по KeyID.
+
+ 1 байт значение 10
+ 1 байт зарезервирован
+ n u32 recnum; n depends on the record length:
+ n = (reclen-2)/4 which yields 9 for the current record length
+ of 40 bytes.
+ recnum; n вычисляется на основе длины записи:
+ n = (reclen-2)/4 которое равно 9 для текущей длины записи в 40 байт.
+
+ the total number of such record which makes up the table is:
+ m = (256+n-1) / n
+ which is 29 for a record length of 40.
+ общее число таких записей из которых состоит таблица:
+ m = (256+n-1) / n
+ которое равняется 29 для текущей длины в 40 байт.
+
+ To look up a key we use the first byte of the fingerprint to get
+ the recnum from this hashtable and look up the addressed record:
+ - If this record is another hashtable, we use 2nd byte
+ to index this hash table and so on.
+ - if this record is a hashlist, we walk all entries
+ until we found one a matching one.
+ - if this record is a key record, we compare the
+ fingerprint and to decide whether it is the requested key;
+ Для поиска ключа мы используем первый байт отпечатка для получения recnum
+ из данной таблицы хешей и ищем адресуемую запись:
+ - Если данная запись - другая таблица, мы используем второй байт как
+ индекс в данной хеш таблице и т.д.
+ - если данная запись - список хешей, мы просматриваем весь список,
+ до тех пор, пока мы не найдем соотвествие.
+ - если данная запись - запись ключа, мы сравниваем отпечаток и решаем
+ является ли данный ключ искомым.
+
+
+ Тип записи 11 (список хешей) (hash list)
+ -------------
+ см. таблицу хешей для разъяснений.
+ Это также используется и для других целей.
+
+ 1 байт значение 11
+ 1 байт зарезервирован
+ 1 u32 следующий следующая запись хеш списка
+ n раз n = (reclen-5)/5
+ 1 u32 recnum
+
+ Для используемой в настоящее время длины записи в 40 байт, n = 7.
+
+
+
+ Тип записи 254 (свободная запись) (free record)
+ --------------
+ All these records form a linked list of unused records.
+ Все эти записи являются неиспользуемыми.
+ 1 байт значение 254
+ 1 байт зарезервирован (0)
+ 1 u32 следующая свободная
+
+
+
+Packet Headers
+Заголовки пакета
+================
+
+GNUPG uses PGP 2 packet headers and also understands OpenPGP packet header.
+There is one enhancement used with the old style packet headers:
+GnuPG использует PGP 2 заголовки пакета и понимает также заголовок OpenPGP
+пакета. Со старым стилем заголовков пакета используется одно расширение:
+
+ CTB bits 10, the "packet-length length bits", have values listed in
+ the following table:
+ CTB биты 10, биты длины "packet-length", имеют ниже описанные значения:
+
+ 00 - 1-byte packet-length field
+ 01 - 2-byte packet-length field
+ 10 - 4-byte packet-length field
+ 11 - no packet length supplied, unknown packet length
+ 00 - 1-байтовое поле packet-length
+ 01 - 2-байтовое поле packet-length
+ 10 - 4-байтовое поле packet-length
+ 11 - не указана длина пакета, неизвестная длина пакета.
+
+ As indicated in this table, depending on the packet-length length
+ bits, the remaining 1, 2, 4, or 0 bytes of the packet structure field
+ are a "packet-length field". The packet-length field is a whole
+ number field. The value of the packet-length field is defined to be
+ the value of the whole number field.
+ Как показано в таблице, в зависимости от битов длины packet-lenght,
+ оставшиеся 1, 2, 4 или 0 байт поля структуры пакета
+ это поле "packed-length". Поле packed-length - целочисленное поле.
+ Значение поля packet-length должно быть целочисленным значением
+ числа полей.
+
+ A value of 11 is currently used in one place: on compressed data.
+ That is, a compressed data block currently looks like <A3 01 . . .>,
+ where <A3>, binary 10 1000 11, is an indefinite-length packet. The
+ proper interpretation is "until the end of the enclosing structure",
+ although it should never appear outermost (where the enclosing
+ structure is a file).
+ Значение 11 в настоящее время используется в одном месте: сжатые данные.
+ Сжатые данные в настоящее время выглядят примерно так <A3 01 . . .>,
+ где <A3> есть двоичное <10 1000 11>, т.е. пакет неопределенной длины.
+ Правильная интерпретация "до завершения вложенной структуры",
+ хотя она и не является истиной в последней инстанции
+ (где вложенная структура - файл).
+
++ This will be changed with another version, where the new meaning of
++ the value 11 (see below) will also take place.
++ Это будет изменео в другой версии, где новый смысл значения 11 (см. ниже)
++ будет иметь место.
++
++ A value of 11 for other packets enables a special length encoding,
++ which is used in case, where the length of the following packet can
++ not be determined prior to writing the packet; especially this will
++ be used if large amounts of data are processed in filter mode.
++ Значение 11 для других пакетов позволяет особое кодирование длины,
++ используемое в тех случаях, когда невозможно определить длину
++ следующего пакета до записи пакета; это особенно будет использоваться при
++ обработке большого объема данных через фильтр.
++
++ It works like this: After the CTB (with a length field of 11) a
++ marker field is used, which gives the length of the following datablock.
++ This is a simple 2 byte field (MSB first) containing the amount of data
++ following this field, not including this length field. After this datablock
++ another length field follows, which gives the size of the next datablock.
++ A value of 0 indicates the end of the packet. The maximum size of a
++ data block is limited to 65534, thereby reserving a value of 0xffff for
++ future extensions. These length markers must be inserted into the data
++ stream just before writing the data out.
++ Это работает так: После CTB (с полем длины 11) используется поле маркера,
++ которое дает длину последующего блока данных. Это простое двухбайтовое поле
++ (сперва MSB) содержащее объем данных следующих за этим полем, не включая
++ размер самого поля. После блока данных следует другое поле длины, которое
++ дает объем следующего блока данных. Значение 0 указывает на конец пакета.
++ Максимальный размер блока данных ограничен 65534, этим резервируется
++ значение 0xFFFF для будущих расширений. Эти маркеры длины должны быть
++ внедрены в поток данных непосредственно перед записью этих данных.
++
++ This 2 byte field is large enough, because the application must buffer
++ this amount of data to prepend the length marker before writing it out.
++ Data block sizes larger than about 32k doesn't make any sense. Note
++ that this may also be used for compressed data streams, but we must use
++ another packet version to tell the application that it can not assume,
++ that this is the last packet.
++ Это двухбайтовое поле достаточно большое потому, что приложение должно
++ иметь буффер данного размера для хранения данных перед их выводом. Блоки
++ данных больше 32К не имеет смысла делать. Учтите, что это может также
++ использоваться для потоков сжатых данных, но мы должны пользоваться другой
++ версией пакета, что бы указать приложению, что нельзя предполагать, что
++ это последний пакет.
+
+GNU extensions to the S2K algorithm
+GNU расширения в S2K алгоритме
+==============================
+S2K mode 101 is used to identify these extensions.
+After the hash algorithm the 3 bytes "GNU" are used to make
+clear that these are extensions for GNU, the next bytes gives the
+GNU protection mode - 1000. Defined modes are:
+S2K режим 101 импользован для идентификации данных расширений.
+После хеш алгоритма 3 байта "GNU" используются, что бы дать понять, что данные
+расширения для GNU, следующие байты дают режим защиты GNU - 1000.
+Определены следующие режимы:
+ 1001 - do not store the secret part at all
+ 1001 - не хранить секретную часть совсем
+ 1002 - a stub to access smartcards (not used in 1.2.x)
+ 1002 - корешок для доступа смарткарт (не используется в 1.2.x)
+
+
+Pipemode
+Каналы
+======
+NOTE: This is deprecated and will be removed in future versions.
+ЗАМЕЧАНИЕ: Это устарело и будет удалено в следующих версиях.
+
+This mode can be used to perform multiple operations with one call to
+gpg. It comes handy in cases where you have to verify a lot of
+signatures. Currently we support only detached signatures. This mode
+is a kludge to avoid running gpg n daemon mode and using Unix Domain
+Sockets to pass the data to it. There is no easy portable way to do
+this under Windows, so we use plain old pipes which do work well under
+Windows. Because there is no way to signal multiple EOFs in a pipe we
+have to embed control commands in the data stream: We distinguish
+between a data state and a control state. Initially the system is in
+data state but it won't accept any data. Instead it waits for
+transition to control state which is done by sending a single '@'
+character. While in control state the control command os expected and
+this command is just a single byte after which the system falls back
+to data state (but does not necesary accept data now). The simplest
+control command is a '@' which just inserts this character into the
+data stream.
+
+Here is the format we use for detached signatures:
+"@<" - Begin of new stream
+"@B" - Detached signature follows.
+ This emits a control packet (1,'B')
+<detached_signature>
+"@t" - Signed text follows.
+ This emits the control packet (2, 'B')
+<signed_text>
+"@." - End of operation. The final control packet forces signature
+ verification
+"@>" - End of stream
+
+
+
+
+
+
+Other Notes
+Другие замечания
+================
+ * For packet version 3 we calculate the keyids this way:
+ * Для пакета 3 версии мы вычисляем keyid-ы таким методом:
+ RSA := low 64 bits of n
+ нижние 64 бита n
+ ELGAMAL := build a v3 pubkey packet (with CTB 0x99) and calculate
+ a rmd160 hash value from it. This is used as the
+ fingerprint and the low 64 bits are the keyid.
+ создать v3 пакет открытого ключа (с CTB 0x99) и
+ вычислить rmd160 значение хеша из него. Это используется
+ как отпечаток и нижние 64 бита используются как KeyId.
+
+ * Revocation certificates consist only of the signature packet;
+ "import" knows how to handle this. The rationale behind it is
+ to keep them small.
+ Сертификаты отзыва включают только пакет подписи; "import" знает
+ как это обрабатывать. Целесообразно сохранять размер сертификатов
+ небольшим.
+
+
+
+Keyserver Message Format
+Формат сообщений сервера ключей
+===============================
+
+The keyserver may be contacted by a Unix Domain socket or via TCP.
+Соединение с сервером ключей может производится через Unix Domain сокет или
+посредством TCP.
+The format of a request is:
+Формат запроса следующий:
+
+====
+command-tag
+Команда
+"Content-length:" digits
+CRLF
+=======
+
+Where command-tag is
+Где "Команда":
+
+NOOP
+GET <user-name>
+PUT
+DELETE <user-name>
+
+
+The format of a response is:
+Формат ответа:
+
+======
+"GNUPG/1.0" status-code status-text
+"Content-length:" digits
+CRLF
+============
+followed by <digits> bytes of data
+с последующей передачей <digits> байт данных
+
+
+Status codes are:
+Коды статуса:
+
+ o 1xx: Informational - Request received, continuing process
+ Информационные - Запрос принят, процесс продолжается
+
+ o 2xx: Success - The action was successfully received, understood,
+ and accepted
+ Успешно - Команда принята успешно, распознана и принята к
+ исполнению.
+
+ o 4xx: Client Error - The request contains bad syntax or cannot be
+ fulfilled
+ Ошибка клиента - Запрос имеет неправильный синтаксис или
+ не может быть выполнен.
+
+ o 5xx: Server Error - The server failed to fulfill an apparently
+ valid request
+ Ошибка сервера - Сервер дал сбой при исполнении кажущегося
+ правильным значением запроса.
+
+Documentation on HKP (the http keyserver protocol):
+Описание HKP (протокол http сервера ключей):
+
+A minimalistic HTTP server on port 11371 recognizes a GET for /pks/lookup.
+Минимальный HTTP сервер на порте 11371 понимает GET для /pks/lookup.
+The standard http URL encoded query parameters are this (always key=value):
+Стандартный http URL содержит параметры запроса (всегда ключ=значение)
+
+- op=index (like pgp -kv), op=vindex (like pgp -kvv) and op=get (like
+ pgp -kxa)
+ op=index (типа pgp -kv), op=vindex (типа pgp -kvv) и op=get (типа pgp -kxa)
+
+- search=<stringlist>. This is a list of words that must occur in the key.
+ The words are delimited with space, points, @ and so on. The delimiters
+ are not searched for and the order of the words doesn't matter (but see
+ next option).
+ search=<stringlist>. Это список слов, которые могжет содержать ключ. Слова
+ разделены пробелом, точкой, @ и т.п. Разделители не ищутся и порядок слов не
+ имеет значения (но см. следующий параметр).
+
+- exact=on. This switch tells the hkp server to only report exact matching
+ keys back. In this case the order and the "delimiters" are important.
+ exact=on. Это заставляет сервер ключей искать полные соотвествия. В данном
+ случае порядок слов и "разделители" важны.
+
+- fingerprint=on. Also reports the fingerprints when used with 'index' or
+ 'vindex'
+ fingerprint=on. Также выдавать отпечатки, когда используется с 'index' или
+ 'vindex'.
+
+The keyserver also recognizes http-POSTs to /pks/add. Use this to upload
+keys.
+Сервер ключей также понимает http POST к /pks/add. Это используется для
+загрузки ключей на сервер.
+
+A better way to do this would be a request like:
+Наилучший способ сделать это - воспользоваться запросом типа:
+
+ /pks/lookup/<gnupg_formatierte_user_id>?op=<operation>
+
+This can be implemented using Hurd's translator mechanism.
+However, I think the whole key server stuff has to be re-thought;
+I have some ideas and probably create a white paper.
+Это может быть реализовано с использованием механизмов транслятора Hurd.
+Однако я думая, что весь материал по серверу ключей должен быть переосмыслен;
+у меня имеются некторые идеи и, возможно я напишу по этому поводу отдельный
+документ.
diff --git a/doc/ru/faq163_ru2.raw b/doc/ru/faq163_ru2.raw
new file mode 100644
index 000000000..df5e54a7f
--- /dev/null
+++ b/doc/ru/faq163_ru2.raw
@@ -0,0 +1,1403 @@
+[$htmltitle=GnuPG FAQ]
+[$htmlcharset=<meta http-equiv="content-type" content="text/html; charset=utf-8">]
+[$sfaqheader=The GnuPG FAQ says:]
+[$sfaqfooter=
+The most recent version of the FAQ is available from
+<http://www.gnupg.org/>
+]
+[$usenetheader=
+]
+[$maintainer=David D. Scribner, <faq 'at' gnupg.org>]
+[$hGPGHTTP=http://www.gnupg.org]
+[$hGPGFTP=ftp://ftp.gnupg.org]
+[$hVERSION=1.2.2]
+
+[H body bgcolor=#ffffff text=#000000 link=#1f00ff alink=#ff0000 vlink=#9900dd]
+[H h1]GnuPG Frequently Asked Questions[H /h1]
+
+
+[H p]
+Версия: 1.6.3[H br]
+Редакция от: 30 Июля 2003[H br]
+Руководитель проекта: [$maintainer]
+[H br]Перевод на русский: Maxim Britov <[email protected]>, GnuPG KeyID 0x6F3DB1FB
+[H br]CODEPAGE: UTF-8
+[H /p]
+
+
+В данном документе (далее - "FAQ") Вы найдете ответы на наиболее часто
+задаваемые вопросы по GnuPG. Последняя версия FAQ (английская) в формате HTML
+доступна [H a href=[$hGPGHTTP]/documentation/faqs.html]здесь[H /a].
+
+Содержание создано автоматически, поэтому может содержать ошибки и может
+случиться, что некоторые из отвеченных ниже вопросов могут в него не попасть.
+Принимаются любые предложения по усовершенствованию структуры настоящего документа.
+
+Все дополнения и исправления отправляйте на англ. языке руководителю проекта.
+Будет правильнее, если Вы предложите и ответ на Ваш новый вопрос или укажете
+и вопрос, и ответ по которым Вы имеете свои предложения. Ваша помощь будет
+оценена по достоинству.
+
+Не следует присылать сообщения типа "Это следует поместить в FAQ - Каков ответ?".
+Если вопрос не задавался ранее, видимо он не относится к часто задаваемым.
+В этом случае Вам следует поискать ответ в архиве соответствующей почтовой
+рассылки.
+
+[H hr]
+<C>
+[H hr]
+
+
+<S> ОБЩЕЕ
+
+<Q> Что такое GnuPG?
+
+ [H a href=[$hGPGHTTP]]GnuPG[H /a] расшифровывается как GNU Privacy Guard и
+ является GNU инструментом для секретных коммуникаций и хранения данных.
+ GnuPG может использоваться для шифрования данных и создания цифровых подписей.
+ GnuPG представляет собой легкое, но мощное средство управления ключами
+ и совместимо с предложенным OpenPGP Internet стандартом, как описано
+ в [H a href=http://www.rfc-editor.org/]RFC 2440[H/a].
+ Также, по возможности, обеспечивается совместимость с PGP от NAI, Inc.
+
+<Q> GnuPG совместимо с PGP?
+
+ В основном, да. GnuPG и новейшие версии PGP следуют стандарту OpenPGP.
+ Но существуют некоторые проблемы при взаимодействии.
+ Подробности см. в вопросе <Rcompat>.
+
+<Q> Свободен ли GnuPG для персонального или коммерческого использования?
+
+ Да! GnuPG является частью инструментов и приложений GNU созданных
+ и распространяемых в соответствии с Free Software Foundation (FSF)
+ General Public License (GPL). Поэтому GnuPG свободно для копирования,
+ использования, изменения и распространения в соответствии с данной
+ лицензией. Прочитайте, пожалуйста, файл озаглавленный COPYING, который
+ прилагается к данной программе для получения более полной информации.
+
+<Q> Какие соглашения используются в данном FAQ?
+
+ Поскольку GnuPG разрабатывается для нескольких оперционных систем
+ (часто параллельно), то соглашения используемые в данном FAQ отражают
+ окружение оболочки UNIX. Для пользователей Win32, ссылки на подсказку
+ командной строки ("$") следует рассматривать, как приглашение (">"),
+ имена каталогов разделенные прямым слешем ("/") следует разделять
+ обратным слешем ("\"), и тильду ("~") рассматривать, как путь к
+ домашнему каталогу пользователя (см. ответ на <Rhomedir> для примера).
+
+ Некоторые командные строки в настоящем FAQ слишком длинны для правильного
+ отображения некоторыми браузерами в Web версии данного документа
+ и поэтому некоторые строки могут быть разбиты на две и более. Такие
+ команды следует ввести целиком - одной строкой, иначе команда будет
+ ошибочна и как минимум, не даст требуемого результата.
+
+ Помните, что данный FAQ содержит информацию, которая может оказаться
+ не актуальной для Вашей текущей версии программы, т.к. постоянно
+ производятся усовершенствование программы и исправления найденных ошибок
+ (см. файл NEWS поставляемый вместе с исходными текстами). Один из
+ пунктов которого сообщает, что в GnuPG начиная с версии 1.1.92 файл
+ персональных параметров программы переименован из "options" в "gpg.conf".
+ Информация в FAQ, ссылающаяся на файл параметров "options" полностью
+ применима к новому файлу "gpg.conf" в большинстве случаев.
+ Подробнее см. в вопросе <Roptions>.
+
+
+<S> ИСТОЧНИКИ ИНФОРМАЦИИ
+
+<Q> Где я могу получить больше информации о GnuPG?
+
+ Онлайновые источники:
+
+ [H ul]
+ [H li]Страница документации на [H a href=[$hGPGHTTP]/documentation/]<[$hGPGHTTP]/documentation/>[H/a].
+ Также смотрите HOWTO и GNU Privacy Handbook (GPH, доступную на Английском, Испанском и Русском (Спасибо Павлу Шайдо за русский перевод)). Последнее является
+ подробным руководством пользователя GnuPG. Вы также найдете документ о том,
+ как перейти с PGP 2.x на GnuPG.
+
+ [H li]На [H a href=[$hGPGHTTP]/documentation/mailing-lists.html]<[$hGPGHTTP]/documentation/mailing-lists.html>[H/a]
+ Вы найдете онлайновый архив дискуссионных списков рассылки (в т.ч. gnupg-ru).
+ Более интереным должен быть gnupg-users - где обсуждаются проблемы
+ пользовательского уровня, для русскоязычных пользователей существует
+ также рассылка gnupg-ru; gnupg-devel - для контактов с разработчиками.
+
+ Дополнительно можно поискать на MARC, например: [H br]
+ gnupg-users: [H a href=http://marc.theaimsgroup.com/?l=gnupg-users&r=1&w=2]<http://marc.theaimsgroup.com/?l=gnupg-users&r=1&w=2>[H/a][H br]
+ gnupg-devel: [H a href=http://marc.theaimsgroup.com/?l=gnupg-devel&r=1&w=2]<http://marc.theaimsgroup.com/?l=gnupg-devel&r=1&w=2>[H/a][H br]
+
+ [H b]ПОЖАЛУЙСТА:[H /b]
+ Перед отправкой вопроса с список рассылки, прочтите данный FAQ и доступную
+ докуменцию. Следует просмотреть также архив рассылки, т.к. вплне возможно,
+ что Ваш вопрос уже обсуждался ранее. Это поможет людям сконцентрировать
+ внимание на решении новых, еще не решенных вопросов.
+
+ [H li]Пакет с исходным кодом GnuPG содержит подкаталог:
+
+ [H samp]
+ ./doc
+ [H /samp]
+
+ в котором Вы можете найти некоторую дополнительную информацию (интересную в
+ основном Хакерам, а не обычным пользователям).
+ [H /ul]
+
+<Q> Где я могу взять GnuPG?
+
+ Вы можете скачать GNU Privacy Guard с главного FTP сервера проекта
+ [H a href=[$hGPGFTP]/gcrypt/]<[$hGPGFTP]/gcrypt/>[H /a] или с одного из зеркал:
+
+ [H a href=[$hGPGHTTP]/download/mirrors.html]
+ <[$hGPGHTTP]/download/mirrors.html>
+ [H /a]
+
+ Текущая стабильная версия GnuPG [$hVERSION]. Обновите Вашу программу до
+ указанной версии, т.к. она включает дополнительные функции и исправления
+ найденных ошибок, которые могли быть найдены в предыдущих версиях.
+
+
+<S> УСТАНОВКА
+
+<Q> На каких операционных системах может работает GnuPG?
+
+ GnuPg должен работать на большинстве Unix, а также Windows (включая
+ Windows NT/2000/XP) и Macintosh OS/X. Текущий список поддерживаемых
+ систем можно посмотреть здесь:
+
+ [H a href=[$hGPGHTTP]/download/supported_systems.html]
+ <[$hGPGHTTP]/download/supported_systems.html>
+ [H /a]
+
+<Q> Какие поставщики случайных чисел мне следует использовать?
+
+ "Хорошие" случайные числа имеют решающее значение для секретного шифрования.
+ Различные операционные системы предоставляют различные механизмы поставки
+ более или менее качественных случайных числа. Linux и *BSD поставляют
+ случайные числа созданные ядром посредством /dev/random - этот вариант
+ предпочтителен для данных систем.
+ Solaris с установленным SUNWski пакетом также предоставляет /dev/random.
+ В данном случае следует использовать параметр конфигурирования:
+
+ [H samp]
+ --enable-static-rnd=linux
+ [H /samp]
+
+ Также существует устройство ядра для поставки случайных чисел разработанное
+ Andi Maier [H a href= http://www.cosy.sbg.ac.at/~andi/SUNrand/]<http://www.cosy.sbg.ac.at/~andi/SUNrand/>[H /a], но это всё еще бета версия.
+ Используйте ее на свой страх и риск!
+
+ На других системах, хорошим выбором будет Entropy Gathering Daemon (EGD).
+ Это perl-демон, который наблюдает за системной активностью и хеширует ее в
+ случайные числа. См. страницу загрузки [H a href=[$hGPGHTTP]/download/]<[$hGPGHTTP]/download/>[H /a]
+ для получения EGD. Используйте параметр конфигурирования:
+
+ [H samp]
+ --enable-static-rnd=egd
+ [H /samp]
+
+ Если указанные выше параметры не работают, можете использовать генератор
+ случайных чисел "unix". Но он [H B]очень[H /B] медленен и его следует
+ избегать. Качество поставляемых случайных чисел не очень хорошее, поэтому
+ им не следует пользоваться для важных данных.
+
+<Didea>
+<Q> Как добавить поддержку RSA и IDEA?
+
+ RSA включен в поставку GnuPG начиная с версии 1.0.3.
+
+ Официальная поставка GnuPG не включает поддержку IDEA по причине
+ патентных ограничений. Патент на IDEA истечет в 2007, поэтому не ждите
+ официальной поддержки до этого момента.
+
+ Однако существует неофициальный модуль поддержки IDEA для GnuPG.
+ Он доступен на
+ [H a href=ftp://ftp.gnupg.dk/pub/contrib-dk/]<ftp://ftp.gnupg.dk/pub/contrib-dk/>[H /a]. Ищите:
+
+ [H pre]
+ idea.c.gz (модуль на C )
+ idea.c.gz.sig (файл подписи)
+ [H /pre]
+
+ [H pre]
+ ideadll.zip (модуль на C и win32 dll)
+ ideadll.zip.sig (файл подписи)
+ [H /pre]
+
+ Директивы компиляции в заголовках файлов. Вам будет необходимо добавить
+ следующую строку в Ваш файл персональных настроек ~/.gnupg/gpg.conf:
+
+ [H samp]
+ load-extension idea
+ [H /samp]
+
+
+<S> ПРИМЕНЕНИЕ
+
+<Q> Каков рекомендуемый размер ключа?
+
+ 1024 бита для DSA подписей; даже и для простых ElGamal подписей.
+ Этого достаточно, т.к. при большем рамере ключа слабейшим звеном
+ оказывается уже размер хеша.
+ Вы можете добавить ключи шифрования большего размера, но Вам следует
+ просмотреть отпечаток этого ключа командой:
+
+ [H samp]
+ $ gpg --fingerprint <User ID>
+ [H /samp]
+
+ Вам следует придерживаться стандартных алгоритмов (т.е. DSA для подписей
+ и ElGamal для шифрования). Ключ ElGamal для подписи невыгоден по следующим
+ причинам: большой размер подписей; сложно создать пригодный для подписи ключ,
+ который сможет противостоять настоящим атакам, Вы не получите чего-то особенно
+ секретного или надежного в сравнении с DSA, плюс существуют также проблемы
+ совместимости с некоторыми версиями PGP.
+ Он был предложен потому, что в то в свое время имелись проблемы
+ с патентами на DSA.
+
+<Q> Почему процесс создания ключей занимает иногда так много времени?
+
+ Основная проблема в том, что необходимо собрать много случайных чисел
+ и для этого мы (в Linux - с устройства /dev/random) должны собирать
+ случайные числа. На самом деле трудно заполнить внутренний буфер Linux
+ энтропией; я говорил с Ted Ts'o и он сказал, что лучший способ заполнить
+ буфер это понажимать клавиши на Вашей клавиатуре. Хорошая секретность
+ имеет свою цену. Я нажимаю на клавиши Shift, Ctrl, Alt and CapsLock
+ потому, что эти клавиши не выводят что-либо на экран. И таким путем
+ Вы получаете ключи быстрее (это то, что делает PGP2).
+
+ Также проблема может быть в том, что другая программа забирает данные
+ из Вашего генератора случайных чисел (например из /dev/random).
+
+<Q> И это действительно долго, когда я работаю на удаленной системе. Почему?
+
+ Никогда не делайте этого! Вы никогда не должны создавать ключи и
+ даже пользоваться GnuPG на удаленной системе потому, что Вы обычно
+ не имеете физического контроля за Вашей таблицей секретных ключей
+ (которая зачастую может быть неустойчива к атакам на подбор стандартных
+ паролей по словарю). Я настойчиво рекомендую всем создавать ключи только
+ на локальном компьютере (неподключенный лаптоп возможно наилучший выбор).
+ А если Вы вынуждены делать это на Вашем подключенном к сети компьютере
+ (я знаю, все мы так делаем) будьте уверены, что используете сильный пароль
+ для всех Ваших аккаунтов и для секретного ключа, и что Вы можете доверять
+ Вашему системному администратору.
+
+ Когда я проверял GnuPG на удаленной машине через ssh (это была не альфа);-)
+ я имел некоторые проблемы. Создание ключа занимамо *очень* долгое время,
+ так что я использовал специальный параметр --quick-random для создания
+ несекретных ключей, которые пригодны разве что для некоторых экспериментов.
+
+<Q> Каковы различия между командами и параметрами?
+
+ Если Вы выполните 'gpg --help', то Вы получите два разных списка.
+ Первый - список команд, а второй - параметров. Всякий раз когда Вы
+ запускаете GPG, Вы [H b]должны[H /b] использовать хотя бы одну команду
+ (с одним исключением, см. ниже). Вы [H b]можете[H /b] использовать один
+ или более параметров. Команде следует, в точности по описанию, находиться
+ в конце списка аргуметов, после всех параметров. Если команда задает имя
+ файла (в основном все они это делают), имя файла должно быть в самом конце.
+ Базовый формат вызова gpg:
+
+ [H samp]
+ $ gpg [--option что-либо] [--option2] [--option3 что-либо] --command файл
+ [H /samp]
+
+ Некоторым параметрам требуются аргументы. Например параметр --output
+ (который можно сократить до -o) это параметр которому требуется имя файла.
+ Аргументы параметра должны следовать непосредственно после требующего их
+ параметра, иначе gpg не сможет узнать какой аргумент, какому параметру
+ принадлежит. Как параметр --output так и имя файла должны предшествовать
+ команде. Параметр --recipient (-r) задает имя или KeyID того, кому
+ шифруется сообщение и которые должны находиться справа от параметра -r.
+ Команда --encrypt (-e) должна находится после всех параметров и следовать
+ за файлом, который Вы хотите шифровать. Поэтому в данном примере командная
+ строка должна иметь следующий вид:
+
+ [H samp]
+ $ gpg -r Алиса -o секрет.txt -e тест.txt
+ [H /samp]
+
+ Если Вы используете полные названия параметров, читать станет легче:
+
+ [H samp]
+ $ gpg --recipient Алиса --output секрет.txt --encrypt тест.txt
+ [H /samp]
+
+ Если Вы шифруете файл с расширением ".txt" и Вы можете захотите
+ получить результат в текстовом виде ASCII-формата (не двоичном),
+ Вам следует воспользоваться параметром --armor (-a), который
+ не имеет аргументов:
+
+ [H samp]
+ $ gpg --armor --recipient Алиса --output секрет.txt --encrypt тест.txt
+ [H /samp]
+
+ Если предположить квадратные скобки вокруг параметров, это будет
+ выглядеть так:
+
+ [H samp]
+ $ gpg [--armor] [--recipient Алиса] [--output секрет.txt] --encrypt тест.txt
+ [H /samp]
+
+ Параметры могут следовать в произвольном порядке:
+
+ [H samp]
+ $ gpg --output секрет.txt --recipient Алиса --armor --encrypt тест.txt
+ [H /samp]
+
+ Если имя Вашего файла начинается с дефиса (например файл "-a.txt"),
+ GnuPG примет это за параметр и может сообщить об ошибке. В таких случаях
+ следует использовать "./-a.txt" или остановть обработку команд и параметров
+ двойным дефисом: "-- -a.txt".
+
+ [H B]Исключение составляет только одна команда:[H /B] одновременное
+ подписывание и шифрование. Для этого Вы следует скомбинировать обе команды,
+ как показано ниже:
+
+ [H samp]
+ $ gpg [--параметры] --sign --encrypt тест.txt
+ [H /samp]
+
+<Q> Не могу удалить User ID из связки секретных ключей потому,
+ что он отсутствует в связке открытых ключей. Что делать?
+
+ Поскольку Вы можете выбрать User ID только из списка открытых ключей,
+ то прямого способа сделать это нет. Однако сделать это на самом деле
+ совсем не трудно. Создайте новый User ID с полностью идентичным именем
+ и увидите, что получилось два идентичных User ID в связке секретных
+ ключей. Теперь выберите данный User ID и удалите его. Оба User ID будут
+ удалены из связки секретных ключей.
+
+<Q> Не могу удалить секретный ключ потому, что пропал открытый ключ.
+ Что делать?
+
+ Поиск ключа, для выполнения операций с ним, всегда производится по связке
+ открытых ключей, поэтому невозможно удалить секретный ключ не имея
+ открытого ключа. Обычно не должно возникать ситуаций, когда открытый ключ
+ потерян, а секретный ключ всё еще присутствует. Но такое случается,
+ поэтому в GnuPG имеется способ сделать это: просто используйте длинный
+ KeyID для указания удаляемого ключа, который можно получить применением
+ параметра --with-colons (см. 5 поле в строке начинающейся с "sec").
+
+ Если потерян открытый ключ и нужно взамен его создать новый для
+ продолжения использования секретного ключа, можно воспользоваться
+ утилитой gpgsplit так, как описано в вопросе <Rgpgsplit>.
+
+<Q> Что означают понятия доверие, достоверность и доверие владельцу?
+
+ Ответ приведу с английским текстом, т.к. вопрос очень важен.
+
+ В GnuPG термин "доверие владельцу" используется вместо "доверие",
+ чтобы показать, что это есть величина, которая относится к ключу
+ и выражает степень Вашего доверия к владелецу данного ключа и к тому,
+ как он относится к подписыванию других ключей. "Достоверность"
+ (вычисленое доверие) есть величина, показывающая насколько высоким
+ GnuPG считает доверие к ключу (т.е. насколько можно быть уверенным в том,
+ что ключ действительно принадлежит тому, кто указан, как владелец данного
+ ключа). Для большей информации о степенях доверия см. главу "Сеть доверия"
+ в The GNU Privacy Handbook (существует в русском переводе).
+
+ With GnuPG, the term "ownertrust" is used instead of "trust" to
+ help clarify that this is the value you have assigned to a key
+ to express how much you trust the owner of this key to correctly
+ sign (and thereby introduce) other keys. The "validity", or
+ calculated trust, is a value which indicates how much GnuPG
+ considers a key as being valid (that it really belongs to the
+ one who claims to be the owner of the key). For more information
+ on trust values see the chapter "The Web of Trust" in The GNU
+ Privacy Handbook.
+
+<Q> Как подписать файл патча?
+
+ Воспользуйтесь "gpg --clearsign --not-dash-escaped ...". Есть проблема с
+ --clearsign в том, что все строки начинающиеся с дефиса выделяются
+ как "- "; но поскольку diff создает множество строк начинающихся с дефиса,
+ то если они будут выделены таким образом, будет не очень хорошо для Вашего
+ патча ;-).
+ Для применения патча без удаления прозрачной подписи, можно использовать
+ специальный параметр --not-dash-escaped для отключения выделния таких
+ последовательностей. Не следует отсылать такие патчи по email потому,
+ что пробелы и завершители строк также являются частью подписи, а почтовик
+ может не сохранить их. Если Вы хотите послать файл почтой, то можно
+ подписать его используя Ваш MUA (Mail User Agent, т.е Почтовый агент).
+
+<Q> Где параметр "encrypt-to-self"?
+
+ Используйте "--encrypt-to Ваш_KeyID". Можно использовать больше, чем одну
+ копию данного параметра. Временно отменить действие данного параметра
+ можно использованием параметра "--no-encrypt-to".
+
+<Q> Как избавиться от строки Version и добавить комментарий в заголовках
+ сообщений кодированных в ASC-формате?
+
+ Используйте " --no-version --comment '' ". Учтите, что стандарт требует
+ обязательного наличия пустой строки.
+
+<Q> Что означает "Используется таблица символов xxxx."?
+
+ Вы увидите данное сообщение, когда необходимо преобразование введенных
+ данных в UTF-8. Набор символов Вашей системы отличен от UTF-8 и GnuPG
+ вынуждено преобразовать введенную информацию из используемого Вами набора
+ символов в соответствующий набор символов UTF-8.
+ По умолчанию используется стандартный набор символов "iso-8859-1".
+ Вы можете указать используемый системой набор символов используя параметр
+ " --charset ". Важно, чтобы заданная таблица символов соответствовала
+ используемой в Вашей системе. В противном случае Вы должны пользоваться
+ только символами имеющими 7-битное представление, т.к. все 8-битные
+ символы будут преобразованы в UTF-8 и Вы можете столкнуться с серьезными
+ проблемами, если неверно указали используемую таблицу символов.
+
+ Для русскоязычной аудитории: не рекомендуется использовать русский язык
+ в User ID и коментариях. На момент перевода GnuPG поддерживает только
+ UTF-8 и KOI8-R, которые могут использоваться на Unix системах, но не
+ используются в Windows. В Windows категорически запрещается использовать
+ русский язык в именах и комментариях User ID! Хотя некоторые
+ программы-оболочки могут понимать (а может и нет) большее число кодировок.
+
+<Q> Как просмотреть список KeyID для которых зашифровано сообщение?
+
+ [H samp]
+ $ gpg --batch --decrypt --list-only --status-fd 1 2>/dev/null |
+ awk '/^\[GNUPG:\] ENC_TO / { print $3 }'
+ [H /samp]
+
+<Q> Почему я не могу расшифровать файлы зашифрованные симметричным
+ шифром (-c) используя GnuPG версий ниже 1.0.1.
+
+ Версии GnuPG ниже 1.0.1 содержали ошибку, которая проявлялась только
+ при использовании шифров 3DES и Twofish для симметричного шифрования
+ (они никогда не использовались, как шифры по умолчанию).
+ Ошибка исправлена, но для расшифровки таких файлов необходимо запустить
+ gpg с параметром " --emulate-3des-s2k-bug "; расшифровать файл и
+ зашифровать снова без данного параметра.
+
+ Замечение: Данный параметр удален в GnuPG версии 1.1.0 и более новых,
+ поэтому Вам придется воспользоваться версией между 1.0.1 и 1.0.7 для
+ расшифровки таких файлов.
+
+<Q> Как можно автоматизировать работу с GnuPG?
+
+ Следует воспользоваться параметром --batch и не использовать паролей,
+ т.к. обычно нет возможности хранить их безопаснее, чем в связке секретных
+ ключей. Рекомендуем следующий способ создания ключей для автоматизации
+ работы:
+
+ На безопасном компьютере:
+ [H ol]
+ [H li] Если Вам требуется автоматическое подписывание, создайте для
+ Вашего ключа - подключ имеющий возможность подписи (используйте
+ интерактивное меню редактирования предоставляемое командой
+ " gpg --edit-key KeyID ", введите "addkey" и выберите типа ключа DSA).
+ [H li] Необходим пароль.
+ [H li] gpg --export-secret-subkeys --no-comment ВашПодключ >secring.auto
+ [H li] Скопируйте secring.auto и файл таблицы открытых ключей во временный
+ каталог.
+ [H li] Перейдите в этот каталог.
+ [H li] " gpg --homedir . --edit ВашПодключ " и используйте "passwd" для
+ удаления пароля из подключа. Можете заодно удалить и все неиспользуемые
+ подключи.
+ [H li] Скопируйте secring.auto на дискету и вставьте ее в нужный компьютер.
+ [H /ol]
+
+ На нужном компьютере:
+ [H ol]
+ [H li] Установите secring.auto, как связку секретных ключей.
+ [H li] Теперь можно запустить Ваш новый сервис. Хорошо бы также установить
+ систему обнаружения вторжений, для предупреждения об удачном
+ вторжении, после чего Вы сможете отозвать все подключи
+ установленные на данном компьютере и создать новые.
+ [H /ol]
+
+<Q> Какие почтовые клиенты можно использовать совместно с GnuPG?
+
+ Использование GnuPG для шифрования почтовой корреспонденции это
+ одно из наиболее популярных его применений. Некоторые почтовые программы
+ или почтовые агенты (MUA) умеют работать с GnuPG. На данный момент
+ существует два способа шифрования с применением GnuPG: "старый метод"
+ с применением ASCII-кодирования (т.е. прозрачные подписи и шифрование)
+ и в соответствиии с RFC 2015 (ранее именуемое PGP/MIME, сейчас OpenPGP).
+ Последнее полностью поддерживает MIME. Некоторые MUA поддерживают только
+ один из этих методов. Поддержка может быть как встроена в MUA, так и
+ реализоваться в виде подключаемых подулей "плагинов", а также может
+ выполняться внешним, дополнительным программным обеспечением.
+
+ Нижепреведённый список неполон:
+
+ [H pre]
+ MUA OpenPGP ASCII Как? (N,P,T)
+ -------------------------------------------------------------
+ Calypso В Д П (Unixmail)
+ Elm В Д Д (mailpgp,morepgp)
+ Elm ME+ В Д С
+ Emacs/Gnus Д Д Д (Mailcrypt,gpg.el)
+ Emacs/Mew Д Д С
+ Emacs/VM В Д Д (Mailcrypt)
+ Evolution Д Д С
+ Exmh Д Д С
+ GNUMail.app Д Д П (PGPBundle)
+ GPGMail Д Д В
+ KMail (<=1.4.x) В Д В
+ KMail (1.5.x) Д(П) Д(В) П/В
+ Mozilla Д Д П (Enigmail)
+ Mulberry Д Д П
+ Mutt Д Д С
+ Sylpheed Д Д С
+ Sylpheed-claws Д Д С
+ TkRat Д Д С
+ XEmacs/Gnus Д Д Д (Mailcrypt)
+ XEmacs/Mew Д Д С
+ XEmacs/VM В Д Д (Mailcrypt)
+ XFmail Д Д С
+
+ С-Сам, встроена поддержка , П-плагин , Д-Дополнительной программой
+ [H /pre]
+
+ Ниже дан список несвободных MUA. Проект GNU не рекомендует применение
+ этих программ, но они представлены для полноты информации.
+
+ [H pre]
+ MUA OpenPGP ASCII How? (N,P,T)
+ -------------------------------------------------------------
+ Apple Mail Д Д П (GPGMail)
+ Becky2 Д Д П (BkGnuPG)
+ Eudora Д Д П (EuroraGPG)
+ Eudora Pro Д Д П (EudoraGPG)
+ Lotus Notes Н Д П
+ Netscape 4.x Н Д П
+ Netscape 7.x Д Д П (Enigmail)
+ Novell Groupwise Н Д П
+ Outlook Н Д П (G-Data)
+ Outlook Express Н Д П (GPGOE)
+ Pegasus Н Д П (QDPGP,PM-PGP)
+ Pine Н Д Д (pgpenvelope,(gpg|pgp)4pine)
+ Postme Н Д П (GPGPPL)
+ The Bat! Д(>=1.62) Д С (Ritlabs)
+ [H /pre]
+
+ Хороший обзор поддержки OpenPGP можно найти на:[H br]
+ [H a href=http://www.openpgp.fr.st/courrier_en.html]<http://www.openpgp.fr.st/courrier_en.html>[H /a] и[H br]
+ [H a href=http://www.bretschneidernet.de/tips/secmua.html]<http://www.bretschneidernet.de/tips/secmua.html>[H /a].
+
+ Пользователи программ MUA для Win32 для использования OpenPGP могут рассмотреть
+ применение GPGrelay [H a href=http://gpgrelay.sourceforge.net]<http://gpgrelay.sourceforge.net>[H /a], это небольшой
+ email-ориентированный сервер, который использует GnuPG для предоставления
+ возможности почтовым клиентам отправлять и принимать сообщения
+ соответствующие PGP-MIME (RFC 2015).
+
+<Q> Не могу найти библиотеки gpg?
+
+ Про них часто спрашивают. Однако текущая точка зрения разработчиков GnuPG,
+ то что это создаст некоторые проблемы безопасности и следовательно
+ не стоит ожидать подобного в ближайшем будущем. Однако в некоторых
+ областях возможно применение gpgme. Вы найдете его на [H a href=[$hGPGFTP]/gcrypt/alpha/gpgme]<[$hGPGFTP]/gcrypt/alpha/gpgme>[H /a].
+
+<Q> Я благополучно создал сертификат отзыва, но я не понимаю, как отослать его
+ на сервер ключей.
+
+ Большинство серверов ключей не принимают 'голый' сертификат отзыва.
+ Вам придется сначала импортировать сертификат в GnuPG:
+
+ [H samp]
+ $ gpg --import МойСертификатОтзыва.asc
+ [H /samp]
+
+ затем отошлите отозванный ключ на сервер ключей:
+
+ [H samp]
+ $ gpg --keyserver keyserver.kjsl.com --send-keys Мой_KeyID
+ [H /samp]
+
+ (или воспользуйтесь для этого Web интерфейсом сервера ключей).
+
+<Dhomedir>
+<Q> Как перенести файл таблицы связок ключей в другой каталог?
+
+ GnuPG хранит несколько файлов в специальном домашнем каталоге.
+ Это файл персональных настроек, pubring.gpg, secring.gpg, trustdb.gpg,
+ и другие. GnuPG всегда будет создавать и использовать эти файлы.
+ Для Unix систем домашним обычно будет каталог " ~/.gnupg ";
+ для Windows " C:\gnupg\ ".
+
+ Если Вы хотите переместить эти файлы в другое место,
+ воспользуйтесь параметром:
+
+ [H samp]
+ --homedir /Мой/путь/
+ [H /samp]
+
+ и тогда GnuPG создаст эти файлы в указанном каталоге. Файл таблицы открытых
+ ключей будет в " /Мой/путь/pubring.gpg ". Таким образом можно хранить
+ свои секреты на дискете. Не используйте для этого параметр " --keyring ",
+ т.к. он задает дополнительные файлы связок ключей.
+
+<Q> Как проверить подписанный пакет?
+
+ Перед проверкой подписи, сопровождающей пакет, необходимо сперва
+ импортировать ключ поставщика подписи, организации или человека
+ создавщего подпись в используемую таблицу связок ключей. Для
+ продотвращения предупреждений от GnuPG ключу следует иметь степень
+ достоверности (или подписать его локально).
+
+ Скачайте файл с отделенной подписью вместе с пакетом. Обычно эти файлы
+ имеют тоже имя, что и подписанный пакет со следующими расширениями (.sig)
+ для бинарных или (.asc) для ASCII-кодированных подписей.
+
+ После того, как ключ импортирован и пакет с сопровождающей его подписью
+ получен, используйте:
+
+ [H samp]
+ $ gpg --verify ФайлПодпись ПодписанныйФайл
+ [H /samp]
+
+ Если файл подписи имеет то же имя, что и файл пакета, то для проверки
+ пакета достаточно указать только файл подписи, тогда GnuPG получит
+ имя проверяемого файла путем удаления из имени расширения .sig или .asc.
+ Например, для проверки пакета названного Пакет.tar.gz используйте:
+
+ [H samp]
+ $ gpg --verify Пакет.tar.gz.sig
+ [H /samp]
+
+<Q> Как экспортировать связку ключей только с избранными ключами?
+
+ Если Вы желаете создать таблицу связок ключей имеющую только небольшое
+ подмножество ключей из Вашей основной таблицы связок, то просто укажите
+ ключи, которые Вы хотите экспортировать:
+
+ [H samp]
+ $ gpg --armor --export Ключ1 Ключ2 Ключ3 Ключ4 > Ключи1-4.asc
+ [H /samp]
+
+<Dgpgsplit>
+<Q> Имеется секретный ключ, но я потерян открытый ключ. Что можно сделать?
+
+ Все OpenPGP секретные ключи имеют внутри себя копию открытого ключа
+ и имеется возможность создать новый открытый ключ используя секретный.
+
+ Утилита для преобразования секретного ключа в открытый ключ (сейчас
+ это параметр запуска утилиты gpgsplit) включена в дистрибутив GnuPG
+ версии 1.2.1 и новейшие (а также может быть найдена в CVS).
+ Пример использования:
+
+ [H samp]
+ $ gpgsplit --no-split --secret-to-public secret.gpg >publickey.gpg
+ [H /samp]
+
+ Сперва следует экспортировать секретный ключ и преобразовывать
+ только его. Хотя использование всей таблицы также будет работать.
+ После завершения, файл publickey.gpg можно импортировать в GnuPG
+ обычным способом.
+
+<Q> Письмо с подписью имеет неверную подпись. Почему?
+
+ Если Вы используете web-mail:
+ Убедитесь, что в настройках web-mail адреса отключено использование
+ HTML форматирования для отправляемых сообщений имеющих прозрачную подпись.
+ Такое форматирование может дополнить сообщение пробелами, символами
+ табуляции и в итоге дать неверную подпись. Отправленное чистотекстовым
+ сообщение получатель сможет скопировать текстовый файл для проверки или
+ возможно web-mail сервис может позволить приложить подписанное сообщение,
+ как файл, если нет возможности отправки его чистотекстовым.
+
+ Для русскоязычной аудитории: существует также проблема таблиц символов.
+ Сообщение на русском языке может подвергнуться перекодировке по пути
+ следования (и не один раз). Например отправленное в cp1251 сообщение
+ может прийти к получателю в koi8-r. Так же многие почтовые программы
+ по разному совмещают проверку/подписывание сообщений с их
+ перекодировыванием в другие кодировки. Например почтовая программа
+ в Windows показывает сообщение в windows кодировке cp1251, а
+ рекомендуемая кодировка для email koi8-r и если в настройках программы
+ выбрана эта кодировка для отправки сообщений, то почтовый агент может
+ подписать тескт в cp1251, а затем сконвертировать его в koi8-r, что
+ приведет к неверной подписи, если программа у получателя не имеет
+ такой же ошибки (или не знает о ней). Аналогично может происходить
+ и при проверке сообщения созданного в koi8-r, но отображаемого
+ в cp1251.
+
+
+<S> ПРОБЛЕМЫ СОВМЕСТИМОСТИ
+
+<Dcompat>
+<Q> Как зашифровать сообщение в GnuPG так, чтобы его можно было бы
+ расшифровать в PGP?
+
+ Это зависит от версии PGP.
+
+ [H ul]
+ [H li]PGP 2.x[H br]
+ Обычно нельзя этого сделать потому, что PGP 2.x обычно использует шифр IDEA,
+ который не поддерживается GnuPG, т.к. данный алгоритм шифрования патентован
+ (см. <Ridea>), но если Вы имеете модифицированную версию PGP можете
+ попробовать:
+
+ [H samp]
+ $ gpg --rfc1991 --cipher-algo 3des ...
+ [H /samp]
+
+ Пожалуйста не пользуйтесь каналами для передачи данных в gpg,
+ а сделайте это используя файл; иначе PGP 2 не сможет понять это.
+
+ Вы не сможете зашифровать симметричным шифром файл для PGP 2.
+
+
+ [H li]PGP 5.x и новейшие[H br]
+ Необходимо использовать два параметра:
+
+ [H samp]
+ --compress-algo 1 --cipher-algo cast5
+ [H /samp]
+
+ Можно также воспользоваться "3des" вместо "cast5"; "blowfish" работает
+ не со всеми версиями PGP 5. Также можно добавить параметр:
+
+ [H samp]
+ compress-algo 1
+ [H /samp]
+
+ в файл персональных настроек " ~/.gnupg/gpg.conf ", что не помешает
+ нормальной работе GnuPG.
+ Это относится и к симметричному шифрованию.
+ [H /UL]
+
+<Q> Как перейти с PGP 2.x на GnuPG?
+
+ PGP 2 использует RSA и IDEA алгоритмы шифрования. Срок патента на RSA
+ истек и RSA поддерживается GnuPG с версии 1.0.3, а IDEA алгоритм остается
+ патентованным до 2007. При определенных условиях можно пользоваться
+ IDEA даже сейчас. В этом случае следует прочитать вопрос <Ridea>
+ о том, как получить поддержку IDEA в GnuPG и прочитать
+ [H a href=[$hGPGHTTP]/gph/en/pgp2x.html]<[$hGPGHTTP]/gph/en/pgp2x.html>[H /a] для выполнения перехода.
+
+<Q> (удален)
+
+ (пусто)
+
+<Q> Почему PGP 5.x не сможет шифровать сообщения некоторыми ключами?
+
+ PGP, Inc. отказалость от использования ключей ElGamal типа 20 даже для
+ шифрования. Они поддерживают только тип 16 (котрый идентичен, по крайней
+ мере для расшифрования). Для больше совместимости, GnuPG (с версии 0.3.3),
+ также использует тип 16 для подключей ElGamal, которые создаются, если
+ выбран рекомендованный по умолчанию алгоритм ключа. Можно добавить
+ ключ ElGamal типа 16 в связку ключей.
+
+<Q> Почему PGP 5.x не сможет проверить мои подписи?
+
+ PGP 5.x не понимает подписи v4, но OpenPGP требует v4 подписей, что
+ GnuPG и делает по умолчанию. Используйте параметр "--force-v3-sigs" для
+ создания v3 подписей.
+
+<Q> Как перенести степени доверия владельцам ключей из PGP в GnuPG?
+
+ Существует скрипт в каталоге tools, что бы помочь Вам. После импорта
+ из PGP таблицы связок ключей можно выполнить следующию команду:
+
+ [H samp]
+ $ lspgpot pgpkeyring | gpg --import-ownertrust
+ [H /samp]
+
+ где pgpkeyring это оригинальная таблица связок ключей, а не GnuPG таблица,
+ которую Вы возможно создали на первом этапе.
+
+<Q> PGP не нравится мой секретный ключ.
+
+ Старые версии PGP могут не работать с некоторыми пакетами создаваемыми
+ GnuPG. Эти пакеты создаются в полном соотвествии с OpenPGP; однако PGP
+ не настоящее OpenPGP. Обойти это можно экспортировав секретные ключи
+ следующей командой:
+
+ [H samp]
+ $ gpg --export-secret-keys --no-comment -a Ваш-KeyID
+ [H /samp]
+
+ Другая возможная причина: по умолчанию GnuPG шифрует секретный ключ
+ симметричным шифром Blowfish. Старые версии PGP поймут только симметричные
+ шифры 3DES, CAST5 или IDEA. Используйте следующий способ, чтобы
+ перешифровать секретный ключ gpg другим шифром:
+
+ [H samp]
+ $ gpg --s2k-cipher-algo=CAST5 --s2k-digest-algo=SHA1
+ --compress-algo=1 --edit-key <User ID>
+ [H /samp]
+
+ Затем командой passwd можно сменить пароль (можно сменить его на тотже
+ самый, но он зашифруется уже шифром CAST5).
+
+ Сейчас можно экспортировать ключ и PGP должно принять его.
+
+ Для PGP 6.x используются следующие параметры экспорта:
+
+ [H samp]
+ $ gpg --s2k-cipher-algo 3des --compress-algo 1 --rfc1991
+ --export-secret-keys <KeyID>
+ [H /samp]
+
+<Doptions>
+<Q> GnuPG больше не инсталлирует файл " ~/.gnupg/options " file. Он не нужен?
+
+ Нет. Файл " ~/.gnupg/options" переименован в " ~/.gnupg/gpg.conf" для
+ всех версий новее 1.1.92. Если файл " ~/.gnupg/options " существует, то
+ он будет найден при установке и всё еще будет использован, но данное
+ переинменование потребуется для совместимости по именам файлов с будущими
+ инструментами. Существующий файл настроек можно переименовать в gpg.conf
+ для обновляющихся пользователей и получающих сообщение, что "файл
+ настроек старого формата проигнорирован" (это происходит, когда программа
+ обнаруживает оба файла и gpg.conf, и options).
+
+<Q> Как экспортировать ключи GnuPG для использования в PGP?
+
+ Данный вопрос задают настолько часто, что здесь получилось целое HOWTO:
+
+ PGP сможет (для большинства типов ключей) использовать созданные в GnuPG
+ секретные ключи. Проблемы возникают от того, что GnuPG поддерживает
+ немного больше положений стандарта OpenPGP, чем PGP. Если секретный ключ
+ использует одно из них, то PGP отвергнет их или позднее могут возникать
+ какие-либо проблемы. Учтите, что PGP совсем не признает ElGamal ключи
+ предназначенные для подписи, так что они неприменимы ни в одной версии.
+
+ Данные инструкции применимы для GnuPG 1.0.7 и последующих,
+ а также для PGP 7.0.3 и последующих.
+
+ Начнем с редактирования ключа. Большинство параметров не обязательны,
+ т.к. значения используемые по умолчанию правильны, но лучше воспризвести всё
+ в точности потому, что некоторые иные значения параметров могут быть заданы
+ в файле персональный настроек.
+
+ [H samp]
+ $ gpg --s2k-cipher-algo cast5 --s2k-digest-algo sha1 --s2k-mode 3
+ --simple-sk-checksum --edit KeyID
+ [H /samp]
+
+ Отключаем некоторые особенности GnuPG. Устанавливаем предпочтения
+ для шифров, хешей и сжатия в понимаемые PGP. (Да, Я понимаю, что
+ список шифров получился своеобразный, но это то, что использует PGP
+ без IDEA).
+
+ [H samp]
+ > setpref S9 S8 S7 S3 S2 S10 H2 H3 Z1 Z0
+ [H /samp]
+
+ Теперь сохраняем список в ключе.
+
+ [H samp]
+ > updpref
+ [H /samp]
+
+ И наконец, мы должны расшифровать секретный ключ и зашифровать заново
+ шифром, который понравится PGP. Он указан в строке параметров при
+ вызове команды --edit выше, поэтому сейчас необходимо только сменить
+ пароль. Можно использовать и старый пароль, а можно воспользоваться
+ возможностью сменить его наконец.
+
+ [H samp]
+ > passwd
+ [H /samp]
+
+ Сохраняем изменения.
+
+ [H samp]
+ > save
+ [H /samp]
+
+ Сейчас можно использовать обычный экспорт:
+
+ [H samp]
+ $ gpg --export KeyID > МойОткрытыйКлюч.pgp[H br]
+ $ gpg --export-secret-key KeyID > МойСекретныйКлюч.pgp
+ [H /samp]
+
+ За эту информацию спасибо David Shaw!
+
+
+<S> ПРОБЛЕМЫ и СООБЩЕНИЯ ОБ ОШИБКАХ
+
+<Q> Что означает сообщение "ВНИМАНИЕ: используется незащищенная память!"
+
+ GnuPG требует установки прав setuid(root) на многих системах.
+ Это необходимо для блокирования страниц памяти. Блокирование страниц
+ не позволяет операционной системе сохранять их на диск, что позволяет
+ хранить Ваши данные в секрете. Если Вы не получаете это сообщение,
+ то видимо операционая система позволяет блокировать страницы
+ непревелигированным пользователям. GnuPG отказывается от
+ привелигированного режима сразу после блокирования страниц.
+
+ Для установки прав setuid(root) исполняемому файлу gpg выполните:
+
+ [H samp]
+ $ chmod u+s /путь/к/gpg
+ [H /samp]
+
+ или
+
+ [H samp]
+ $ chmod 4755 /путь/к/gpg
+ [H /samp]
+
+ Некоторые люди предпочитают избегают применения setuid(root), если
+ нет каких-либо причин для создания особой секретности. Посоветуйтесь
+ с системным администратором, если нет возможности выполнить указанные
+ действия самостоятельно.
+
+ На UnixWare 2.x и 7.x следует установить GnuPG с привилегиями 'plock'
+ для получения аналогичного эффекта:
+
+ [H samp]
+ $ filepriv -f plock /путь/к/gpg
+ [H /samp]
+
+ Если нет возможности или Вы не хотите устанавливать для GnuPG права
+ setuid(root), можно воспользоваться параметром "--no-secmem-warning"
+ или добавить:
+
+ [H samp]
+ no-secmem-warning
+ [H /samp]
+
+ в файл персональных настроек ~/.gnupg/gpg.conf (это избавит
+ от предупреждений).
+
+ На некоторых системах (например Windows) GnuPG не блокирует страницы
+ памяти и старые версии GnuPG (<=1.0.4) предупреждали:
+
+ [H samp]
+ gpg: Please note that you don't have secure memory
+ gpg: Учтите, что Вы не имеете безопасной памяти
+ [H /samp]
+
+ Данное предупреждение нельзя было отключить вышеуказанным параметром потому,
+ что причина его возникновения очень серьезна. Однако это слишком смущало
+ пользователей, поэтому сообщение было убрано.
+
+<Q> Поддержка больших файлов (LFS) не работает.
+
+ LFS корректно работает начиная с версии 1.0.4. Если configure не
+ видит этого - попробуйте другой компилятор. egcs 1.1.2 работает
+ прекрасно, другие gccs иногда нет. Некоторые проблемы компиляции
+ GnuPG 1.0.3 и 1.0.4 на HP-UX и Solaris были вызваны плохой
+ поддержкой LFS.
+
+<Q> При редактировании ключа значения доверий отображаются некорректно после
+ подписывания User ID. Почему?
+
+ Это вызвано тем, что некоторая информация хранится непосредственно в
+ trustdb, но все вычисления степеней доверия могут быть выполнены только
+ после команды сохранения " save ". Это трудно поправимая ошибка архитектуры
+ программы, которая будет пересмотрена в какой-нибудь из будущих версий.
+
+<Q> В чем смысл сообщения "skipping pubkey 1: already loaded"?
+
+ Шифр RSA входит в пакет GnuPG начиная с версии 1.0.3. Если Вы всё еще
+ используете параметр "load-extension rsa" в файле персональных
+ параметров Вы увидите данное сообщение.
+ Просто удалите данную команду загрузки модуля из файла персональных
+ параметров.
+
+<Q> GnuPG 1.0.4 не создает ~/.gnupg.
+
+ Это известная ошибка, уже исправленная в последовавшей версии GnuPG.
+
+<Q> Подписи ElGamal не проверяются всеми версиями начиная с 1.0.2
+
+ Используйте параметр --emulate-md-encode-bug.
+
+<Q> Старые версии GnuPG не могут проверить ElGamal подписи
+
+ Обновите GnuPG до версии 1.0.2 или новее.
+
+<Q> При использовании --clearsign, в тексте появляются дополнительные минусы.
+ Почему?
+
+ Это называется отделенный черточками текст, что является требованием
+ OpenPGP. Это происходит всегда, когда строка начинается с черточки ("-")
+ и необходмо для четкого отделения структур подписи (типа
+ "-----BEGIN PGP SIGNATURE-----") от других строк начинающихся с более
+ чем двух черточек.
+
+ Если Вы используете GnuPG для обработки подобных сообщений, то все
+ дополнительные черточки удалятся. Хорошие почтовые клиенты (MUA)
+ удаляют эти черточки при отображении сообщения.
+
+<Q> Что означает сообщение "не могу обработать эти множественные подписи"
+
+ Из-за различий в форматах сообщений GnuPG не всегда может правильно
+ разделить файл с множественными подписями на части. Данное сообщение
+ указывает на проблемы с входными данными.
+
+ Единственный способ иметь множественные подписи в файле это использование
+ формата OpenPGP с пакетами One-Pass Signature (которые используются GnuPG
+ по умолчанию) или формат прозрачных подписей.
+
+<Q> Отправил ключ на сервер ключей, но ничего не произошло
+ Вы счастливый обладатель версии GnuPG 1.0.2 или старше под Windows.
+ В этих версиях GnuPg данная функция еще не была реализована, но это
+ не было ошибкой, поэтому и предупреждений никаких не было. Новейшие
+ версии сообщают об этом.
+ Обновите GnuPG до версии 1.0.4 или более новой.
+
+<Q> Что значит сообщение "gpg: waiting for lock ..."
+
+ Старые версии gpg любили ненормально завершаться и оставлять
+ блокировочные файлы. Зайдите в ~/.gnupg удалеите все " .*.lock " файлы.
+
+<Q> Старые версии GnuPG (например 1.0) имеют проблемы с ключами созданными
+ новейшими версиями GnuPG
+
+ Начиная с версии 1.0.3, ключи в GnuPG создаются с предпочтением
+ шифра TWOFISH (и шифра AES начиная с версии 1.0.4), и что тоже важно,
+ они совместимы с новым методом шифрования MDC. В будущем это станет частью
+ OpenPGP и поддерживается также PGP 7. Новый метод предотвращает атаки
+ на системы шифрования почты.
+
+ Это означает, что версии GnuPG до 1.0.3 имеют проблемы с новыми ключами.
+ По причине исправления ошибок и прорех в безопасности, Вам настоятельно
+ рекомендуется использовать последнюю стабильную версию GnuPG. В качестве
+ временной меры, для решения проблемы, Вы можете принудить GnuPG использовать
+ старый шифр по умолчанию в качестве основного, добавив:
+
+ [H samp]
+ cipher-algo cast5
+ [H /samp]
+
+ в Ваш файл персональных параметров.
+
+<Q> Начиная с 1.0.4, я вижу "не рекомендуем данный алгоритм шифрования ..."
+
+ Если предупреждение появляется сразу после создания нового ключа, то
+ Вы являетесь свидетелем ошибки версии 1.0.4. Она использует новый шифр AES
+ (Rijndael), который некорректно называет "нерекомендуемым".
+ Игнорируйте данной предупреждение. Все последовавшие затем версии
+ GnuPG не имеют данной проблемы.
+
+<Q> Некоторые даты отображаются как ????-??-??. Почему?
+
+ Во многих реализациях libc, даты превышающие 2038-01-19 не могут быть
+ правильно отображены. 64-bit ОС не имеют данной проблемы. Чтобы не
+ выводить неверное значение даты GnuPG заменяет ее вопросиками.
+ Если хотите получить корректное значение - используйте параметры
+ --with-colons и --fixed-list-mode.
+
+<Q> Проблема всё еще очтается. Как сообщить об ошибке?
+
+ А Вы уверены, что Ваша проблема еще не обсуждалась в почтовых рассылках?
+ Вы просмотрели список ошибок (ссылку Вы найдете в документации)?
+ Если не уверены в том, что это ошибка, отправьте письмо в gnupg-devel
+ рассылку. В противном случае воспользуйтесь системой отслеживания ошибок
+ GUUG [H a href=http://bugs.guug.de/Reporting.html]<http://bugs.guug.de/Reporting.html>[H /a].
+
+<Q> Почему GnuPG не поддерживает X.509 сертификаты?
+
+ GnuPG во-первых, и это главное, внедряет OpenPGP стандарт (RFC 2440),
+ который использует инфраструктуру отличную от X.509.
+
+ Всё это криптосистемы с открытым ключом, но открытые ключи в них
+ на самом деле обрабатываются различным образом.
+
+<Q> Почему национальные символы в моем User ID выглядят, мягко говоря, странно?
+
+ В соотвествии с OpenPGP GnuPG сохраняет User ID строки (и другие
+ вещи) используя UTF-8. В процессе перекодирования в формат Unicode,
+ многие национальные символы кодируются как дву- или трех-байтовые
+ последовательности. Например, &aring; (0xE5 в ISO-8859-1)
+ станет &Atilde;&yen; (0xC3, 0xA5). Это также может быть причиной того,
+ почему серверы ключей не находях Ваш ключ.
+
+<Q> Ошибка 'sed' при запуске ./configure на Mac OS X
+
+ Это будет исправлено после обновления GnuPG до autoconf-2.50.
+ До тех пор: найдите строку CDPATH в скрипте configure вставьте после него:
+
+ [H samp]
+ unset CDPATH
+ [H /samp]
+
+<Q> Почему GnuPG 1.0.6 падает на связках ключей из версии 1.0.7?
+
+ Есть небольшая ошибка в версии 1.0.6, из-за которой которой некорректно
+ обрабатываются пакеты доверий. Возможно понадобится данный патч, если нет
+ возможности обновить GnuPG:
+
+ [H a href=http://www.gnupg.org/developer/gpg-woody-fix.txt]<http://www.gnupg.org/developer/gpg-woody-fix.txt>[H /a]
+
+<Q> После обновления GmuPG до версии 1.0.7 файлы связок ключей очень медленно
+ обрабатываются. Что делать?
+
+ Был изменен способ хранения подписей для сохранения совместимости с v3
+ подписями. Можете воспользоваться новым параметром --rebuild-keydb-caches,
+ который был добавлен в данной версии и предназначен для миграции на новые
+ версии и также увеличивает скорость многих операций со связками ключей.
+
+<Q> Разве полное доверие одному User ID-у на ключе не отменяет
+ предупреждающего сообщения, при шифровании сообщения для другого User ID?
+
+ Нет. В GnuPG версии 1.2.1 и более ранних имелась ошибка в способе
+ определения достоверности ключей. В процессе разработки GnuPG 1.2.2,
+ ошибка была обнаружена в коде вычисления достоверности. Ошибка приводила
+ к тому, что для ключей и имеющиех больше одного User ID достоверность
+ одного User ID распространялась на все присутствующие в ключе.
+ Ошибка исправлена в GnuPG версии 1.2.2 и рекомендуется обновить GnuPG.
+ Больше информации и патч для некоторых до-1.2.2 версий GnuPG см. здесь:
+
+ [H a href=http://lists.gnupg.org/pipermail/gnupg-announce/2003q2/000268.html]<http://lists.gnupg.org/pipermail/gnupg-announce/2003q2/000268.html>[H /a]
+
+<Q> Только что скомпилированная из исходников GnuPG для GNU/Linux
+ основанную на RPM и GnuPG не работает. Почему?
+
+ Многие дистрибутивы GNU/Linux, основанные на RPM, устанавливают
+ GnuPG как часть стандартной инсталляции в каталог /usr/bin. Позднее,
+ когда Вы компилируете и устанавливаете GnuPG из исходников, а не из
+ RPM, файлы обычно (по умолчанию) сохраняются в " /usr/local/bin ", пока
+ не указан параметр " --prefix " с другим каталогом при запуске configure.
+ А каталог " /usr/bin " скорее всего предшествует каталогу " /usr/local/bin "
+ в переменной PATH.
+
+ Для решения данной проблемы удалите RPM версию командой " rpm -e gnupg "
+ перед установкой программы из исходных текстов. Если Вы получаете
+ ошибку связей при удалении старого пакета RPM (таких, как up2date
+ в RedHat, который использует GnuPG), удалите пакет RPM командой
+ " rpm -e gnupg --nodeps ". Все связи станут вновь актуальны после
+ установки скомпилированной версии. Если по умолчанию используется
+ каталог " /usr/local/bin ", некоторые пакеты (например SuSE's Yast Online
+ Update) необходимо настроить на новое местоположение GnuPG в каталоге
+ " /usr/local/bin " или создать символические ссылки в " /usr/bin ",
+ которые будут указывать на соответствующие файлы в " /usr/local/bin ".
+
+<S> ДРУГИЕ ВОПРОСЫ
+
+<Q> Как пользоваться GnuPG?
+
+ Для создания пары ключей секретный/открытый запустите:
+
+ [H samp]
+ $ gpg --gen-key
+ [H /samp]
+
+ и выберите значения по умолчанию.
+
+ Данные зашифрованные открытым ключом могут быть расшифрованы только
+ соответствующим ему секретным ключом. Секретный ключ защищается паролем,
+ а открытый ключ - нет.
+
+ Чтобы отправить шифрованное сообщение кому-либо необхоимо зашифровать
+ это сообщение открытым ключом получателя и тогда он сможет расшифровать
+ сообщение своим и только своим секретным ключом и вводом пароля секретного
+ ключа.
+
+ GnuPG также широко используется для создания подписей. Файлы зашифрованные
+ секретным ключом могут быть расшифрованы открытым ключом. Чтобы
+ подписать что-нибудь, вычисляется хеш подписываемых данных и затем
+ хеш шифруется каким-либо образом секретым ключом. Если кто-либо
+ имеет Ваш открытый ключ, он может проверить, что подпись создана именно
+ Вами и что оно не было изменено.
+
+ Таблица связок ключей это файл на диске, который хранит ключи.
+ Есть таблица связок открытых ключей, в которой хранятся Ваши открытые
+ ключи и открытые ключи Ваших друзей. Также имеется таблица связок
+ секретных ключей, в которой хранятся Ваши секретные ключи и
+ Вы должны беречь их от посторонних. Никогда не предоставляйте доступ
+ к данным файлам другим людям и используйте *сильные* пароли для
+ защиты Ваших данных.
+
+ Вы можете зашифровать что-либо стандартным способом используя параметр
+ " gpg -c ". Это позволит зашифровать данные паролем и не использовать
+ открытый и секретный ключи. Если получатель шифрованного сообщения знает
+ пароль - он сможет расшифровать его. Обычно это используется для
+ шифрования себе. Следует пользоваться этим только для переписки с теми,
+ кто знает или может легко обменяться с Вами паролями (например с Вашим
+ приятелем или женой). Преимущество данного подхода в том, что можно
+ время от времени менять пароль, чем снизить риск того, что многие старые
+ сообщения будут прочтены теми, кто узнает Ваш пароль.
+
+ Можно добавить/скопировать ключи в/из таблицы связок ключей командами
+ " gpg --import " и " gpg --export ". " gpg --export-secret-keys "
+ экспортирует секретные ключи. Это обычно не нужно делать, но можно создать
+ ключ на одном компьютере, а затем перенести на другой.
+
+ Ключи могут быть сертифицированы используя команду " gpg --edit-key ".
+ Когда Вы подписываете ключ, Вы подтверждаете, что ключ принадлежит
+ персоне, указанной в идентификаторе ключа. Вам следует полностью убедиться
+ в том, что ключ действительно принадлежит данной персоне: Поэтому Вам
+ следует проверить отпечатки ключа командой:
+
+ [H samp]
+ $ gpg --fingerprint KeyID
+ [H /samp]
+
+ по телефону (если Вы хорошо знаете голос другого человека), на
+ собрании по подписыванию ключей (обычно устраивается на компьютерных
+ конференциях) или встрече местной группы пользователей GNU/Linux.
+
+ Так, что еще. Можете воспользоваться параметром " -o ИмяФайла " для
+ переназначения вывода некоторой информации в файл (используйте
+ "-" для принудительного вывода в stdout). " -r " позволяет указать
+ получателя (чьим открытым ключом шифровать) в командной строке вместо
+ ввода в интерактивном режиме.
+
+ Да, еще одно важное дополнение. По умолчанию зашифрованные данные
+ имеют двоичный формат. Если неоходимо получить их как ASCII текст,
+ который выглядит читабельным, то добавьте параметр " -a ". Но
+ предпочтительно использовать MIME, который понимаемают почтовые клиенты
+ (Mutt, Pine и мн. другие).
+
+ Существует небольшая проблема безопасности в OpenPGP (и соответственно
+ в GnuPG); чтобы избежать ее Вам следует всегда подписывать и шифровать
+ сообщения вместо простого шифрования.
+
+<Q> Почему некторые подписи ELG-E ключом достоверны?
+
+ Это ключи ElGamal, которые сгенерированы GnuPG в v3 (RFC 1991) пакетах.
+ Черновой OpenPGP позднее изменил идентификатор ElGamal ключей, которые
+ используются и для подписи и для шифрования, с 16 на 20.
+ GnuPG сейчас использует 20 при создании новых ElGamal ключей, но всё еще
+ признает 16 (которые согласно OpenPGP теперь "только для шифрования"),
+ если такой ключ в v3 пакете. GnuPG единственная программа, которая
+ использовала эти v3 ElGamal ключи - поэтому такое допущение вполне
+ безопасно.
+
+<Q> Как работает механизм доверий?
+
+ Он работает более или менее похоже на то, как это сделано в PGP. Отличие
+ в том, что степень доверия высисляется в тот момент, когда она необходима.
+ Это одна из причин необходимости файла trustdb, который содержит
+ список подписей достоверных ключей. Если Вы не запустили программу в
+ пакетном режиме, то Вам предложат назначить значение параметра доверия
+ (доверия владельцу ключа) для ключа.
+
+ Вы можете просмотреть достоверность (вычисленное значение) используя
+ команду.
+
+ [H samp]
+ $ gpg --list-keys --with-colons
+ [H /samp]
+
+ Если первое поле "pub" или "uid", то второе поле показывает Ваше доверие:
+
+ [H pre]
+ o = Неизвестно (ключ нов для программы)
+ e = Срок действия ключа истек
+ q = Не определено (нет присвоенного значения)
+ n = Полностью нет доверия данному ключу
+ m = Ограниченное доверие ключу
+ f = Полное доверие
+ u = Абсолютное доверие ключу; обычно используется,
+ только для ключей, для которых Вы имеете также и секретный ключ.
+ r = Ключ был отозван
+ d = Ключ отключен
+ [H /pre]
+
+ Значение в "pub" записи предпочтительнее всех "uid" записей.
+ Вы можете получить список присвоенных степеней доверия (степень Вашего
+ доверия корректности подписывания ключей другими людьми) командой:
+
+ [H samp]
+ $ gpg --list-ownertrust
+ [H /samp]
+
+ Первое поле это отпечаток главного ключа, а второе поле - присвоенная
+ степень:
+
+ [H pre]
+ - = Нет степени доверия вледьцу, не присвоена еще или не вычислена.
+ n = Не доверять подписям данного человека на других ключах.
+ m = Ограниченное доверие подписям данного человека.
+ f = Считать, что человек действительно знает, как правильно
+ подписывать ключи.
+ u = Не нужно доверий потому, что у нас имеется секретный ключ.
+ [H /pre]
+
+ Храните данные значения в секрете потому, что они означают Ваше
+ отношение к другим людям. PGP хранит данную информацию в своей таблице
+ связок ключей, поэтому публиковать свою таблицу связок ключей, вместо
+ экспорта конкретных связок ключей - плохая идея. GnuPG хранит значения
+ доверий файле trustdb.gpg, поэтому можно свободно дать кому-либо
+ свой файл таблицы связок колючей (но можете использовать также и параметр
+ --export).
+
+<Q> Что означают: "key C26EE891.298, uid 09FB: ...."?
+
+ Это внутреннее представление User ID в trustdb.
+ "C26EE891" это KeyID, "298" это локальный ID (LID) (номер записи trustdb)
+ и "09FB" это последние два байта хеша ripe-md-160 из User ID для данного
+ ключа.
+
+<Q> Как мне понять некоторые информационные сообщения?
+
+ Во время проверки достоверности ключа GnuPG иногда печатает некоторую
+ информацию, которая предваряет информацию о проверяемых данных.
+
+ [H samp]
+ "key 12345678.3456"
+ [H /samp]
+
+ Это о том, что Key ID имеет 12345678 и его внутренний номер 3456,
+ который является номером записи в так называемой записи каталога trustdb.
+
+ [H samp]
+ "uid 12345678.3456/ACDE"
+ [H /samp]
+
+ Это о том, что это User ID для того же ключа. Для идентификации User ID
+ в связке - печатаются два последних байта (ACDE) его ripe-md-160 хеша.
+
+ [H samp]
+ "sig 12345678.3456/ACDE/9A8B7C6D"
+ [H /samp]
+
+ Это о том, что это подпись ключом с Key ID 9A8B7C6D указанных выше
+ ключа и User ID, если это подпись, подписывающая сам ключ, то
+ User ID часть будет пуста (..//..).
+
+<Q> Строки заголовка прозрачной подписи являются частью подписанного?
+
+ Нет. Можно, например, добавить или удалить "Comment:" строки.
+ Они аналогичны строкам заголовка письма. Однако, срока "Hash:"
+ требуется для OpenPGP подписей для указания использованного
+ алгоритма цифровой подписи.
+
+<Q> Что такое список предпочитаемых алгоритмов?
+
+ Список предпочитаемых алгоритмов это список шифров, хешей и
+ алгоритмов сжатия сохраняемый в самоподписи ключа во время создания
+ ключа. Когда Вы шифруете документ, GnuPG использует данный список
+ (который является частью открытого ключа) для того, чтобы определить
+ какие алогоритмы использовать. В основном это предназначеначено для
+ того, чтобы сообщить другим лючям, какие алгоритмы получатель сможет
+ принять и порядок предпочтения им данных алгоритмов.
+
+<Q> Как сменить список предпочитаемых алгоритмов?
+
+ В версии 1.0.7 и новейших, Вы можете использовать редактирование
+ ключа и установить новый список предпочтений используя команду
+ "setpref"; формат данной команды аналогичен выводу команды "pref".
+ Предпочтения не изменятся немедленно, но они будут использованы при
+ создании нового User ID. Если Вы хотите обновить предпочтения
+ существующих User ID, выберите эти User ID (или ни одного для
+ обновления всех сразу) и дайте команду "updpref". Учтите, что
+ отметка времени на самоподписи увеличивается на одну секунду,
+ когда выполняется данная команда.
+
+
+<S> БЛАГОДАРНОСТИ
+
+ Премного благодарны Nils Ellmenreich за ведение настоящего FAQ столь
+ длительный срок, Werner Koch за первоначальный FAQ, всем участникам
+ почтовых рассылок gnupg-users и gnupg-devel присылавших вопросы и ответы.
+ Они предоставили наибольшее количество ответов.
+
+ Также спасибо Casper Dik за скрипт для создания данного FAQ
+ (он использует его для великолепного FAQ по Solaris2).
+
+ От переводчика:
+ Огромное спасибо разработчикам GnuPG.
+ Премного благодарен Павлу Шайдо за его переводы GNU Privacy Handbook
+ и руководства (man), за ценные советы по переводу интерфейса, настоящего
+ FAQ и пр. документов по GnuPG.[H br]
+ Спасибо также Gyre, Андрею Кавко, всем участникам почтовых рассылок
+ gnupg-ru и pgp-n-gpg.
+
+[H hr]
+
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111, USA
+
+Copyright (C) 2003 Translation from English into Russian by Maxim Britov
+
+Verbatim copying and distribution of this entire article is permitted in
+any medium, provided this notice is preserved.
+