Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8046[/thread]

GnuPG -> Crypt::OpenPGP inkompatibel???: Crypt::OpenPGP -> GnuPG aber kompatibel?



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Wlet
 2006-06-01 17:23
#66920 #66920
User since
2006-05-24
15 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich experimentiere gerade mit dem Modul Crypt::OpenPGP, und habe ein wirklich seltsames Problem.
Folgende Vorgehensweise:

Perlskript verschlüsselt Mithilfe Crypt::OpenPGP eine Nachricht. Ich kopiere Sie ins Clipboard, und mit WinPT(wahlweise auch gpg von der Kommandozeile) entschlüssle ich die Nachricht. Klappt wunderbar!

Umgekehrter Weg:
Ich verschlüssle mittels WinPT(GnuPG wahlweise auch gpg von der Kommandozeile), und will mit dem Perlskript entschlüsseln.
Ich bekomme den Fehler: Symkey decrypt failed: Invalid secret key ID

Könnte das evtl mal jemand mit diesem Skript verifizieren, bzw. mir sagen, was ich falsch mache?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/perl
use Data::Dumper;
use Crypt::OpenPGP;

my $pgp = Crypt::OpenPGP->new(Compat => 'GnuPG',
PubRing => '/root/.gnupg/pubring.gpg',
SecRing => '/root/.gnupg/secring.gpg',
ConfigFile => '/root/.gnupg/gpg.conf',
);

my $plain = 'hallo';
my $key_id="7B9635D9";
my $ciphertext = $pgp->encrypt(
Data => $plain,
Recipients => $key_id,
Armour => 1,
);

open (CIFI, ">cifi.gpg");
print CIFI $ciphertext;
close (CIFI);

my $result = $pgp->handle( Filename => 'cifigpg.gpg' );

print Dumper($result);

die "Decryption failed: ", $pgp->errstr unless $pt;


in der Datei cifigpg.gpg liegt der ASCII-Armored Ciphertext. Die KeyID sollte natürlich entsprechend gesetzt sein.

Testweise habe ich in der gpg.conf den Parameter
no-force-v3-sigs und openpgp gesetzt. DAs brachte keine Änderung.

cu

Wlet
esskar
 2006-06-01 17:42
#66921 #66921
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
benutz du die richtige key id?
du musst die key id des verschlüsselungsschlüssels angeben.
Wlet
 2006-06-01 18:01
#66922 #66922
User since
2006-05-24
15 Artikel
BenutzerIn
[default_avatar]
Ja.
Da bin ich mir ziemlich sicher. Ich hab den Schlüssel auf meiner Workstation (WinXP) exportiert, und auf meiner Testbüchse (VMWare Debian) in den Keyring importiert (auch hier hab ich nur diesen Schlüssel(pub/sec) drauf).

Den keyring von WinPT hab ich bis auf den öffentlichen Schlüssel geleert. Er KANN also nur den richtigen Schlüssel zum verschlüsseln nehmen...

Wenn du aus der Zeile:
Code: (dl )
my $result = $pgp->handle( Filename => 'cifigpg.gpg' );

folgende machst
Code: (dl )
my $result = $pgp->handle( Filename => 'cifi.gpg' );

funktioniert das auch prächtig. Also das wieder entschlüssle, was gerade verschlüsselt wurde...

Nur sobald ich eben den WinPT verschlüsselten Kram nehme funktioniert das entschlüsseln nicht mehr.

Wlet
esskar
 2006-06-01 18:07
#66923 #66923
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
hmm;
verschlüssel mal an
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.0 (MingW32)
Comment: Powered by e.Crypt (c) DIaLOGIKa / sak 2002-2005

