16.3. 输出
当成功运行 CRMFPopClient 命令时,CA 会发送回证书请求的基本 64 编码版本,并且返回的 HTML 页面通过 CA Web 表单提交了请求。
CRMFPopClient password caUserCert test.example.com 9180 joeCRMF joeCRMF POP_SUCCESS "CN=joeCRMFarchiveTest,C=US, UID=joeCRMF" OUTPUT_CERT_REQ
Proof Of Possession Utility....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Generating Legal POP Data.....
.
Signature completed...
Generated Cert Request: ......
MIIFczCCBW8wggTVAgEBMIHygAECpUswSTEaMBgGCgmSJomT8ixkAQETCmptYWdu
ZUNSTUYxCzAJBgNVBAYTAlVTMR4wHAYDVQQDExVqbWFnbmVDUk1GYXJjaGl2ZVRl
c3SmgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJiLbrQaChfzBQLnEnehA3uj
01dA0+pBIJH5PHngjeRpXc6XyYnRpQuFriZUKW7QXewUYQbYsB13F8OwGADfS8wZ
zxfBvLqvQb7h9JtLdsHMVXbQ69/cEs/jCU5Cmr1LmFs4EAAO9Yr/CJjp2hscY82e
KdyGEB6pWuXuBprc8IRJAgMBAAEwggPZMIIDswYJKwYBBQUHBQEEoIIDpDCCA6Ch
FAYIKoZIhvcNAwcECAEBAQEBAQEBgoIBAQBwc6w+H6qZKqQSzQZAOlBc97Uowcjf
YH/vqGsSiN7bkFzx9kEWBZ6hlxP8gY/2JxJQsD0lxsykXcdlC6pW3GwGnBI7obM7
eKeNwL0Mi22ANXdkP7I6KFPFlMNg5v0bynCKOYr2n+ZRQEXnGdLHWnG+vh2GGpDH
1ocXV46dFqeCnSpVEXS/PCcS4I65hByRFMU8lB5vPPBnNJxJt4jY6FU209Y+mrEd
8J2dmtqYLo7y4BhzbBfPn08O1QFJXWGi6ZUbIirZInv4Fg+us1gdIM1wVJSr4rNu
oZx6+JT40ZJ7i0k63T/jMvW77oQesFG21MCOvxrYZJTgTXZ9+sqlKZ/zA4ICgQB6
Dm/JGjAOKdPdpKW1zYs6hpJsjQsLTM5Mz1ONFn7DLe9RDuXdpWOpyjBcqyNqC47Y
CQkRPMW4kj/7XgR4ImycEZZD8OtJF3MqTP7JQGmEXHdsiLRRQy0w/tm0IyI7rJ5p
F34hualY0xtbO+GfaKuUB2GH59Zy11oRug1Okm1UQb/HYuCTL0gh6wH4TXk/g6sx
WVv4cegqsdaZpqAG9+BqvLw9t5R+8dsCCpUTVRg7llEL9HxSAUF2lon9QEEvQJAD
IvofSSXBBf2w+/Qp1x60ZJl7+0vb9P3gEyR3c+BIbIkkdAbfM5knGe2LTnCPcrDb
dY1OV8sgFGxGxcqW2+edJd/yRmsWp/6Dh3HHkd234bUvu+6r5GY7ebueOQIr1HsN
Zwc9XSGLmaShrBTgLyHwq2G3qx7riCCZz6KpSui8YDuQQZE93BoNcuBzvgI/4rIb
uBJfqGYb2t8mSb8Ss+jumbHbZByaVPYp4D9l0Jg3UVbccb19QRIz3G75QotKmDqY
YT7UVbVduLddWN8YvXtoEYcOEfesrdnkEqiHmsALWM0/4U0vWk1Uw7t59O6QMomJ
I8lPc0lZzl1cYaAuuF5SJv/bb/+9S1GqItuult5+bi5t5vN4OE02BfHrpZQHkCbn
ezsIwhDnITwYZSxjMzAeZkBzghTRcNrPwXnvx3crNW2tyZo68FoqOlXAYf/uNBdY
lEBdsvgNPzlRwR63u7pqWA9sJc15X/IwPZ8xj49UwB/cCoSt8PGFADPaAWkSMaT2
rv5+LRkcR56Ol3aMjE9OQEN3kRH75oEGyL5jMkkMa58QGtQgs9WnIhwin0TgWYA2
99wD38RcHVogyQ6Nl4y/MCAGCCsGAQUFBwcXBBTmaclfLv+kkK5z5kTMP54dlnec
UKGBkzANBgkqhkiG9w0BAQQFAAOBgQAqY9mrSqcjPSP9M8p8/TVWdlXn982styAT
DEdau50jksjO/LHPheeFUIaf4+SamE5SUMcEJH9R2p9dqZN8JpvgCYn+h8rjKnIM
5mKstkjtOj42mwizvphkaxIMZdrTSbfC0QjCmkjP2yI3F5QbOoowZ9REH4BMLqRU
sLTu2xgVrw==
End Request:
Server Response.....
--------------------
<!-- --- 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>
<script type="text/javascript">
errorReason="Request Deferred - defer request";
requestListSet = new Array;
requestList = new Object;
requestList.requestId="284";
requestListSet[0] = requestList;
errorCode="2";
</script>
<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
Certificate Profile
</font><br>
<Font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
<p>
</font>
<table border="0" cellspacing="0" cellpadding="0"
background="/ca/ee/graphics/hr.gif"
width="100%">
<tr>
<td> </td>
</tr>
</table>
<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
<script language=javascript>
var autoImport = 'false';
if (errorCode == 0) { // processed
document.write('Congratulations, your request has been processed successfully
');
document.writeln('<P>');
for (var i = 0; i < requestListSet.length; i++) {
document.write('Your request ID is ');
document.write('<B>'+requestListSet[i].requestId+'</B>.');
document.writeln('<P>');
}
document.writeln('<b>');
document.writeln('Outputs');
document.writeln('</b>');
document.writeln('<P>');
document.writeln('<table width=100%>');
for (var i = 0; i < outputListSet.length; i++) {
document.writeln('<tr valign=top>');
document.writeln('<td>');
document.writeln('<FONT size="-1" face="PrimaSans BT, Verdana,
sans-serif">'
);
document.writeln('<li>');
document.writeln(outputListSet[i].outputName);
document.writeln('</FONT>');
document.writeln('</td>');
document.writeln('<tr valign=top>');
document.writeln('</tr>');
document.writeln('<td>');
if (outputListSet[i].outputSyntax == 'string') {
document.writeln(outputListSet[i].outputVal);
} else if (outputListSet[i].outputSyntax == 'pretty_print') {
document.writeln('<pre>');
document.writeln(outputListSet[i].outputVal);
document.writeln('</pre>');
}
document.writeln('</td>');
document.writeln('</tr>');
}
document.writeln('</table>');
document.writeln('<p>');
document.writeln('<table width=100%>');
document.writeln('<tr valign=top>');
document.writeln('<td>');
document.writeln('<FONT size="-1" face="PrimaSans BT, Verdana,
sans-serif">'
);
document.writeln('<li>');
document.writeln('Certificate Imports');
document.writeln('</FONT>');
document.writeln('</td>');
for (var i = 0; i < requestListSet.length; i++) {
document.writeln('<tr valign=top>');
document.writeln('<td>');
if (autoImport == 'true') {
// only support one certificate import
var loc = "getCertFromRequest?requestId="+ requestListSet[i].requestId +
"&importCert=true";
document.write("<iframe width='0' height='0' src='"+loc+"' </iframe>");
} else {
document.writeln('<form method=post action="getCertFromRequest">');
if (navigator.appName == "Netscape") {
document.writeln('<input type=hidden name=importCert value=true>');
} else {
document.writeln('<input type=hidden name=importCert value=false>');
}
document.writeln('<input type=hidden name=requestId value=' +
requestListSet[i].requestId + '>');
document.writeln('<input type=submit name="Import Certificate"
value="Import Certificate">');
document.writeln('</form>');
}
document.writeln('</td>');
document.writeln('</tr>');
}
document.writeln('</table>');
} else if (errorCode == 1) { // not submitted
document.write('Sorry, your request is not submitted. The reason is "' +
errorReason + '".');
} else if (errorCode == 2) { // pending
document.write('Congratulations, your request has been successfully ');
document.write('submitted. ');
document.write('Your request will be processed when an authorized agent ');
document.writeln('verifies and validates the information in your request.');
document.writeln('<P>');
for (var i = 0; i < requestListSet.length; i++) {
document.write('Your request ID is ');
document.write('<B><a href="checkRequest?requestId=');
document.write(requestListSet[i].requestId);
document.write('">'+requestListSet[i].requestId+'</a></B>.');
document.writeln('<P>');
}
document.write('Your can check on the status of your request with ');
document.write('an authorized agent or local administrator ');
document.writeln('by referring to this request ID.');
} else if (errorCode == 3) { // rejected
document.write('Sorry, your request has been rejected. The reason is "' +
errorReason + '"');
document.writeln('<P>');
for (var i = 0; i < requestListSet.length; i++) {
document.write('Your request ID is ');
document.write('<B>'+requestListSet[i].requestId+'</B>.');
document.writeln('<P>');
}
} else { // unknown state
document.write('Sorry, your request is not submitted. The error code is "' +
errorReason + '".');
}
</script>
</font>
</html>
CRMFPopClient password caUserCert test.example.com 9180 joeCRMF joeCRMF POP_SUCCESS "CN=joeCRMFarchiveTest,C=US, UID=joeCRMF" OUTPUT_CERT_REQ
Proof Of Possession Utility....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Generating Legal POP Data.....
.
Signature completed...
Generated Cert Request: ......
MIIFczCCBW8wggTVAgEBMIHygAECpUswSTEaMBgGCgmSJomT8ixkAQETCmptYWdu
ZUNSTUYxCzAJBgNVBAYTAlVTMR4wHAYDVQQDExVqbWFnbmVDUk1GYXJjaGl2ZVRl
c3SmgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJiLbrQaChfzBQLnEnehA3uj
01dA0+pBIJH5PHngjeRpXc6XyYnRpQuFriZUKW7QXewUYQbYsB13F8OwGADfS8wZ
zxfBvLqvQb7h9JtLdsHMVXbQ69/cEs/jCU5Cmr1LmFs4EAAO9Yr/CJjp2hscY82e
KdyGEB6pWuXuBprc8IRJAgMBAAEwggPZMIIDswYJKwYBBQUHBQEEoIIDpDCCA6Ch
FAYIKoZIhvcNAwcECAEBAQEBAQEBgoIBAQBwc6w+H6qZKqQSzQZAOlBc97Uowcjf
YH/vqGsSiN7bkFzx9kEWBZ6hlxP8gY/2JxJQsD0lxsykXcdlC6pW3GwGnBI7obM7
eKeNwL0Mi22ANXdkP7I6KFPFlMNg5v0bynCKOYr2n+ZRQEXnGdLHWnG+vh2GGpDH
1ocXV46dFqeCnSpVEXS/PCcS4I65hByRFMU8lB5vPPBnNJxJt4jY6FU209Y+mrEd
8J2dmtqYLo7y4BhzbBfPn08O1QFJXWGi6ZUbIirZInv4Fg+us1gdIM1wVJSr4rNu
oZx6+JT40ZJ7i0k63T/jMvW77oQesFG21MCOvxrYZJTgTXZ9+sqlKZ/zA4ICgQB6
Dm/JGjAOKdPdpKW1zYs6hpJsjQsLTM5Mz1ONFn7DLe9RDuXdpWOpyjBcqyNqC47Y
CQkRPMW4kj/7XgR4ImycEZZD8OtJF3MqTP7JQGmEXHdsiLRRQy0w/tm0IyI7rJ5p
F34hualY0xtbO+GfaKuUB2GH59Zy11oRug1Okm1UQb/HYuCTL0gh6wH4TXk/g6sx
WVv4cegqsdaZpqAG9+BqvLw9t5R+8dsCCpUTVRg7llEL9HxSAUF2lon9QEEvQJAD
IvofSSXBBf2w+/Qp1x60ZJl7+0vb9P3gEyR3c+BIbIkkdAbfM5knGe2LTnCPcrDb
dY1OV8sgFGxGxcqW2+edJd/yRmsWp/6Dh3HHkd234bUvu+6r5GY7ebueOQIr1HsN
Zwc9XSGLmaShrBTgLyHwq2G3qx7riCCZz6KpSui8YDuQQZE93BoNcuBzvgI/4rIb
uBJfqGYb2t8mSb8Ss+jumbHbZByaVPYp4D9l0Jg3UVbccb19QRIz3G75QotKmDqY
YT7UVbVduLddWN8YvXtoEYcOEfesrdnkEqiHmsALWM0/4U0vWk1Uw7t59O6QMomJ
I8lPc0lZzl1cYaAuuF5SJv/bb/+9S1GqItuult5+bi5t5vN4OE02BfHrpZQHkCbn
ezsIwhDnITwYZSxjMzAeZkBzghTRcNrPwXnvx3crNW2tyZo68FoqOlXAYf/uNBdY
lEBdsvgNPzlRwR63u7pqWA9sJc15X/IwPZ8xj49UwB/cCoSt8PGFADPaAWkSMaT2
rv5+LRkcR56Ol3aMjE9OQEN3kRH75oEGyL5jMkkMa58QGtQgs9WnIhwin0TgWYA2
99wD38RcHVogyQ6Nl4y/MCAGCCsGAQUFBwcXBBTmaclfLv+kkK5z5kTMP54dlnec
UKGBkzANBgkqhkiG9w0BAQQFAAOBgQAqY9mrSqcjPSP9M8p8/TVWdlXn982styAT
DEdau50jksjO/LHPheeFUIaf4+SamE5SUMcEJH9R2p9dqZN8JpvgCYn+h8rjKnIM
5mKstkjtOj42mwizvphkaxIMZdrTSbfC0QjCmkjP2yI3F5QbOoowZ9REH4BMLqRU
sLTu2xgVrw==
End Request:
Server Response.....
--------------------
<!-- --- 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>
<script type="text/javascript">
errorReason="Request Deferred - defer request";
requestListSet = new Array;
requestList = new Object;
requestList.requestId="284";
requestListSet[0] = requestList;
errorCode="2";
</script>
<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
Certificate Profile
</font><br>
<Font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
<p>
</font>
<table border="0" cellspacing="0" cellpadding="0"
background="/ca/ee/graphics/hr.gif"
width="100%">
<tr>
<td> </td>
</tr>
</table>
<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
<script language=javascript>
var autoImport = 'false';
if (errorCode == 0) { // processed
document.write('Congratulations, your request has been processed successfully
');
document.writeln('<P>');
for (var i = 0; i < requestListSet.length; i++) {
document.write('Your request ID is ');
document.write('<B>'+requestListSet[i].requestId+'</B>.');
document.writeln('<P>');
}
document.writeln('<b>');
document.writeln('Outputs');
document.writeln('</b>');
document.writeln('<P>');
document.writeln('<table width=100%>');
for (var i = 0; i < outputListSet.length; i++) {
document.writeln('<tr valign=top>');
document.writeln('<td>');
document.writeln('<FONT size="-1" face="PrimaSans BT, Verdana,
sans-serif">'
);
document.writeln('<li>');
document.writeln(outputListSet[i].outputName);
document.writeln('</FONT>');
document.writeln('</td>');
document.writeln('<tr valign=top>');
document.writeln('</tr>');
document.writeln('<td>');
if (outputListSet[i].outputSyntax == 'string') {
document.writeln(outputListSet[i].outputVal);
} else if (outputListSet[i].outputSyntax == 'pretty_print') {
document.writeln('<pre>');
document.writeln(outputListSet[i].outputVal);
document.writeln('</pre>');
}
document.writeln('</td>');
document.writeln('</tr>');
}
document.writeln('</table>');
document.writeln('<p>');
document.writeln('<table width=100%>');
document.writeln('<tr valign=top>');
document.writeln('<td>');
document.writeln('<FONT size="-1" face="PrimaSans BT, Verdana,
sans-serif">'
);
document.writeln('<li>');
document.writeln('Certificate Imports');
document.writeln('</FONT>');
document.writeln('</td>');
for (var i = 0; i < requestListSet.length; i++) {
document.writeln('<tr valign=top>');
document.writeln('<td>');
if (autoImport == 'true') {
// only support one certificate import
var loc = "getCertFromRequest?requestId="+ requestListSet[i].requestId +
"&importCert=true";
document.write("<iframe width='0' height='0' src='"+loc+"' </iframe>");
} else {
document.writeln('<form method=post action="getCertFromRequest">');
if (navigator.appName == "Netscape") {
document.writeln('<input type=hidden name=importCert value=true>');
} else {
document.writeln('<input type=hidden name=importCert value=false>');
}
document.writeln('<input type=hidden name=requestId value=' +
requestListSet[i].requestId + '>');
document.writeln('<input type=submit name="Import Certificate"
value="Import Certificate">');
document.writeln('</form>');
}
document.writeln('</td>');
document.writeln('</tr>');
}
document.writeln('</table>');
} else if (errorCode == 1) { // not submitted
document.write('Sorry, your request is not submitted. The reason is "' +
errorReason + '".');
} else if (errorCode == 2) { // pending
document.write('Congratulations, your request has been successfully ');
document.write('submitted. ');
document.write('Your request will be processed when an authorized agent ');
document.writeln('verifies and validates the information in your request.');
document.writeln('<P>');
for (var i = 0; i < requestListSet.length; i++) {
document.write('Your request ID is ');
document.write('<B><a href="checkRequest?requestId=');
document.write(requestListSet[i].requestId);
document.write('">'+requestListSet[i].requestId+'</a></B>.');
document.writeln('<P>');
}
document.write('Your can check on the status of your request with ');
document.write('an authorized agent or local administrator ');
document.writeln('by referring to this request ID.');
} else if (errorCode == 3) { // rejected
document.write('Sorry, your request has been rejected. The reason is "' +
errorReason + '"');
document.writeln('<P>');
for (var i = 0; i < requestListSet.length; i++) {
document.write('Your request ID is ');
document.write('<B>'+requestListSet[i].requestId+'</B>.');
document.writeln('<P>');
}
} else { // unknown state
document.write('Sorry, your request is not submitted. The error code is "' +
errorReason + '".');
}
</script>
</font>
</html>