4 use Crypt::Monkeysphere::Keytrans qw(GnuPGKey_to_OpenSSH_pub);
6 use File::Temp qw(tempdir);
10 my $tempdir = tempdir("unitXXXXX", CLEANUP => 1);
11 my $gnupg = new GnuPG::Interface();
12 $gnupg->options->hash_init(homedir=>$tempdir);
15 -----BEGIN PGP PUBLIC KEY BLOCK-----
16 Version: GnuPG v1.4.11 (GNU/Linux)
18 mI0ETa5YiwEEALJhsHgLEokvKM+d1oAAy+oaDywLWsbqzuCCqu5h9Hu7MYxeGmTA
19 tg8fXatgXEBUUe+e1i1aF94kTqcqcS5M+71ce2yHNyxl7U0pGVMOPiFiRVKK8x/7
20 wE2LTaPHhskc8kkKrxoJMbXmn0Oq5wn8xLkidIsVE+AyQ+HbD9C7UAnhABEBAAG0
21 NXRlc3Qga2V5IChETyBOT1QgVVNFISkgPHRlc3RAZXhhbXBsZS5uZXQ+IChJTlNF
22 Q1VSRSEpiL4EEwECACgFAk2uWIsCGwMFCQABUYAGCwkIBwMCBhUIAgkKCwQWAgMB
23 Ah4BAheAAAoJEEi/A6Yee54PGcID/iL1tRDgFnNaNNdEpChbjrWcoCIQOIw2VvYH
24 UJY3oiKPWv/f8NMOylFLBG9pjDUd96wkimUvAKccPDwuhwMQq+KTcDPZXm8AeeUX
25 IMHmPE33qqvifV9dFGlIGa4a3tmGjJvjhKmNSJGJWG9wRK3C2BrJdQVF9sk2FHXd
28 -----END PGP PUBLIC KEY BLOCK-----
32 my $sshdata = "AAAAB3NzaC1yc2EAAAADAQABAAAAgQCyYbB4CxKJLyjPndaAAMvqGg8sC1rG6s7ggqruYfR7uzGMXhpkwLYPH12rYFxAVFHvntYtWhfeJE6nKnEuTPu9XHtshzcsZe1NKRlTDj4hYkVSivMf+8BNi02jx4bJHPJJCq8aCTG15p9DqucJ/MS5InSLFRPgMkPh2w/Qu1AJ4Q==";
35 my $input = IO::Handle->new();
36 my $output = IO::Handle->new();
37 my $handles = GnuPG::Handles->new(stdin => $input,
41 my $pid = $gnupg->import_keys(handles => $handles);
43 $input->write($openpgpdata);
47 my @keys = $gnupg->get_public_keys();
49 foreach $key (@keys) {
50 my $output = GnuPGKey_to_OpenSSH_pub($key);
51 is($sshdata, $output);