mQENBEK38BABCACoI2iksnccWelaKZD5Qu0lv8SdoVEEwzKHVHbsVxNTCKNfNsQf
YeryhDYqWbcnAKfC1aZUkfr6eM3kL+Xtrm37Dd8CMDnbB39FG/xGwcTLk1d10GHA
M9kG+8hVmp3kZ6CIRY/xB1X3vC1EjLSso64JhnfTdkZoctanC6m46jpkXxGEaxn1
N7jRKHFJOecHBTqUwd0vmxlxnTWNb4B58iwugEFVBsxt5kJTSRcEA/B5FRiYUIEt
XCTL5Ss1b9H37pXAlzwizUZFSi1Wedv8nKNQhoRMfuJwWP/lPeZsUy1bJGYpepuv
meAlJ7ABavzWKkpPjjgTjEipsMZdZYLIyd0DABEBAAG0KlNhc2NoYSBLaWVmZXIg
PHNhc2NoYS5raWVmZXJAZGlhbG9naWthLmRlPokBhwQQAQIAcQUCQrfwGTAUgAAA
AAAgAAdwcmVmZXJyZWQtZW1haWwtZW5jb2RpbmdAcGdwLmNvbXBncG1pbWUHCwkI
BwMCCgIZARkYbGRhcDovL2tleXNlcnZlci5wZ3AuY29tBRsDAAAAAxYCAQUeAQAA
AAQVCAkKAAoJEKbrmI9Z9tTGqiYH/0WDim13n26umtb6NVatKK19MFYO7radXQdb
rZ6KbexF5dKGv56kzHawkQNnD+p43Y1TN/kuX/Fx7L5+VvoX5cDMRD7KMtUet+Fq
mAZI2aUzEM42owxYt3kVjcBk5OzjhcSgM3j0vnpa9jFBJTLBbcXgIip7SXG0nkA2
H65RM/hDvv/nBv0wiypbny0RrQDn4menAnVEysVv6hPPnCT+vyM7b0KM529+vHy5
0zMOORuuQddRnLHoaqasksFZ7JkfTW+S/Y/dXxy1ovSwwMfcHWSLjyv8XXaPeQ42
U9y5nZqX1AEl02mv0Z2SZXuhOpx/UXuAToFfMx3b45p/Myp9bWuJASIEEAECAAwF
AkLMKzAFAwASdQAACgkQlxC4m8pXrXxjRwgAj/c6XwtFcszRdTI/tOOhuKBF4eps
pafnzAfxNqHSGN3L7A4dGb+7q8dtdywnlYPxryEtYX3qye2LG+cJ0yW+pdTEX5Lp
l1knRg2qu/FSlxevjX+IyVJPgSRYUMIpMfD1VfHwi4eZi3vDTyvtXAvRC6M1Lcvd
MJhPWMruwo1gM2iIqqC/qleWBur3+ftmLU8KydgLnrecOdSlTDlP1Rbq+CGGsrhy
EFCcdWHHLVySVVu/3gQM9usZeE9+cXW4qaBrFKsMl1TTz2Iw7KBw8QsUs8R30TQk
sn91v2A6aotshgWe/vYTc/O6ngT0OLtJaK1DQJouSSDIWOiO9B3KYRoa1LQgU2Fz
Y2hhIEtpZWZlciA8c2FrQGRpYWxvZ2lrYS5kZT6JAYQEEAECAG4FAkLT0t4wFIAA
AAAAIAAHcHJlZmVycmVkLWVtYWlsLWVuY29kaW5nQHBncC5jb21wZ3BtaW1lBwsJ
CAcDAgoZGGxkYXA6Ly9rZXlzZXJ2ZXIucGdwLmNvbQUbAwAAAAMWAgEFHgEAAAAE
FQgJCgAKCRCm65iPWfbUxuMsB/4neisH6McV/h1m4sFi+Yyoes46GsR/+QVjEuNk
xKu9Ics4EofOp55Ip50RZpWjEYEwZ8zF/Ns9LMlE2WWBgZfl+M1B4/5UUv2v0b5M
sXibvFWVeUOcb/QKfWYwvVbCbB1S1xALbaJGOodATayoSxuOzmcX51F2TqA2aSL4
eNCB3cZnJztul0h9YFk7Fhyti2U6Go9d2XYnTzb9bCLo/jeGY3Lpm41gnMdjPtEq
pB4dc9EqP9PaOjMaeOBCDAxfJRHzLt2GzGC26jpykMbwZCIg0w/ltzRXmizpMFR7
g0tyNxOsx6tzCRUxnifhv83gfAPfVmNrP73XVgs+Y9FR3w3+uQENBEK38BEBCACu
B8/l1z4jrZzixkqDjlmyUjyz65R7u9igjwdn8F8RgDIQqsGEA0oTwO/hJvLITaby
ZE8m0lgVisMfQ0m/lDZDviknTzhgZNohs8jnFYkHxAeK5YYmCKJy94oIY7kItil1
n1HI/o81VR3MKc7u/bEYncMvSuYuQ5/iWjtvwevJwWEJYuJUO1wKZag0UiktUMjr
3NTgeTZFK6LgO2jEPxvfJnusyhI6jnJPhfbWr5LkYJ1ktnd4SWo/4jBiuAwKZTnw
htPs/ugAvNHXSzAoVRaEhozhOV1Huwc97Vm88qNlmesoRZNl9lgJTHKWaPRZnUvg
oKTyctRsud64W4HuZABvABEBAAGJASIEGAECAAwFAkK38BEFGwwAAAAACgkQpuuY
j1n21MZuBwf/QIU5rquKK7+4KVbRHp9KmxsvQxUZaGEIUGCqK04IaNY2kQeUxANA
enUGra6AuaqxQw6oEmzVi/u7Zg1LeG7DY2P5vkVfuvOoisnHrW/krUgULW6MKgoC
019rXeZcdkiVQ2Kja/MoFq4FTTYY3a2fPoW61SuiOPv6eqCsy4+yOb7FbQ9ThEPO
drDJyGDpL/gWNPx7V3L+OA2/Ag4/kvmrvund9+IKS3Wum1j7N698xSU6VchLoK+D
58XYCKwXWtMS6A0Km38QoAEEkyU/Y4/8ScJ7B6XNgAPg0GEfF/A/eFhHPugtNeuZ
rAxmgt3wB3yYjSvSg7k7G05TDL1oJ7wQEQ==
=hgp4
-----END PGP PUBLIC KEY BLOCK-----

