Not working import

This commit is contained in:
Difrex(Denis Zheleztsov) 2014-05-16 18:47:38 +04:00
parent 52c4bd5e0a
commit 5892f440e8
3 changed files with 43 additions and 17 deletions

25
GPG.pm
View File

@ -91,17 +91,17 @@ sub decrypt_db {
}
sub export {
my ($self, $file) = @_;
my ( $self, $file ) = @_;
use Term::ANSIColor;
print "Password for " . colored("export\n", 'yellow');
print "Password for " . colored( "export\n", 'yellow' );
# gpg --symmetric filename
my @enc_cmd = ('gpg', '--symmetric', "$file");
my @enc_cmd = ( 'gpg', '--symmetric', "$file" );
system(@enc_cmd) == 0 or die "Cannot encrypt $file: $!\n";
# Remove unencrypted file
my @rm_cmd = ('rm', '-f', "$file");
my @rm_cmd = ( 'rm', '-f', "$file" );
system(@rm_cmd) == 0 or die "Cannot remove file $file: $!\n";
my $export_file = $file . '.gpg';
@ -109,4 +109,21 @@ sub export {
return $export_file;
}
sub import {
my ( $self, $file ) = @_;
# Generate random file name
my @chars = ( "A" .. "Z", "a" .. "z" );
my $string;
$string .= $chars[ rand @chars ] for 1 .. 10;
my $dec_file = "/tmp/pm." . $string;
# Decrypt database
# gpg --output filepath --decrypt encfile
my @dec_cmd = ( 'gpg', '--output', $dec_file, '--decrypt', $file );
system(@dec_cmd) == 0 or die "Cannot decrypt file $file: $!\n";
return $dec_file;
}
1;

View File

@ -81,19 +81,6 @@ sub remove {
return 0;
}
sub export {
my ( $self, $filename ) = @_;
my $gpg = $self->{_gpg};
my $dec_db_file = $gpg->decrypt_db();
my $export_enc = $gpg->export($dec_db_file);
my @mv_cmd = ( 'mv', "$export_enc", "$filename" );
system(@mv_cmd) == 0 or die "Cannot move $export_enc to $filename: $!\n";
return 0;
}
# Decrypt base and store new password
sub save {
my ( $self, $store ) = @_;
@ -134,6 +121,27 @@ sub save {
return 0;
}
sub export {
my ( $self, $filename ) = @_;
my $gpg = $self->{_gpg};
my $dec_db_file = $gpg->decrypt_db();
my $export_enc = $gpg->export($dec_db_file);
my @mv_cmd = ( 'mv', "$export_enc", "$filename" );
system(@mv_cmd) == 0 or die "Cannot move $export_enc to $filename: $!\n";
return 0;
}
sub import {
my ( $self, $file ) = @_;
my $gpg = $self->{_gpg};
my $db_class = $self->{_db};
my $dec_file = $gpg->import($file);
}
# Generate password
sub generate {
my @chars = ( "A" .. "Z", "a" .. "z", 0 .. 9 );

View File

@ -25,6 +25,7 @@ Simple password manager writed in Perl.
-i password ID
-o open link
-x [filename] export
-I [filename] import
-h show this help screen and exit
-v show version info and exit