Changeset 171 for trunk/lib/Vote/DB/Poll.pm
- Timestamp:
- 04/07/09 02:55:42 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Vote/DB/Poll.pm
r165 r171 7 7 use Vote; 8 8 use Mail::Mailer; 9 use Crypt::RSA; 10 use Crypt::CBC; 11 use XML::Simple; 12 use MIME::Base64; 9 13 use base 'Vote::DB::common'; 10 14 use Vote::DB::Ballot; … … 300 304 return; 301 305 }; 306 307 $self->_register_ballot_items($uid, $choice, $fchoice) or do { 308 self->db->rollback; 309 return; 310 }; 311 312 $uid 313 } 314 315 sub _register_ballot_items { 316 my ($self, $uid, $choice, $fchoice) = @_; 302 317 303 318 my $addbc = $self->db->prepare_cached( … … 692 707 } 693 708 709 # crypto part 710 711 sub rsa { 712 my ($self) = @_; 713 $self->{rsa} ||= new Crypt::RSA ES => 'PKCS1v15'; 714 } 715 716 sub gen_poll_keys { 717 my ($self) = @_; 718 my ($public, $private) = $self->rsa->keygen ( 719 Identity => 'Epoll Vote ' . $self->voteid, 720 Size => 768, 721 Password => undef, 722 Verbosity => 0, 723 KF=>'SSH', 724 ) or die $self->rsa->errstr(); # TODO avoid die 725 $self->param( 726 public_key => $public->serialize, 727 private_key => encode_base64($private->serialize), 728 ); 729 } 730 731 sub public_key { 732 my ($self) = @_; 733 my $serialize = $self->info->{public_key} or return; 734 my $pubkey = Crypt::RSA::Key::Public->new; 735 $pubkey->deserialize($serialize); 736 737 $pubkey 738 } 739 694 740 =head1 AUTHOR 695 741
Note: See TracChangeset
for help on using the changeset viewer.