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