1#!/usr/bin/perl -s
2##
3## 09-publickey.t
4##
5## Copyright (c) 2001, Vipul Ved Prakash.  All rights reserved.
6## This code is free software; you can redistribute it and/or modify
7## it under the same terms as Perl itself.
8##
9## $Id$
10
11use FindBin qw($Bin);
12use lib "$Bin/../lib";
13use Crypt::RSA::Key::Public;
14use Math::Pari qw(PARI);
15
16print "1..8\n";
17my $i = 0;
18my $keyfile = "./rsa-public-key";
19my $n = PARI('90323071930747658587680108508312228275784837926947082008548691733142705211489057935389756600126815968792421058507821141460115569139868202311230475972964057619586895938810033730091286963807334963647271206191891975955352543611579505094807268518669728893837266971976327030260763032999438640559854194396431791831');
20my $e = PARI('65537');
21
22my $key = new Crypt::RSA::Key::Public();
23$key->n ($n);
24$key->e ($e);
25$key->Identity ('mail@vipul.net');
26
27print $key->n == $n ? "ok" : "not ok"; print " ", ++$i, "\n";
28print $key->e == $e ? "ok" : "not ok"; print " ", ++$i, "\n";
29print $key->Identity eq 'mail@vipul.net' ? "ok" : "not ok"; print " ", ++$i, "\n";
30
31$key->write(Filename => $keyfile);
32
33my $pkey = new Crypt::RSA::Key::Public (Filename => $keyfile);
34print $pkey->n == $n ? "ok" : "not ok"; print " ", ++$i, "\n";
35print $pkey->e == $e ? "ok" : "not ok"; print " ", ++$i, "\n";
36print $pkey->Identity eq 'mail@vipul.net' ? "ok" : "not ok"; print " ", ++$i, "\n";
37
38unlink $keyfile;
39
40# string and hex assignments
41my $key2 = new Crypt::RSA::Key::Public;
42$key2->e ("0x10e9");
43$key2->n ("1023");
44print $key2->n == 1023 ? "ok" : "not ok"; print " ", ++$i, "\n";
45print $key2->e == 4329 ? "ok" : "not ok"; print " ", ++$i, "\n";
46
47