phase1: perform kmodupload only when needed
[buildbot.git] / scripts / sec2pubkey.pl
1 #!/usr/bin/env perl
2
3 use strict;
4 use MIME::Base64;
5
6 my @lines = (-t STDIN) ? () : <>;
7
8 if (@lines == 0) {
9 die "Usage: $0 < key.sec > key.pub\n";
10 }
11
12 my $seckey = decode_base64(pop @lines);
13 my $comment = shift(@lines) || "untrusted comment: secret key";
14
15 chomp($comment);
16
17 $comment =~ s/\bsecret key$/public key/;
18
19 if (length($seckey) != 104) {
20 die "Unexpected secret key length\n";
21 }
22
23 my $pubkey = encode_base64(substr($seckey, 0, 2) . substr($seckey, 32, 8) . substr($seckey, 72), "");
24
25 printf "%s\n%s\n", $comment, $pubkey;