signedForm.pl
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:3k
源码类别:

CA认证

开发平台:

WINDOWS

  1. #! /usr/bin/perl
  2. # The contents of this file are subject to the Mozilla Public
  3. # License Version 1.1 (the "License"); you may not use this file
  4. # except in compliance with the License. You may obtain a copy of
  5. # the License at http://www.mozilla.org/MPL/
  6. # Software distributed under the License is distributed on an "AS
  7. # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  8. # implied. See the License for the specific language governing
  9. # rights and limitations under the License.
  10. # The Original Code is the Netscape security libraries.
  11. # The Initial Developer of the Original Code is Netscape
  12. # Communications Corporation.  Portions created by Netscape are 
  13. # Copyright (C) 1994-2000 Netscape Communications Corporation.  All
  14. # Rights Reserved.
  15. # Contributor(s):
  16. # Alternatively, the contents of this file may be used under the
  17. # terms of the GNU General Public License Version 2 or later (the
  18. # "GPL"), in which case the provisions of the GPL are applicable 
  19. # instead of those above.  If you wish to allow use of your 
  20. # version of this file only under the terms of the GPL and not to
  21. # allow others to use your version of this file under the MPL,
  22. # indicate your decision by deleting the provisions above and
  23. # replace them with the notice and other provisions required by
  24. # the GPL.  If you do not delete the provisions above, a recipient
  25. # may use your version of this file under either the MPL or the
  26. # GPL.
  27. #
  28. sub decode {
  29.     read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
  30.     @pairs = split(/&/, $buffer);
  31.     foreach $pair (@pairs)
  32.     {
  33.         ($name, $value) = split(/=/, $pair);
  34.         $value =~tr/+/ /;
  35.         $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  36.         $FORM{$name} = $value;
  37. #        print "name=$name  value=$value<BR>n";
  38.     }
  39. }
  40. print "Content-type: text/htmlnn";
  41. &decode();
  42. $dataSignature = $FORM{'dataSignature'};
  43. $dataToSign = $FORM{'dataToSign'};
  44. unlink("signature");
  45. open(FILE1,">signature") || die("Cannot open file for writingn");
  46. print FILE1 "$dataSignature";
  47. close(FILE1);
  48. unlink("data");
  49. open(FILE2,">data") || die("Cannot open file for writingn");
  50. print FILE2 "$dataToSign";
  51. close(FILE2);
  52. print "<BR><B>Signed Data:</B><BR>", "$dataToSign", "<BR>";
  53.  
  54. print "<BR><b>Verification Info:</b><BR>";
  55.  
  56. $verInfo = `./signver -D . -s signature -d data -v`;
  57. print "<font color=red><b>$verInfo</b></font><BR>";
  58. print "<BR><B>Signature Data:</B><BR>", "$dataSignature", "<BR>";
  59. print "<BR><b>Signature Info:</b><BR>";
  60. foreach $line (`./signver -s signature -A`) {
  61.      print "$line<BR>n";
  62. }
  63. print "<b>End of Info</b><BR>";