und poste dann das ergebnis bitte!
Wlet
 2006-06-01 18:16
#66924 #66924
User since
2006-05-24
15 Artikel
BenutzerIn
[default_avatar]
Also

das Wort "Hallo" mit WinPT:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1

hQEMA/dw9T1eEZ3kAQf/V8hp53xaQT9I7JHN4tsOWKLE9N5OZ398mElWd62dKkIJ
NCuilnrIDFe/C6HEGquYxDlLcBsD+HyewSQONwkY9CPzgcKaQ9m5ox15sHUQF1uN
F979oV5cuQfOzmNQcEDoVCPyhle69FAaB2dFYwNDAHwNo/aoj/of+DqVP1TSbi/2
DULehOsD/spsZeANuNK/A3AW9bM4jDh+n5jh9GbGHU1LJimn3LOd9cMHcDjWm3Qu
J3WdlqFAf8iS7aWanUFgD8gAJYlwcwAcgfMbVwNNTSPFR9498HMHsC2GFJlGbfrn
BmnFKgORObB5hJvQpDAcuqcAWX2aAmvVS5PzsIaE08kv/yOD9dQuTkfwAnSlx4pO
Z9jLCOyrKpwQ4mfpiyoX+Nss9x/sT8XeQy74bDKnG/s=
=GAhg
-----END PGP MESSAGE-----


so, und dann das ganze mit Crypt::OpenPGP:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
-----BEGIN PGP MESSAGE-----
Version: Crypt::OpenPGP 1.03

hQEMA6brmI9Z9tTGAQf/R4nv50z/WaP+dd1Q6QpPnmkGuZFrsS4sIv032L/AI0Rg
biU86z7VouERC5Zb6VKL/LGgHKz8PxSzrgzh53fAS1jkTb75X25H9hTCn9RFUNVc
QFmbRrAQbMtMX2ThAx+Cov9HFgBOkAY2t8Y2Yq55mL+ransDBlJZmR1R78mPk13o
/ar852NeS5lVZGMVZDe8Vd58fCLHfKNMTUFbpvVAU5kBjis0Jt0wJsaKbf1u7xFl
xjmX0IkAwn04lCsLYQyJSZTv0ym5VJ1yE1K0dNMcKLhY08YCnC82X5ovQR7DIXkX
hKQUCdBKnDGRUWOxzF1d/OOJFyPhXVI4uHJv6gV9tdJBAcKMXujCp0HSH9KLvMC4
sM8GbOkNczm6bhoZssb7LTUBO73nsQ+hkGmN8lakhRTwhURLr3o2i6q+Aen+2x5G
100=
=bPpO
-----END PGP MESSAGE-----


Wie gesagt: in WinPT bzw gpg kann in meinem Fall beides entschlüsseln. Crypt::OpenPGP dagegen nur das zweite....

Danke

Wlet
esskar
 2006-06-01 18:27
#66925 #66925
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wenn ich gpg.exe auf der command zeile wie folgt aufrufe

Code: (dl )
gpg.exe --status-fd 1 --yes --decrypt


bekomm ich für 1
Code: (dl )
1
2
3
4
5
6
7
[GNUPG:] ENC_TO F770F53D5E119DE4 1 0
gpg: encrypted with RSA key, ID 5E119DE4
[GNUPG:] NO_SECKEY F770F53D5E119DE4
[GNUPG:] BEGIN_DECRYPTION
[GNUPG:] DECRYPTION_FAILED
gpg: decryption failed: secret key not available
[GNUPG:] END_DECRYPTION


und für 2

Code: (dl )
1
2
3
4
5
6
[GNUPG:] ENC_TO A6EB988F59F6D4C6 1 0
gpg: encrypted with RSA key, ID 59F6D4C6
[GNUPG:] NO_SECKEY A6EB988F59F6D4C6
[GNUPG:] BEGIN_DECRYPTION
[GNUPG:] DECRYPTION_FAILED
gpg: decryption failed: secret key not available


du siehst also; dass du nicht den richtigen schlüssel verwendest (wobei der 2te schon mein schlüssel ist; ich aber den private key verschlammpte hab, merke ich gerade)\n\n

<!--EDIT|esskar|1149172075-->
Wlet
 2006-06-01 18:44
#66926 #66926
User since
2006-05-24
15 Artikel
BenutzerIn
[default_avatar]
Hmm,

krass. Dann scheint mit winpt was nicht zu stimmen:
Ich bekomme aber bei
Code: (dl )
gpg --list-keys


folgendes
Code: (dl )
1
2
3
4
5
6
7
8
C:/Documents and Settings/xxxxx/Application Data/GnuPG\pubring.gpg
--------------------------------------------------------------------
pub 1024R/7B9635D9 2006-04-18 Mein Name <mein.name@gmx.de>
sub 1024R/B54BBB91 2006-04-18 [verfällt: 2007-04-18]

pub 2048R/59F6D4C6 2005-06-21 Sascha Kxxxxx <sascha.kxxxxx@diaxxxika.de>
uid Sascha Kxxxxxx <sak@diaxxxika.de>
sub 2048R/5E119DE4 2005-06-21


MfG

Wlet
esskar
 2006-06-01 18:50
#66927 #66927
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
okay; winpt everschlüsselt mit dem sub schlüssel 5E119DE4 und perl mit dem 59F6D4C6, was falsch ist (oder es wird nur die falsche id eingetragen)

dein erstes code stück verwendet ebenfalls nicht den subschlüssel, sondern 7B9635D9
setz mal $key_id auf B54BBB91
Wlet
 2006-06-02 10:02
#66928 #66928
User since
2006-05-24
15 Artikel
BenutzerIn
[default_avatar]
Hi,

sorry, musste gestern dringend weg.

Ich habs aber zuvor noch getestet. Es spielt keine Rolle, mit welchem Schlüssel ich mittels der Crypt::OpenPGP Methoden verschlüssle. Entschlüsseln ist WinPT-seitig kein Problem (den richtigen privaten Schlüssel sucht ja das Crypt::OpenPGP::Handle. Nur der umgekehrte weg klappt eben nicht.

Ich werd mal zwei komplett verschiedene Schlüsselringe für beide Rechner erzeugen, un mich dann wieder melden!

Wlet
Wlet
 2006-06-02 10:39
#66929 #66929
User since
2006-05-24
15 Artikel
BenutzerIn
[default_avatar]
Hmmmm,

sehr seltsame Sache. Ich habe jetzt mal auf beiden Maschinen die Keyrings gelöscht, danach auf beiden Rechnern neue Schlüsselpaare erzeugt, anschließend den Public-key auf der jeweils anderen Büchse importiert, und siehe da: Es läuft....

Nur frage ich mich wirklich, was ich davor falsch gemacht habe. Der einzige Unterschied war ja, das beide Rechner die exakt gleichen Keyrings hatten (also sec und pub)...

Wie dem auch sei.

Ich danke für die Unterstützung....

Wlet
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2006-06-01 17:23.