mbed TLS Build
tests/scripts/gen_pkcs1_v21_sign_verify.pl@0:cdf462088d13, 2017-01-05 (annotated)
- Committer:
- markrad
- Date:
- Thu Jan 05 00:18:44 2017 +0000
- Revision:
- 0:cdf462088d13
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
markrad | 0:cdf462088d13 | 1 | #!/usr/bin/perl |
markrad | 0:cdf462088d13 | 2 | # |
markrad | 0:cdf462088d13 | 3 | |
markrad | 0:cdf462088d13 | 4 | use strict; |
markrad | 0:cdf462088d13 | 5 | |
markrad | 0:cdf462088d13 | 6 | my $file = shift; |
markrad | 0:cdf462088d13 | 7 | |
markrad | 0:cdf462088d13 | 8 | open(TEST_DATA, "$file") or die "Opening test cases '$file': $!"; |
markrad | 0:cdf462088d13 | 9 | |
markrad | 0:cdf462088d13 | 10 | sub get_val($$) |
markrad | 0:cdf462088d13 | 11 | { |
markrad | 0:cdf462088d13 | 12 | my $str = shift; |
markrad | 0:cdf462088d13 | 13 | my $name = shift; |
markrad | 0:cdf462088d13 | 14 | my $val = ""; |
markrad | 0:cdf462088d13 | 15 | |
markrad | 0:cdf462088d13 | 16 | while(my $line = <TEST_DATA>) |
markrad | 0:cdf462088d13 | 17 | { |
markrad | 0:cdf462088d13 | 18 | next if($line !~ /^# $str/); |
markrad | 0:cdf462088d13 | 19 | last; |
markrad | 0:cdf462088d13 | 20 | } |
markrad | 0:cdf462088d13 | 21 | |
markrad | 0:cdf462088d13 | 22 | while(my $line = <TEST_DATA>) |
markrad | 0:cdf462088d13 | 23 | { |
markrad | 0:cdf462088d13 | 24 | last if($line eq "\r\n"); |
markrad | 0:cdf462088d13 | 25 | $val .= $line; |
markrad | 0:cdf462088d13 | 26 | } |
markrad | 0:cdf462088d13 | 27 | |
markrad | 0:cdf462088d13 | 28 | $val =~ s/[ \r\n]//g; |
markrad | 0:cdf462088d13 | 29 | |
markrad | 0:cdf462088d13 | 30 | return $val; |
markrad | 0:cdf462088d13 | 31 | } |
markrad | 0:cdf462088d13 | 32 | |
markrad | 0:cdf462088d13 | 33 | my $state = 0; |
markrad | 0:cdf462088d13 | 34 | my $val_n = ""; |
markrad | 0:cdf462088d13 | 35 | my $val_e = ""; |
markrad | 0:cdf462088d13 | 36 | my $val_p = ""; |
markrad | 0:cdf462088d13 | 37 | my $val_q = ""; |
markrad | 0:cdf462088d13 | 38 | my $mod = 0; |
markrad | 0:cdf462088d13 | 39 | my $cnt = 1; |
markrad | 0:cdf462088d13 | 40 | while (my $line = <TEST_DATA>) |
markrad | 0:cdf462088d13 | 41 | { |
markrad | 0:cdf462088d13 | 42 | next if ($line !~ /^# Example/); |
markrad | 0:cdf462088d13 | 43 | |
markrad | 0:cdf462088d13 | 44 | ( $mod ) = ($line =~ /A (\d+)/); |
markrad | 0:cdf462088d13 | 45 | $val_n = get_val("RSA modulus n", "N"); |
markrad | 0:cdf462088d13 | 46 | $val_e = get_val("RSA public exponent e", "E"); |
markrad | 0:cdf462088d13 | 47 | $val_p = get_val("Prime p", "P"); |
markrad | 0:cdf462088d13 | 48 | $val_q = get_val("Prime q", "Q"); |
markrad | 0:cdf462088d13 | 49 | |
markrad | 0:cdf462088d13 | 50 | for(my $i = 1; $i <= 6; $i++) |
markrad | 0:cdf462088d13 | 51 | { |
markrad | 0:cdf462088d13 | 52 | my $val_m = get_val("Message to be", "M"); |
markrad | 0:cdf462088d13 | 53 | my $val_salt = get_val("Salt", "Salt"); |
markrad | 0:cdf462088d13 | 54 | my $val_sig = get_val("Signature", "Sig"); |
markrad | 0:cdf462088d13 | 55 | |
markrad | 0:cdf462088d13 | 56 | print("RSASSA-PSS Signature Example ${cnt}_${i}\n"); |
markrad | 0:cdf462088d13 | 57 | print("pkcs1_rsassa_pss_sign:$mod:16:\"$val_p\":16:\"$val_q\":16:\"$val_n\":16:\"$val_e\":SIG_RSA_SHA1:MBEDTLS_MD_SHA1"); |
markrad | 0:cdf462088d13 | 58 | print(":\"$val_m\""); |
markrad | 0:cdf462088d13 | 59 | print(":\"$val_salt\""); |
markrad | 0:cdf462088d13 | 60 | print(":\"$val_sig\":0"); |
markrad | 0:cdf462088d13 | 61 | print("\n\n"); |
markrad | 0:cdf462088d13 | 62 | |
markrad | 0:cdf462088d13 | 63 | print("RSASSA-PSS Signature Example ${cnt}_${i} (verify)\n"); |
markrad | 0:cdf462088d13 | 64 | print("pkcs1_rsassa_pss_verify:$mod:16:\"$val_n\":16:\"$val_e\":SIG_RSA_SHA1:MBEDTLS_MD_SHA1"); |
markrad | 0:cdf462088d13 | 65 | print(":\"$val_m\""); |
markrad | 0:cdf462088d13 | 66 | print(":\"$val_salt\""); |
markrad | 0:cdf462088d13 | 67 | print(":\"$val_sig\":0"); |
markrad | 0:cdf462088d13 | 68 | print("\n\n"); |
markrad | 0:cdf462088d13 | 69 | } |
markrad | 0:cdf462088d13 | 70 | $cnt++; |
markrad | 0:cdf462088d13 | 71 | } |
markrad | 0:cdf462088d13 | 72 | close(TEST_DATA); |