mirror of
https://github.com/php-gnupg/php-gnupg.git
synced 2026-01-13 11:49:34 +00:00
When the message is encrypted with multiple keys and the decryption key(s) added is not the first encrypted key, then it was failing due to invalid early failure when uid was not found in decrypted keys. This changes such behavior and just returns empty key instead in such case.
156 lines
8.4 KiB
PHP
156 lines
8.4 KiB
PHP
<?php
|
|
putenv("GNUPGHOME=".dirname(__FILE__) . '/home');
|
|
error_reporting (E_ALL);
|
|
$fingerprint = "2DF0DD02DC9B70B7F64F572E669E775E0A6284B3";
|
|
$passphrase = "blabla";
|
|
|
|
$plaintext = "foo bar";
|
|
|
|
$testkey =<<<EOF
|
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
|
|
|
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
|
|
ngBZTudrwBbKC8xx224aOk0TiDbiWftGtx4=
|
|
=py/2
|
|
-----END PGP PRIVATE KEY BLOCK-----
|
|
EOF;
|
|
|
|
// RSA 2048 key with different passprhrase than testkey
|
|
$passphrase2 = "blabla2";
|
|
$fingerprint2 = "FB7E60AA1FE2564B10DF07FEA4C19633A227485F";
|
|
$testkey2 = <<<EOF
|
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
|
|
|
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
|
|
=RBbv
|
|
-----END PGP PRIVATE KEY BLOCK-----
|
|
EOF;
|
|
|
|
// EC Curve 25519 Key with the same passphrase as testkey
|
|
$passphrase3 = "blabla";
|
|
$fingerprint3 = "2D5CCE418C7212931917A35E8A1C9B7E78F3F200";
|
|
$testkey3 = <<<EOF
|
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
|
|
|
lIYEaAfDfBYJKwYBBAHaRw8BAQdA4jPoB0hx6VQELdNec5yMmGdk1y0w+FBd4795
|
|
Nzawq1v+BwMCQ0Stv6AJZoX/N+canKS8Reb1WI6rd2AFYJ1a635SuzJuiAXpZjNr
|
|
1dqQWzqfyiPkvSuEBX3xUoipnncyT4oS1v3Xxz2LyaJsVD/M84murbQkUEhQIFRo
|
|
aXJkIFRlc3QgPHRlc3QzQGdudXBnLnBocC5uZXQ+iJMEExYKADsWIQQtXM5BjHIS
|
|
kxkXo16KHJt+ePPyAAUCaAfDfAIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIX
|
|
gAAKCRCKHJt+ePPyAItFAQC5zOjM4m5R4LC9z2+Qc9+o/NsazZm4pRg/0GdDNKSq
|
|
RwD/fZkEQ3NVqAGyZAf05xySuCohjq6NyXB7FoHEKNM8DQaciwRoB8N8EgorBgEE
|
|
AZdVAQUBAQdALxHB/DCBuPT2N0D0blqPfCkzAoUoT8ryzCt0m38x2RQDAQgH/gcD
|
|
Ahl6v0cdX5YA/+8mmWL/3bFdT/TUkct232XUNosZJWAp/SirUEcIghisKoUslI0W
|
|
/yMskyfYQao9Xp2ZgAh5tDjY+zPrFeW/qBiRqGuLEvyIeAQYFgoAIBYhBC1czkGM
|
|
chKTGRejXoocm3548/IABQJoB8N8AhsMAAoJEIocm3548/IAhyMA/1Rj6kqCdqHl
|
|
cMH5geSnHg1pXfI9duFcNv/s8d3EqGx8AQCNHc+JFez4DQi22I8p/Lp5t1Wxugig
|
|
Fm5SdMmMXCHwAg==
|
|
=Bbro
|
|
-----END PGP PRIVATE KEY BLOCK-----
|
|
EOF;
|