?? confirmreq
字號:
## OpenCA - RA Server Command## (c) 1998-2001 by Massimiliano Pala and OpenCA Group#### File Name: confirmReq## Brief: confirm Request## Description: Adds a confirmed request into the APPROVED_REQUEST dB## Parameters: key, dataType, text, signatureif ( $cmd !~ /confirmReq/i ) { configError( "Wrong Command Usage ($cmd/importReqs)!" ); exit 1;}## Get the parametersmy $key = $query->param( 'key' );my $dataType = $query->param( 'dataType' );my $text = $query->param( 'text' );my $head = $query->param( 'head' );my $signature = $query->param( 'signature' );my $inform = "PEM";## Get Conf Parametersmy $tempDir = getRequired('tempDir');my ( $req, $item, $sig, $sigStatus, $signer );$text = "$head" . "$text\n";$text .= "-----BEGIN PKCS7-----\n";$text .= "$signature\n";$text .= "-----END PKCS7-----\n";if( not $req = $db->getItem( DATATYPE=>$dataType, KEY=>$key) ) { generalError("Cannot find $dataType REQ in DB!");}if( $req->getParsed()->{HEADER}->{TYPE} =~ /(PKCS#10|IE)/i ) { $inform = "PEM";} else { $inform = $req->getParsed()->{HEADER}->{TYPE};}if( not $item = new OpenCA::REQ ( SHELL=>$cryptoShell, INFORM=>$inform, DATA=>$text )) { generalError( "Cannot create a new REQ object ($key)!" );}$signer = libGetSignatureObject( OBJECT=>$item );if ( not $signer ) { $sigStatus = "<FONT COLOR=\"Red\">Error $errno</FONT><br><br>$errval";} else { my $sigCert = new OpenCA::X509 ( SHELL => $cryptoShell, DATA => $signer->getSigner()->{CERTIFICATE}); $item->getParsed()->{HEADER}->{OPERATOR} = $sigCert->getParsed()->{SERIAL}; $item->getParsed()->{HEADER}->{OPERATOR_DN} = $sigCert->getParsed()->{DN}; if( libCheckSignature( OBJECT=>$item ) ) { $sigStatus = "Valid"; } else { $sigStatus = "<FONT COLOR=Red>Error $errno</FONT><BR>". "<BR>$errval"; }}if ( not $db->deleteItem( DATATYPE=>$dataType, KEY=>$key ) ) { configError( "Error while deleting REQ ($key)!"); exit 1;}## Store new Item into the APPROVED_REQUEST db$key = $db->storeItem( DATATYPE=>"APPROVED_REQUEST", OBJECT=>$item );if ( not $key ) { configError ( "Error while adding REQ to DB ($ser)!"); exit 1;}## Send Success Pagesuccess( "Request Approved", "Certificate Request Successfully approved and archivied.<br><br>\n" . "<font size=-1 color=\"#006699\">signature: $sigStatus</font>");1;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -