#!/usr/bin/perl # # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the Netscape security libraries. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1994-2000 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the # terms of the GNU General Public License Version 2 or later (the # "GPL"), in which case the provisions of the GPL are applicable # instead of those above. If you wish to allow use of your # version of this file only under the terms of the GPL and not to # allow others to use your version of this file under the MPL, # indicate your decision by deleting the provisions above and # replace them with the notice and other provisions required by # the GPL. If you do not delete the provisions above, a recipient # may use your version of this file under either the MPL or the # GPL. # @profiles = ( # "host:port" "policy" "ciphers" "exp-cipher" "expkeysize" [ "cfu:443", "export", "efijlmo", "RC4-40", "40" ], [ "hbombsgi:448", "export", "efijlmo", "RC4-40", "40" ], [ "hbombsgi:448", "domestic", "abcdefijklmo", "RC4", "128" ], [ "gandalf:5666", "domestic", "abcdefijklmo", "RC4", "128" ], [ "gandalf:5666", "export", "efijlmo", "RC4", "128" ], [ "gandalf:5666", "domestic", "j", "3DES-EDE-CBC", "168" ], [ "gandalf:5666", "domestic", "k", "DES-CBC", "56" ], [ "gandalf:5666", "export", "l", "RC4-40", "40" ], [ "gandalf:5666", "export", "efijlmo", "RC4", "128" ], [ "hbombcfu:443", "export", "efijlmo", "RC4", "128" ], ); $file = &filename; open(HTML, ">$file.htm") || die"Cannot open html output file\n"; $mutversion = ""; $platform = $ARGV[0]; print HTML " ssl/sslstrength: Version: $mutversion Platform: $platform Run date mm/dd/yy\n"; print HTML "\n"; $countpass =0; $countfail =0; $testnum =0; for $profile (@profiles) { $testnum ++; ($host, $policy, $ciphers, $expcipher, $expkeysize) = @$profile; $cmd = "./sslstrength $host policy=$policy ciphers=$ciphers"; $starttime = &datestring." ".×tring; print STDERR "$cmd\n"; open(PIPE, "$cmd|") || die "Cannot start sslstrength\n"; $cipher = ""; $keysize = ""; while () { chop; if (/^ Cipher: *(.*)/) { $cipher = $1; } if (/^ Secret Key Size: (.*)/) { $keysize = $1; } } close(PIPE); $endtime = &datestring." ".×tring; if (( $? != 0) || ($cipher ne $expcipher) || ($keysize ne $expkeysize)) { $countfail ++; $passed =0; } else { $countpass ++; $passed =1; } print HTML "\n"; } print HTML "
Test Case Number Program Description of Test Case Start date/time End date/time PASS/FAIL
$testnum $cmd $starttime $endtime ".($passed ? "PASS" : "FAIL: return code = c=$cipher, ec=$expcipher, s=$keysize, es=$expkeysize.")."
\n"; close(HTML); open (SUM, ">$file.sum") ||die "couldn't open summary file for writing\n"; print SUM <