📄 viewcert
字号:
## OpenCA - CA Command## (c) 1998-2001 by Massimiliano Pala and OpenCA Group#### File Name: viewCert## Brief: View Certificate## Description: View Selected Certificate## Parameters: dataType, keymy $cmdName = "viewCert";if ( $cmd !~ /$cmdName/i ) { configError( "Wrong Command Usage ($cmd over $cmdName)!" ); exit 1;}##Reseved Variablesmy $doc, $date, $sheet, $myType;## Get the Serial Numbermy $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 ( $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 Paramif( $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!");}configError("Error, unable load $sheet!") if( $page eq "" );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/\,\s*/<BR>\n/g;$tmpDN =~ s/\,\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->{HEADER}->{REVOKED}; if ( $parsedCert->{HEADER}->{REVCODE} ) { $tmpStatus .= "<BR>\n" . $parsedCert->{HEADER}->{REVREASON} . " (" . $parsedCert->{HEADER}->{REVCODE} . ")"; }} 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";1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -