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

📄 listreqs

📁 Perl写的CA认证程序
💻
字号:
## OpenCA - RA Server Command## (c) 1998-2001 by Massimiliano Pala and OpenCA Group####   File Name: listReqs##       Brief: Build Requests' Listing## Description: Build Requests' Listing given correct dataType##  Parameters: viewFrom, dataType, raif ( $cmd !~ /listReqs/i ) {        configError( "Wrong Command Usage ($cmd/listReqs)!" );        exit 1;}my $from     = $query->param( 'viewFrom' );my $dataType = $query->param( 'dataType' );my ( $dateColTitle, $rows, @cols, @list );## Differentiate the list parametersif(  $dataType eq "PENDING_REQUEST" ) {	$doc = 'pendingrequestsheet';	@cols = ( "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "RENEW_REQUEST" ) {	$doc = 'renewrequestsheet';	@cols = ( "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq "REVOKE_REQUEST" ) {	$doc = 'revokerequestsheet';	@cols = ( "Serial", "Submit Name", "Submitted On" );} elsif( $dataType eq  "APPROVED_REQUEST" ) {	$doc = 'approvedrequestsheet';	@cols = ( "Op.", "Serial", "Submit Name", "Approved On" );} elsif ( $dataType eq "DELETED_REQUEST" ) {	$doc = 'deletedrequestsheet';	@cols = ( "Op.", "Serial", "Submit Name", "Deleted On" );} elsif ( $dataType eq "ARCHIVIED_REQUEST" ) {	$doc = 'archiviedrequestsheet';	@cols = ( "Op.", "Serial", "Submit Name", "Archivied On" );} elsif ( $dataType eq "PENDING_CRR" ) {	$doc = 'pendingcrrrequestsheet';	@cols = ( "Serial", "Submit Name", "Submitted On" );} elsif ( $dataType eq "APPROVED_CRR" ) {	$doc = 'approvedcrrrequestsheet';	@cols = ( "Op.", "Serial", "Submit Name", "Approved On" );} elsif ( $dataType eq "ARCHIVIED_CRR" ) {	$doc = 'archiviedcrrrequestsheet';	@cols = ( "Op.", "Serial", "Submit Name", "Archivied On" );} elsif ( $dataType eq "DELETED_CRR" ) {	$doc = 'deletedcrrrequestsheet';	@cols = ( "Op.", "Serial", "Submit Name", "Deleted On" );} else {	configError("Requested List NOT available");}## Get required parameters ( return only the value string )my $sheet    = getRequired( $doc );my $maxItems = getRequired( "maxReturnedItems");my $elements = $db->elements( DATATYPE=>$dataType );## Get the base Page ( got in $page variable )my $page   = $query->getFile( "$sheet" );my $uptime = $tools->getDate();my $ra     = ( $query->param('ra') or "All" ); configError ( "Error loading Page $sheet" ) if ( not $page);## Set the column titlesif( (not $ra) or ($ra =~ /All/i) ) {	$rows = $elements;       	@list = $db->searchItems( DATATYPE=>$dataType, 	 		ITEMS=>$maxItems, FROM=>$from );} else {	$rows = $db->rows(DATATYPE=>$dataType, RA=>$query->param('ra'));       	@list = $db->searchItems( DATATYPE=>$dataType, 		ITEMS=>$maxItems, FROM=>$from, RA=>$query->param('ra'));}$table  = $query->buildRefs( ELEMENTS=>$rows, MAXITEMS=>$maxItems );$table .= $query->startTable( COLS=>[ @cols ],				WIDTH=>"100%",				TITLE_BGCOLOR=>"#DDCCFF" );## Process all Filesforeach $req ( @list ) {	my ( $head, $parsed, $format, $key, $ser_col, $serial, $date );	my @vals;	## We have no problem either if it is a PEM or SPKAC	## request as the REQ mod will try to recognize it.	## my $req = new OpenCA::REQ( SHELL=>$openssl,	##                         DATA=>$reqData);	next if (not $req);        if ( $dataType =~ /REQUEST/ ) {	  $parsed = $req->getParsed();	  $head   = $parsed->{HEADER};	  $key    = $parsed->{DBKEY};	  $serial = ( $parsed->{SERIAL} or $head->{SERIAL} );	  $date   =  ( $parsed->{NOTBEFORE} or $head->{NOTBEFORE} or "---" );	  if( not $serial ) {	  	$serial = "<CENTER>---</CENTER>";	  };	  $ser_col = "<a href=\"$self?cmd=viewReq&dataType=$dataType" .	  				"&key=$key\">". $serial ."</a>";	  if( $dataType =~ /APPROVED|DELETED|ARCHIVIED/ ) {	  	push( @vals,( $parsed->{OPERATOR} or $head->{OPERATOR}								or "n/a"));	  }	  push( @vals, $ser_col );	  push( @vals, ( $parsed->{CN} or "<CENTER>---</CENTER>" ) );	  if( $dataType =~ /DELETED|APPROVED|ARCHIVIED/i ) {		push( @vals, (  $head->{DELETED} or $head->{APPROVED} or								"n/a"));	  } else {		push( @vals, ( $date or "<CENTER>---</CENTER>") );	  }        } else {          ## CRR          print "juche\n";	  $parsed = $req->getParsed ();	  $head   = $parsed->{HEADER};	  $key    = $parsed->{DBKEY};	  $serial = $parsed->{CERTIFICATE_SERIAL};	  $date   =  ( $head->{SUBMIT_DATE} or "---" );	  if( not $serial ) {	  	$serial = "<CENTER>---</CENTER>";	  };          if ( $dataType =~ /PENDING/ ) {            $ser_col = "<a href=\"$self?cmd=show_ask4rev&dataType=$dataType" .	  				"&key=$key\">". $serial ."</a>";          } else {            $ser_col = "<a href=\"$self?cmd=viewReq&dataType=$dataType" .	  				"&key=$key\">". $serial ."</a>";          }	  if( $dataType =~ /APPROVED|DELETED|ARCHIVIED/ ) {	  	push( @vals,($head->{OPERATOR} or "n/a"));	  }	  push( @vals, $ser_col );	  push( @vals, ( $parsed->{CERTIFICATE_DN} or "<CENTER>---</CENTER>" ) );	  if( $dataType =~ /DELETED|APPROVED|ARCHIVIED/i ) {		push( @vals, (  $head->{DELETED} or $head->{APPROVED} or								"n/a"));	  } else {		push( @vals, ( $date or "<CENTER>---</CENTER>") );          }        }	$table .= $query->addTableLine( DATA =>[ @vals ]);}## Close the Table$table .= $query->endTable();$table .= getCopyRight();## Substitute the Variables in the $page$page = $query->subVar( $page, '$uptime', $uptime );$page = $query->subVar( $page, '$table', $table );print "$page";1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -