Initial Commit
This commit is contained in:
53
database/perl/vendor/lib/Crypt/RSA/Key/Public/SSH.pm
vendored
Normal file
53
database/perl/vendor/lib/Crypt/RSA/Key/Public/SSH.pm
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
package Crypt::RSA::Key::Public::SSH;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
## Crypt::RSA::Key::Private::SSH
|
||||
##
|
||||
## Copyright (c) 2001, Vipul Ved Prakash. All rights reserved.
|
||||
## This code is free software; you can redistribute it and/or modify
|
||||
## it under the same terms as Perl itself.
|
||||
|
||||
use Carp qw/croak/;
|
||||
use Crypt::RSA::DataFormat qw(bitsize);
|
||||
use Crypt::RSA::Key::Public;
|
||||
use base qw( Crypt::RSA::Key::Public );
|
||||
|
||||
sub deserialize {
|
||||
my ($self, %params) = @_;
|
||||
my $string = $params{String};
|
||||
croak "Must supply String=>'blob' to deserialize" unless defined $string;
|
||||
$string = join('', @$string) if ref($string) eq 'ARRAY';
|
||||
my ($bitsize, $e, $n, $ident) = split /\s/, $string, 4;
|
||||
$self->n ($n);
|
||||
$self->e ($e);
|
||||
$self->Identity ($ident);
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub serialize {
|
||||
my ($self, %params) = @_;
|
||||
my $bitsize = bitsize ($self->n);
|
||||
my $string = join ' ', $bitsize, $self->e, $self->n, $self->Identity;
|
||||
return $string;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Crypt::RSA::Key::Public::SSH - SSH Public Key Import
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
Crypt::RSA::Key::Public::SSH is a class derived from
|
||||
Crypt::RSA::Key::Public that provides serialize() and
|
||||
deserialze() methods for SSH 2.x keys.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Vipul Ved Prakash, E<lt>mail@vipul.netE<gt>
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
Reference in New Issue
Block a user