6220015aec08b916087c28f99a5fea60b71adb89
[users/jgh/exim.git] / test / aux-fixed / dkim / sign.pl
1 use Mail::DKIM::Signer;
2 use Mail::DKIM::TextWrap;  #recommended
3 use Getopt::Long;
4
5 # default option values
6 my $method = "simple/simple";
7 my $selector = "sel";
8 my $keyfile = "aux-fixed/dkim/dkim.private";
9
10 GetOptions(
11         "method=s" => \$method,
12         "selector=s" => \$selector,
13         "keyfile=s" => \$keyfile,
14 );
15
16 # create a signer object
17 my $dkim = Mail::DKIM::Signer->new(
18                   Algorithm => "rsa-sha1",
19                   Method => $method,
20                   Domain => "test.ex",
21                   Selector => $selector,
22                   KeyFile => $keyfile,
23              );
24
25 # read an email and pass it into the signer, one line at a time
26 while (<STDIN>)
27 {
28       # remove local line terminators
29       chomp;
30       s/\015$//;
31
32       # use SMTP line terminators
33       $dkim->PRINT("$_\015\012");
34 }
35 $dkim->CLOSE;
36
37 # what is the signature result?
38 my $signature = $dkim->signature;
39 print $signature->as_string;
40 print "\n";
41
42 #print $dkim->headers;
43 #print "\n";