Опции соответствия

Эти опции контролируют, каким стандартам соответствует GnuPG. Одновременно может быть активна только одна из этих опций.

Опции соответствия (Compliance options)

Эти опции контролируют, каким стандартам соответствует GnuPG. Одновременно может быть активна только одна из этих опций. Если указано несколько опций, последняя из них отменяет все предыдущие. Обратите внимание, что настройка по умолчанию почти всегда является правильной. Перед использованием любой из этих опций ознакомьтесь с разделом «ВЗАИМОДЕЙСТВИЕ С ДРУГИМИ ПРОГРАММАМИ OPENPGP» ниже.

--gnupg Использовать стандартное поведение GnuPG. Это, по сути, поведение OpenPGP (см. --openpgp), но с расширениями из предлагаемого обновления OpenPGP и с некоторыми дополнительными обходными путями для распространенных проблем совместимости в разных версиях PGP. Это опция по умолчанию, поэтому обычно в ней нет необходимости, но она может быть полезна для переопределения другой опции соответствия в файле gpg.conf.

--openpgp Сбросить все параметры пакетов, шифрования и хеширования до строгого поведения OpenPGP. Эта опция подразумевает --allow-old-cipher-algos. Используйте эту опцию, чтобы сбросить все предыдущие настройки, такие как --s2k-*, --cipher-algo, --digest-algo и --compress-algo, к значениям, соответствующим OpenPGP. Все обходные пути для PGP отключены.

--rfc4880 Сбросить все параметры пакетов, шифрования и хеширования до строгого поведения RFC-4880. Эта опция подразумевает --allow-old-cipher-algos. Обратите внимание, что в настоящее время это то же самое, что и --openpgp.

--rfc4880bis Сбросить все параметры пакетов, шифрования и хеширования в строгое соответствие предлагаемым обновлениям RFC-4880.

--rfc2440 Сбросить все параметры пакетов, шифрования и хеширования до строгого поведения RFC-2440. Обратите внимание, что при использовании этой опции пакеты шифрования создаются в устаревшем режиме без защиты MDC. Это опасно, и поэтому должно использоваться только для экспериментов. Эта опция подразумевает --allow-old-cipher-algos. См. также опцию --ignore-mdc-error.

--pgp6 Эта опция устарела; она обрабатывается как псевдоним для --pgp7.

--pgp7 Настроить все параметры для максимального соответствия PGP 7. Это разрешало шифры IDEA, 3DES, CAST5, AES128, AES192, AES256 и TWOFISH, хеши MD5, SHA1 и RIPEMD160, а также алгоритмы сжатия “none” и ZIP. Эта опция подразумевает --escape-from-lines и отключает --throw-keyids.

--pgp8 Настроить все параметры для максимального соответствия PGP 8. PGP 8 гораздо ближе к стандарту OpenPGP, чем предыдущие версии PGP, поэтому все, что она делает, это отключает --throw-keyids и устанавливает --escape-from-lines. Разрешены все алгоритмы, кроме хешей SHA224, SHA384 и SHA512.

--compliance string Эта опция может быть использована вместо одной из опций выше. Допустимые значения для string — это названия опций выше (без двойного дефиса) и, возможно, другие, как показано при использовании "help" для string.

--min-rsa-length n Эта опция настраивает режим соответствия "de-vs" для более строгих требований к размеру ключа. Например, значение 3000 превращает ключи rsa2048 и dsa2048 в ключи, не соответствующие стандарту VS-NfD.

--require-pqc-encryption Эта опция принудительно требует использование квантово-устойчивых (quantum-resistant) алгоритмов шифрования. Если не все открытые ключи являются квантово-устойчивыми, шифрование завершится ошибкой. Использование алгоритма симметричного шифрования AES-256 также обеспечивается этой опцией. При расшифровке выводится предупреждение для всех неквантово-устойчивых ключей. На данный момент алгоритмы Kyber (ML-KEM768 и ML-KEM1024) и AES-256 считаются квантово-устойчивыми; Kyber всегда используется в композитной схеме вместе с классическим ECC-алгоритмом.

--disable-pqc-encryption Эта опция отключает использование квантово-устойчивых подключей и использует подключ с неквантово-устойчивым алгоритмом, если он доступен, или выдает ошибку в противном случае. Опция игнорируется, если активна --require-pqc-encryption.

--require-compliance Чтобы проверить, что данные были зашифрованы в соответствии с правилами текущего режима соответствия, пользователю gpg необходимо анализировать строки статуса (status lines). Это позволяет интерфейсам (frontends) обрабатывать проверку соответствия более гибким способом. Однако для использования в скриптах необходимый анализ строк статуса требует значительных усилий; вместо этого можно использовать эту опцию, чтобы убедиться, что процесс gpg завершится с ошибкой, если правила соответствия не выполнены. Обратите внимание, что в настоящее время эта опция имеет эффект только в режиме "de-vs".


Таблица опций соответствия GnuPG

Опция Описание
--gnupg По умолчанию. Поведение GnuPG (OpenPGP + расширения + обходные пути для совместимости с PGP).
--openpgp Строгое соответствие OpenPGP. Сбрасывает алгоритмы к стандартным значениям. Разрешает старые алгоритмы шифрования.
--rfc4880 Строгое соответствие RFC-4880 (в настоящее время эквивалентно --openpgp). Разрешает старые алгоритмы шифрования.
--rfc4880bis Строгое соответствие предлагаемым обновлениям RFC-4880.
--rfc2440 Опасно. Строгое соответствие устаревшему RFC-2440. Создает шифрование без защиты MDC. Разрешает старые алгоритмы.
--pgp7 Максимальная совместимость с PGP 7. Разрешает старые алгоритмы (IDEA, 3DES, CAST5, MD5 и др.), включает --escape-from-lines, отключает --throw-keyids.
--pgp8 Совместимость с PGP 8. Близко к OpenPGP. Отключает --throw-keyids, включает --escape-from-lines. Запрещает только хеши SHA224/384/512.
--compliance string Универсальная опция. В качестве string используйте значения выше без -- (например, openpgp, rfc4880).
--min-rsa-length n Ужесточает требования к размеру ключа в режиме "de-vs" (например, n=3000 сделает ключи RSA2048 несоответствующими).
--require-pqc-encryption Требует использования квантово-устойчивых алгоритмов шифрования (Kyber) и AES-256. Шифрование завершится ошибкой, если не все ключи соответствуют.
--disable-pqc-encryption Отключает использование квантово-устойчивых подключей. Предпочитает классические алгоритмы. Игнорируется, если активен --require-pqc-encryption.
--require-compliance Заставляет gpg завершаться с ошибкой, если правила текущего режима соответствия (например, de-vs) не выполнены. Упрощает проверку в скриптах.