⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewcert

📁 Perl写的CA认证程序
💻
字号:
## OpenCA - RA Server Command## (c) 1998-2001 by Massimiliano Pala and OpenCA Group####   File Name: viewCert##       Brief: Display a certificate## Description: Display a certificate's data##  Parameters: dataType, keyif ( $cmd !~ /viewCert/i ) {        configError( "Wrong Command Usage ($cmd/viewCert)!" );        exit 1;}##Reseved Variablesmy ( @cols, $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 );configError("Error, unable to get cert from dB!") if( not $cert );configError("Error, unable load $sheet!") if( $page eq "" );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</FONT>";	}} elsif ( $tmpStatus =~ /revoked/gi ) {	$tmpStatus .= " on " . $parsedCert->{HEADER}->{REVOKED};} elsif ( $tmpStatus =~ /^Expired/i ) {	if ( $tools->isInsidePeriod ( DATE=>"$date",				START=>$parsedCert->{NOT_BEFORE},				END=>$parsedCert->{NOT_AFTER} )) {		$tmpStatus = "<FONT COLOR=\"RED\">Not Expired</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 + -