Как проверить подписанный pgp текст с помощью bouncycastle на java без открытого ключа

Я изучил много примеров и провел много исследований, но я не мог понять, как проверить подписанный текст (PGP) без открытого ключа.

Я просто хочу убедиться, что текст не изменился после создания.

Любые подсказки приветствуются!

Пример:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Beispiel text

-----BEGIN PGP SIGNATURE-----
Version: BCPG v1.59

iQEcBAEBAgAGBQJbbYOlAAoJEOvsgYjY/KHJUrkH/RDoFkONolpEEjafqjk3NOlg
uELyCF0vE/msFD2SO5O98HD4egnpxlO+fyJiZ2x+c0B52KQuOztAOYTHly2NKrL7
65gEIzOmpu+yQhYlZr4Qp2xGStJqxfgMeAIv3UUjUoRE7DWMZwgpO1KqGUhB05TL
XXyzWLJND27SzpNjpRmUmf+uuLKZHQ55q1dapwZym2Xg5il+UzYuJjfle9jvBWtc
uPJ40ghE/ms8WjAUAEOsdPB3rFd65pjwcauClM05L7w7KIv3/hgoAI/zZyGWW40B
yQuTbt2nYeZO4NbXkosiq9db4Lo5tEPdUH1NI3e34e2gymhCFOOguT3dAoafYYw=
=JrA1
-----END PGP SIGNATURE-----

Без открытого ключа было бы почти невозможно проверить, что подписанное PGP сообщение является действительным и / или неизменным?

IsThisJavascript 10.08.2018 15:15

Хотя, говоря это, хэш SHA1 / MD5 всего сообщения должен иметь возможность проверить, что сообщение не было изменено с момента создания, но это только в том случае, если вы на 100% уверены, что у вас есть доступ к сообщению сначала для генерации указанного хеша. с.

IsThisJavascript 10.08.2018 15:18

Я думал, что даже хеш-значение было зашифровано закрытым ключом отправителя, поэтому без соответствующего открытого ключа не было бы возможности даже прочитать хеш ...

moilejter 10.08.2018 15:22

@IsThisJavascript Я так не думаю, это именно то, что делают почтовые программы. И в этом смысл подписывать письма, я думаю !?

Thilo Schwarz 10.08.2018 15:22

@ThiloSchwarz Понятия не имею. Если честно, я не особо возился с электронными письмами. Однако мне любопытна эта тема

IsThisJavascript 10.08.2018 15:25

Что вы имеете в виду под «не изменено после создания»? Подписи сначала хешируются с помощью определенного алгоритма (SHA1), а затем шифруются закрытым ключом, только открытый ключ может расшифровать.

zhh 10.08.2018 15:25

@zhh не совсем. Расшифровать можно только закрытый ключ. Открытый ключ используется для проверки сообщения или шифрования сообщения, которое может просматривать только лицо, владеющее закрытым ключом.

IsThisJavascript 10.08.2018 15:29

Подпись @IsThisJavascript должна быть проверена теми, у кого есть открытый ключ, поэтому она должна быть зашифрована закрытым ключом.

zhh 10.08.2018 15:34

А, понятно. Для цифровых подписей все наоборот. Извините: D

IsThisJavascript 10.08.2018 15:40
1
9
468
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Спасибо всем!

Я был неправ! Для проверки расшифровки и нужен публичный ключ!

Взгляните на вывод gpg, это стандарт де-факто:

cat |gpg --verify
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Beispiel text

-----BEGIN PGP SIGNATURE-----
Version: BCPG v1.59

iQEcBAEBAgAGBQJbbYOlAAoJEOvsgYjY/KHJUrkH/RDoFkONolpEEjafqjk3NOlg
uELyCF0vE/msFD2SO5O98HD4egnpxlO+fyJiZ2x+c0B52KQuOztAOYTHly2NKrL7
65gEIzOmpu+yQhYlZr4Qp2xGStJqxfgMeAIv3UUjUoRE7DWMZwgpO1KqGUhB05TL
XXyzWLJND27SzpNjpRmUmf+uuLKZHQ55q1dapwZym2Xg5il+UzYuJjfle9jvBWtc
uPJ40ghE/ms8WjAUAEOsdPB3rFd65pjwcauClM05L7w7KIv3/hgoAI/zZyGWW40B
yQuTbt2nYeZO4NbXkosiq9db4Lo5tEPdUH1NI3e34e2gymhCFOOguT3dAoafYYw=
=JrA1
-----END PGP SIGNATURE-----
gpg: Signature made Fri Aug 10 14:23:01 2018 CEST
gpg:                using RSA key EBEC8188D8FCA1C9
gpg: Can't check signature: No public key

Какой? Посмотрите на последнюю строчку: Can't check signature: No public key

President James K. Polk 11.08.2018 00:54

Другие вопросы по теме