1#!/usr/bin/env perl
2
3use strict;
4use Test::More tests => 9;
5use MIME::Base64 ();
6use Crypt::RSA::Yandex qw(ya_encrypt);
7
8my $pub_key = 'BFC949E4C7ADCC6F179226D574869CBF44D6220DA37C054C64CE48D4BAA36B039D8206E45E4576BFDB1D3B40D958FF0894F6541717824FDEBCEDD27C4BE1F057#10001';
9my $text    = '12345';
10my $expect  =  MIME::Base64::decode('BQBAAKypbGqp3y2TkI4ZwEbpOmsRjBb/JIgd8Px4UcDewPi/bGGJiiDVSHUKa6kxIRRGqXvgbiPHcpO2R/3KEZ6tHRQ=');
11
12is( ya_encrypt($pub_key,$text), $expect, 'text correctly encrypted' );
13ok my $crypter = Crypt::RSA::Yandex->new, 'object created';
14$crypter->import_public_key($pub_key);
15
16is $crypter->encrypt($text), $expect, 'text correctly encrypted';
17
18for my $bad_key (
19	'BFC949E4C7ADCC6F179226D574869CBF44D6220DA37C054C64CE48D4BAA36B039D8206E45E4576BFDB1D3B40D958FF0894F6541717824FDEBCEDD27C4BE1F057',
20	'BFC949E4C7ADCC6F179226D574869CBF44D6220DA37C054C64CE48D4BAA36B039D8206E45E4576BFDB1D3B40D958FF0894F6541717824FDEBCEDD27C4BE1F057#',
21	'#',
22) {
23    ok !eval{ ya_encrypt($bad_key,$text); 1 }, 'died';
24    ok $@, 'have error';
25}
26