📄 searchcert
字号:
## OpenCA - RA Server Command## (c) 1998-2001 by Massimiliano Pala and OpenCA Group#### File Name: searchCert## Brief: ## Description: ## Parameters: if ( $cmd !~ /searchCert/i ) { configError( "Wrong Command Usage ($cmd/searchCert)!" ); exit 1;}if( $cmd =~ /^searchCert/i ) { ##Reseved Variables my $doc, $date, $sheet; ## Get the Serial Number my $key = $query->param( 'key' ); my $dataType = $query->param( 'dataType' ); my @certDataTypes = ( VALID_CERTIFICATE, EXPIRED_CERTIFICATE, REVOKED_CERTIFICATE ); if( (not $key) or ( not $dataType ) ) { configError( "Error, missing key and/or dataType params!" ); } foreach $myType ( @certDataTypes ) { next if( $myType !~ /$dataType/ ); if( $db->getItem( DATATYPE=>$myType,KEY=>$key )) { $dataType = $myType; } }}if( $cmd =~ /^(viewCert|searchCert)/i ) { ##Reseved Variables my $doc, $date, $sheet, $myType; ## Get the Serial Number my $key = $query->param( 'key' ); my $dataType = $query->param( 'dataType' ); my $date = $tools->getDate(); my @certDataTypes = ( VALID_CERTIFICATE, EXPIRED_CERTIFICATE, REVOKED_CERTIFICATE ); if( (not $key) or ( not $dataType ) ) { configError( "Error, missing key and/or dataType params!" ); } if( $cmd =~ /^searchCert/ ) { foreach $myType ( @certDataTypes ) { next if( $myType !~ /$dataType/ ); if( $db->getItem( DATATYPE=>$myType,KEY=>$key )) { $dataType = $myType; } } } if ( $dataType =~ /^VALID_CERTIFICATE/ ) { $status = "Valid"; } elsif ( $dataType =~ /^EXPIRED_CERTIFICATE/ ) { $status = "Expired"; } elsif ( $dataType =~ /^REVOKED_CERTIFICATE/ ) { $status = "Revoked"; } elsif ( $dataType =~ /^VALID_CA_CERTIFICATE/ ) { $status = "Valid"; } elsif ( $dataType =~ /^EXPIRED_CA_CERTIFICATE/ ) { $status = "Expired"; } else { configError( "DataType not supported ($dataType)!"); } ## Get Required Param if( $dataType =~ /VALID_CERTIFICATE/ ) { $sheet = getRequired( 'ValidCertSheet' ); } else { $sheet = getRequired( 'ViewCertSheet' ); } my $page = $query->getFile ( "$sheet" ); my $cert = $db->getItem( DATATYPE=>$dataType, KEY=>$key ); if( not $cert ) { configError("Error, unable to get cert from dB!"); } if( $page eq "" ) { configError("Error, unable load $sheet!"); } my @cols; push( @cols, "Variable" ); push( @cols, "Value" ); $certTable .= $query->startTable( COLS=>[ @cols ], WIDTH=>"100%", BGCOLOR=>"#EEEEF1", TITLE_BGCOLOR=>"#DDCCFF" ); my $parsedCert = $cert->getParsed(); my $tmpIssuer = $parsedCert->{ISSUER}; my $tmpDN = $parsedCert->{DN}; my $tmpStatus = $status; $tmpIssuer =~ s/\//<BR>\n/g; $tmpDN =~ s/\//<BR>\n/g; $date = $tools->getDate(); if ( $tmpStatus =~ /^Valid/i ) { if ( not $tools->isInsidePeriod ( DATE=>"$date", START=>$parsedCert->{NOT_BEFORE}, END=>$parsedCert->{NOT_AFTER} )) { $tmpStatus = "<FONT COLOR=\"RED\">" . "Expired (dB needs updating)" . "</FONT>"; } } elsif ( $tmpStatus =~ /revoked/gi ) { $tmpStatus .= " on " . $parsedCert->{REVOKED_DATE}; } elsif ( $tmpStatus =~ /^Expired/i ) { if ( $tools->isInsidePeriod ( DATE=>"$date", START=>$parsedCert->{NOT_BEFORE}, END=>$parsedCert->{NOT_AFTER} )) { $tmpStatus = "<FONT COLOR=\"RED\">" . "Not Expired (dB needs updating)" . "</FONT>"; } }; $certTable .=$query->addTableLine(DATA=>["<B>Certificate Version:</B>", ($parsedCert->{VERSION} or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>Serial Number:</B>", ($parsedCert->{SERIAL} or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>Common Name:</B>", ($parsedCert->{CN} or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>E-Mail:</B>", ($parsedCert->{EMAIL} or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>Distinguished Name:</B>", ($tmpDN or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>Issued by:</B>", ($tmpIssuer or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>Valid From:</B>", ($parsedCert->{NOTBEFORE} or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>Exipration on:</B>", ($parsedCert->{NOTAFTER} or "n/a") ]); $certTable .=$query->addTableLine(DATA=>[ "<B>Current Status:</B>", ($tmpStatus or "n/a") ]); $certTable .= $query->endTable(); $certTable .= getCopyRight(); $page = $query->subVar( $page, '$serial', $parsedCert->{SERIAL} ); $page = $query->subVar( $page, '$certable', $certTable ); $page = $query->subVar( $page, '$key', $key ); $page = $query->subVar( $page, '$dataType', $dataType ); print "$page"; exit;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -