bug 1237: Properly parse Message Digest from database
authorBenny Baumann <BenBE@geshi.org>
Wed, 8 Jan 2014 00:55:59 +0000 (01:55 +0100)
committerBenny Baumann <BenBE@geshi.org>
Wed, 8 Jan 2014 00:55:59 +0000 (01:55 +0100)
CommModule/client.pl

index bf92b27..c71102c 100755 (executable)
@@ -834,8 +834,15 @@ sub HandleCerts($$)
 
       my $days=$org?($server?(365*2):365):calculateDays($row{"memid"});
 
-
-      $crt=Request($ver,1,1,$row{'rootcert'}-1,$profile,$row{'md'}eq"sha1"?2:0,$days,$row{'keytype'}eq"NS"?1:0,$content,$SAN,$subject);
+      $md_id = 0;
+      $md_id = 1 if( $raw{'md'} eq "md5");
+      $md_id = 2 if( $raw{'md'} eq "sha1");
+      $md_id = 3 if( $raw{'md'} eq "rmd160");
+      $md_id = 8 if( $raw{'md'} eq "sha256");
+      $md_id = 9 if( $raw{'md'} eq "sha384");
+      $md_id =10 if( $raw{'md'} eq "sha512");
+
+      $crt=Request($ver,1,1,$row{'rootcert'}-1,$profile,$md_id,$days,$row{'keytype'}eq"NS"?1:0,$content,$SAN,$subject);
       if(length($crt))
       {
         if($crt=~m/^-----BEGIN CERTIFICATE-----/)