25.2. Output

Without using the verbose option (-v), revoker returns an exit code of 0, without any additional output the standard I/O.
With the -v option, the command shows the GET request sent to the CA agent interface and then the results (in an HTML page) that is returned.
# revoker -d . -s 0x17 -n "CA Administrator of Instance pki-ca Example Domain" -p secret -v -r 6 -i 1 server.example.com:9443


GET /ca/doRevoke?op=doRevoke&revocationReason=6&invalidityDate=1299187797000&revokeAll=(|(certRecordId%3D0x17))&totalRecordCount=1 HTTP/1.0
port: 9443
addr='server.example.com'
family='2'
Subject: CN=server.example.com,OU=pki-ca,O=Example Domain
Issuer : CN=Certificate Authority,OU=pki-ca,O=Example Domain
-- SSL3: Server Certificate Validated.
Called mygetclientauthdata - nickname = CA Administrator of Instance pki-ca Example Domain ID
   mygetclientauthdata - cert = 8da87b8
   mygetclientauthdata - privkey = 8de65a8
PR_Write wrote 143 bytes from bigBuf
bytes: [GET /ca/doRevoke?op=doRevoke&revocationReason=6&invalidityDate=1299187797000&revokeAll=(|(certRecordId%3D0x17))&totalRecordCount=1 HTTP/1.0

]
do_writes shutting down send socket
do_writes exiting with (failure = 0)
bulk cipher RC4, 128 secret key bits, 128 key bits, status: 1
connection 1 read 9000 bytes (9000 total).
these bytes read:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html
Date: Thu, 03 Mar 2011 22:29:58 GMT
Connection: close

<!-- --- BEGIN COPYRIGHT BLOCK ---
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; version 2 of the License.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.

     You should have received a copy of the GNU General Public License along
     with this program; if not, write to the Free Software Foundation, Inc.,
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

     Copyright (C) 2007 Red Hat, Inc.
     All rights reserved.
     --- END COPYRIGHT BLOCK --- -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Revocation Result</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<SCRIPT LANGUAGE="JavaScript">
var header = new Object();
var fixed = new Object();
var recordSet = new Array;
var result = new Object();
var httpParamsCount = 0;
var httpHeadersCount = 0;
var authTokenCount = 0;
var serverAttrsCount = 0;
header.HTTP_PARAMS = new Array;
header.HTTP_HEADERS = new Array;
header.AUTH_TOKEN = new Array;
header.SERVER_ATTRS = new Array;
header.dirEnabled = "no";
header.error = null;
header.revoked = "yes";
header.totalRecordCount = 1;
var recordCount = 0;
var record;
record = new Object;
record.HTTP_PARAMS = new Array;
record.HTTP_HEADERS = new Array;
record.AUTH_TOKEN = new Array;
record.SERVER_ATTRS = new Array;
record.error=null;
record.serialNumber="17";
recordSet[recordCount++] = record;
record.recordSet = recordSet;
result.header = header;
result.fixed = fixed;
result.recordSet = recordSet;
</SCRIPT>

<BODY bgcolor="white">
<SCRIPT type="text/javascript">
//<!--
function toHex1(number)
{
    var absValue = "", sign = "";
    var digits = "0123456789abcdef";
    if (number < 0) {
        sign = "-";
        number = -number;
    }
    
    for(; number >= 16 ; number = Math.floor(number/16)) {
        absValue = digits.charAt(number % 16) + absValue;
    }
    absValue = digits.charAt(number % 16) + absValue;
    return sign + '0x' + absValue;
}

function toHex(number)
{
    return '0x' + number;
}

