Могу ли я использовать GnuPG 2 и GnuPG 1 одновременно, видя одни и те же ключи?

Вы можете использовать простую программу C для чтения из stdin , записи в stdout и выхода, фактически не дожидаясь EOF , и использовать его как промежуточное звено в трубопроводной цепи.

Вот простой пример:

main.c

#include <stdio.h>
#include <unistd.h>

#define BUFFER_SIZE 1024

int main(int argc, char **argv){
    char buffer[BUFFER_SIZE];

    ssize_t read_size;

    //Read up to BUFFER_SIZE bytes of what's currently at the stdin
    read_size = read(STDIN_FILENO, buffer, BUFFER_SIZE);
    if(read_size > 0){
        write(STDOUT_FILENO, buffer, read_size);
    }

    return 0;
}

Скомпилируйте эту программу, используя gcc -o test main.c .

Затем, если вы запустите {echo a; спать 2 секунды; эхо б; } | {спит 1 сек; ./тестовое задание; } | {./mycommand; } , mycommand получит только a , поскольку это был единственный символ в stdin при чтении ./ test от него.

Чтобы проверить это, вы можете запустить {echo a; спать 2 секунды; эхо б; } | {спит 1 сек; ./тестовое задание; } | cat , при котором на экране будет отображаться только a .

1
28.08.2018, 12:30
1 ответ

GnuPG 1.4, 2.0 и 2.1 поддерживают "старый добрый" файл pubring.gpgдля хранения открытых ключей. Пока pubkey.gpgсуществует, GnuPG 2.1 также будет продолжать использовать его и не будет создавать набор открытых ключей в новом формате keybox.

Однако существуют различия в отношении закрытых ключей. В то время как GnuPG 1.4 и 2.0 хранят закрытые ключи в файле secring.gpg, GnuPG 2.1 объединяет их в открытый файл набора ключей, так что GnuPG 2.1 (gpg2в более новых дистрибутивах также gpg) и GnuPG 1.4 (gpg1, если доступно, в более старых дистрибутивах также gpg) больше не используют общее хранилище набора секретных ключей (но, как уже объяснялось, могут использоваться для общего набора ключей).

Если вы экспортируете секретные ключи из gpg2и импортируете их в gpg/gpg1, вы сможете использовать их в обеих реализациях. GnuPG 1.4 не возражает против того, чтобы секретные ключи хранились в вашем файле pubring.gpg. Имейте в виду, что GnuPG 1.4 не может объединять пакеты секретных ключей; если вы измените свои подразделы в GnupG 2.1 и захотите скопировать их в GnuPG 1.4 в прошлом, вам придется удалить секретный ключ из GnuPG 2.1 и снова импортировать его. Всегда делайте резервную копию перед тем, как что-то менять!

4
27.01.2020, 23:19

Теги

Похожие вопросы