2016-06-29 16 views
0

Perl에서 암호문 보호 기능을 사용하여 공개 키와 개인 키를 생성하려고하는데 유용한 것은 없습니다.Perl에서 암호 보호 된 RSA 키를 생성하는 방법

지금까지이 링크가 매우 유망 해 보이는 http://search.cpan.org/~vipul/Crypt-RSA-1.57/lib/Crypt/RSA.pm이라는 것을 알았습니다. 그러나 암호 문구없이 암호를 만들었지 만 암호를 사용하지 않고 암호를 해독 할 수 있습니다.

다른 링크는 http://www.perlmonks.org/?node_id=903458이지만 키를 만들 때 (데이터베이스에 저장하기 위해) 암호를 사용하지 않고도 암호를 해독 할 수 있습니다.

요약하면 필자는 양쪽 모두에 대해 암호를 사용하여 개인 키를 사용하여 텍스트를 암호화 할 수있는 라이브러리가 필요합니다.

도움 주셔서 감사합니다.

PD : PGP 암호화를 사용하지 마십시오.

use strict; 
use warnings; 
use Data::Dumper; 
use 5.010; 
use Crypt::RSA; 

my $rsa = new Crypt::RSA; 

my ($master_public, $master_private) = $rsa->keygen(
    Identity => "Someone", 
    Size  => 1024, 
    Password => "this is a password or passphare", 
) or die $rsa->errstr(); 

my $cyphertext = $rsa->encrypt (
    Message => "My Message that I want to encrypt", 
    Key  => $master_public, 
    Armour  => 1, 
) or die $rsa->errstr(); 

my $text = $rsa->decrypt (
    Cyphertext => $cyphertext, 
    Key  => $master_private, 
    Armour  => 1, 
    # Here I expect to add the user's passphrase 
) or die $rsa->errstr(); 

say $text; 
+0

이 스 니펫 (snippet)을 추가하십시오 (당신이 가지고있는 $의 master_private의 개체가 이미 해당 유형의 목적) * 실제 암호 코드 *는 "암호 구문없이 암호화 된 내용의 암호 해독"기능을 보여줍니다. * 가능한 한 구체적으로 *하십시오. –

+0

안녕하세요, Mike, 내 발언을 증명하기 위해 발췌 문장을 추가했습니다. 감사! – Ramzendo

답변

2

RSA의 암호 만 저장하거나 디스크에 키를 읽기에 관해서 사용됩니다

UPDATE 여기

예상대로 작동하지 않는 코드 파이스 동전입니다. 귀하의 작업 중 어느 시점에서도 개인 키를 디스크에 저장하지 않았으므로 메모리에 이미 암호화되지 않았습니다. 개인 키 문서에서

, 당신이 숨기고 디스크에 저장하는 방법을 볼 수 있습니다

https://metacpan.org/pod/Crypt::RSA::Key::Private

+0

감사합니다! Tim Tom! 마침내 나는 그것을 작동하게했다! – Ramzendo