if (result.header.revoked == 'yes') {
    document.write('<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
    document.writeln('Certificate Revocation Has Been Completed</font><br><br>');
    if (result.recordSet.length == 0 && result.header.totalRecordCount > 0) {
        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
        document.write('All requested certificates were already revoked.');
        document.writeln('</font><br>');
    } else if (result.recordSet.length == 1) {
        if (result.recordSet[0].error == null) {
  	        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
            document.writeln('Certificate with serial number <b>' +
                             toHex(result.recordSet[0].serialNumber) +
                             '</b> has been revoked.');
            document.writeln('</font><br>');

            document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
            if (result.header.updateCRL && result.header.updateCRL == "yes") {
                if (result.header.updateCRLSuccess != null &&
                    result.header.updateCRLSuccess == "yes") {
                    document.writeln('The Certificate Revocation List has been successfully updated.');
                } else {
                    document.writeln('The Certificate Revocation List update Failed');
                    if (result.header.updateCRLSuccess != null)
                        document.writeln(' with error '+ result.header.updateCRLError);
                    else
                        document.writeln('. No further details provided.');
                }
            } else {
                document.writeln(
                    'The Certificate Revocation List will be updated '+
                    'automatically at the next scheduled update.');
            }
            document.writeln('</font><br>');
/*
            if (result.header.dirEnabled != null && result.header.dirEnabled == 'yes') {
       	        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
                if (result.header.certsUpdated > 0) {
                    document.write('Directory has been successfully updated.');
                } else {
                    document.write('Directory has not been updated.  See log files for more details.');
                }
                document.writeln('</font><br>');
            }
*/
        } else {
  	        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
            document.writeln('Certificate with serial number <b>' +
                             toHex(result.recordSet[0].serialNumber) +
                             '</b> is not revoked.<br><br>');
            document.writeln('Additional Information:');
            document.writeln('</font>');
            document.writeln('<blockquote>');
  	        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
            document.writeln(result.recordSet[0].error);
            document.writeln('</font>');
            document.writeln('</blockquote>');
        }
    } else if (result.recordSet.length > 1) {
        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
        document.write('The following certificates were processed to complete revocation request:');
        document.writeln('</font>');

        document.writeln('<blockquote>');
        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
        var revokedCerts = 0;
        for(var i = 0; i < result.recordSet.length; i++) {
            if (result.recordSet[i].error == null) {
                revokedCerts++;
                document.writeln(toHex(result.recordSet[i].serialNumber) + ' - revoked<BR>\n');
            } else {
                document.write(toHex(result.recordSet[i].serialNumber) + ' - failed');
                if (result.recordSet[i].error != null)
                    document.write(': ' + result.recordSet[i].error);
                document.writeln('<BR>\n');
            }
        }
        document.writeln('</font>');
        document.write('</blockquote>');

        if (revokedCerts > 0 && result.header.dirEnabled != null && result.header.dirEnabled == 'yes') {
       	    document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
            if (result.header.updateCRL && result.header.updateCRL == "yes") {
                if (result.header.updateCRLSuccess != null &&
                    result.header.updateCRLSuccess == "yes") {
                    document.writeln('The Certificate Revocation List has been successfully updated.');
                } else {
                    document.writeln('The Certificate Revocation List update Failed');
                    if (result.header.updateCRLSuccess != null)
                        document.writeln(' with error '+
                                         result.header.updateCRLError);
                    else
                        document.writeln('. No further details provided.');
                }
            } else {
                document.writeln(
                    'The Certificate Revocation List will be updated '+
                    'automatically at the next scheduled update.');
            }
            document.writeln('<br>');
/*
            if (result.header.certsUpdated > 0) {
                if (result.header.certsUpdated == result.header.certsToUpdate) {
                    document.write('Directory has been successfully updated.');
                } else {
                    document.write('Directory has been partially updated.  See log files for more details.');
                }
            } else {
                document.write('Directory has not been updated.  See log files for more details.');
            }
*/
            document.writeln('</font><br>');
        }
    }
} else if (result.header.revoked == 'pending') {
    document.write('<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
	document.writeln('Revocation Request Has Been Submitted</font><br><br>');
} else if (result.header.revoked == 'rejected') {
    document.write('<font size="+1" face="PrimaSans
connection 1 read 1249 bytes (10249 total).
these bytes read:
 BT, Verdana, Arial, Helvetica, sans-serif">');
    document.writeln('Certificate Revocation Has Been Rejected</font><br><br>');
    if (result.header.error != null) {
        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">Additional information:</font>');
        document.writeln('<blockquote>');
	    document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
        document.writeln(result.header.error);
        document.writeln('</font>');
        document.writeln('</blockquote>');
    }
} else {
    document.write('<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
	document.writeln('Revocation Request Cannot Be Completed</font><br><br>');
    if (result.header.error != null) {
        document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">Additional information:</font>');
        document.writeln('<blockquote>');
	    document.writeln('<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">');
        document.writeln(result.header.error);
        document.writeln('</font>');
        document.writeln('</blockquote>');
    }
}
//-->
</SCRIPT>
</BODY>
</HTML>

connection 1 read 10249 bytes total. -----------------------------