diff options
Diffstat (limited to 'dogtag/ca-ui/shared/webapps/ca/agent/ca/processReq.template')
-rw-r--r-- | dogtag/ca-ui/shared/webapps/ca/agent/ca/processReq.template | 1415 |
1 files changed, 0 insertions, 1415 deletions
diff --git a/dogtag/ca-ui/shared/webapps/ca/agent/ca/processReq.template b/dogtag/ca-ui/shared/webapps/ca/agent/ca/processReq.template deleted file mode 100644 index 172125e38..000000000 --- a/dogtag/ca-ui/shared/webapps/ca/agent/ca/processReq.template +++ /dev/null @@ -1,1415 +0,0 @@ -<!-- --- 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>Display Request</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<SCRIPT type="text/javascript" SRC="/ca/agent/funcs.js"></SCRIPT> -<SCRIPT type="text/javascript" SRC="/ca/agent/helpfun.js"></SCRIPT> -<SCRIPT type="text/javascript" SRC="/ca/agent/dynamicVars.js"></SCRIPT> - -<CMS_TEMPLATE> - -<SCRIPT type="text/javascript"> -<!-- -if (header.profile == 'true') { - document.location="profileReview?requestId=" + header.seqNum; -} -var lengthOptions = new Array(0, "", - 86400, "1 Day", - 604800, "1 Week", - 1209600, "2 Weeks", - 2592000, "1 Month (30 days)", - 15552000, "6 Months (180 days)", - 31536000, "1 Year (365 days)", - 46656000, "18 Months (540 days)", - 63072000, "2 Years (730 days)"); - -function addSpaces(str) -{ - var outStr = ""; - var str0 = ""; - var i0 = 0; - var i1 = 0; - - while (i1 < str.length) { - i1 = str.indexOf(',', i0); - if (i1 > -1) { - i1++; - str0 += str.substring(i0, i1); - str0 += " "; - i0 = i1; - } else { - str0 += str.substring(i0, str.length); - i1 = str.length; - } - } - - i0 = 0; - i1 = 0; - while (i1 < str0.length) { - i1 = str0.indexOf('+', i0); - if (i1 > -1) { - i1++; - outStr += str0.substring(i0, i1); - outStr += " "; - i0 = i1; - } else { - outStr += str0.substring(i0, str0.length); - i1 = str0.length; - } - } - - return outStr; -} - -function renderRequestInfo() -{ - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Request</font></td></tr>'); - - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Status:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.status + '</font></td></tr>'); - - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Type:</font></td>'); - document.write('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - if (result.header.requestType != null) { - document.write(result.header.requestType); - } else { - document.write('unknown'); - } - document.writeln('</font></td></tr>'); - - if (result.header.status == 'pending') { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Assigned to:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ((result.header.assignedTo != null)? result.header.assignedTo: 'unassigned')+ - ' '); - if (result.header.assignedTo == null) { - document.write('<a href="processReq?doAssign=toMe&seqNum='+ - result.header.seqNum + '"' + - 'onMouseOver="return helpstatus(\'Click to assign the '+ - 'request to yourself\')" '+ - 'onMouseOut="return helpstatus(\'\')">'+ - 'assign to me</a>'); - } else if (result.header.assignedTo != result.header.callerName) { - document.write('<a href="processReq?doAssign=reassignToMe&seqNum=' + - result.header.seqNum + '"' + - 'onMouseOver=" return helpstatus(\'Click to re-assign the '+ - 'request to yourself\')" '+ - 'onMouseOut="return helpstatus(\'\')">'+ - 're-assign to me</a>'); - } else if (result.header.assignedTo == result.header.callerName) { - document.write('<a href="processReq?doAssign=reassignToNobody&seqNum=' + - result.header.seqNum + '"' + - 'onMouseOver=" return helpstatus(\'Click to cancel request '+ - 'assignment\')" '+ - 'onMouseOut="return helpstatus(\'\')">'+ - 'cancel request assignment</a>'); - } - document.writeln('</font></td></tr>'); - -// document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ -// ((result.header.assignedTo != null)? result.header.assignedTo: 'unassigned')+ -// '</font></td></tr>'); - } - - if (result.header.certType != null) { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Certificate type:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.certType + '</font></td></tr>'); - } - - if (result.header.status == 'complete' && result.header.Result != null && - result.header.Result == '2' && result.header.errors != null) { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Error:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.errors + '</font></td></tr>'); - } -} - -function renderRequesterInfo() -{ - if (result.header.requestType != 'revocation' && - result.header.requestType != 'unrevocation' && - result.header.requestType != 'getCertificates' && - (result.header.csrRequestorName != null || - result.header.csrRequestorEmail != null || - result.header.csrRequestorPhone != null || - result.header.subject != null)) { - - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Subject (requester)</font></td></tr>'); - - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Subject name:</font></td>'); - if (result.header.status == 'pending') { - document.writeln('<td valign="top" colspan="2">'+ - '<INPUT TYPE="TEXT" NAME="subject" SIZE=40 MAXLENGTH=254 VALUE="'+ - ((result.header.subject != null)? result.header.subject: '') + - '"></font></td></tr>'); - } else { - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ((result.header.subject != null)? addSpaces(result.header.subject): '') + - '</font></td></tr>'); - } - - if (result.header.csrRequestorName != null && - result.header.csrRequestorName != "") { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Name:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.csrRequestorName + '</font></td></tr>'); - } - - if (result.header.csrRequestorEmail != null && - result.header.csrRequestorEmail != "") { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Email:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.csrRequestorEmail + '</font></td></tr>'); - } - - if (result.header.csrRequestorPhone != null && - result.header.csrRequestorPhone != "") { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Phone:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.csrRequestorPhone + '</font></td></tr>'); - } - } - - if (result.header.csrRequestorComments != null && - result.header.csrRequestorComments != "") { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Comments:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.csrRequestorComments + '</font></td></tr>'); - } -} - -function renderPublicKeyInfo() -{ - if (result.header.requestType == 'Enrollment' || - result.header.requestType == 'enrollment' || - result.header.requestType == 'renewal') { - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Subject public key</font></td></tr>'); - - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Algorithm:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.subjectPublicKeyInfo + '</font></td></tr>'); - - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Public key:</font></td>'); - document.writeln('<td valign="top" colspan="2"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.subjectPublicKey.replace(/\n/g, "<br>") + '</font></td></tr>'); - - //if (result.header.status == 'pending') { - //document.writeln('<tr><td valign="top" align="right"></td>'); - //document.writeln('<td valign="top">'+ - //'<INPUT TYPE="checkbox" NAME="checkPubKeyUniqueness" VALUE="no">'+ - //'</td>'); - //document.writeln('<td valign="top" align=left>'+ - //'<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - //'Override public key uniqueness requirement'+ - //'</font></td>'); - //} - } -} - -function renderSelectionWithNames(name, from, to, selected, names) -{ - document.writeln('<SELECT NAME="'+name+'" onChange="checkValidityLength()">'); - for (var i = from; i < to; i++) { - if (i == selected) { - document.writeln('<OPTION VALUE='+i+' SELECTED>'+names[i]); - } else { - document.writeln('<OPTION VALUE='+i+'>'+names[i]); - } - } - document.writeln('</SELECT>'); -} - -function renderSelection(name, from, to, selected) -{ - document.writeln('<SELECT NAME="'+name+'" onChange="checkValidityLength()">'); - for (var i = from; i < to; i++) { - if (i == selected) { - document.writeln('<OPTION VALUE='+i+' SELECTED>'+i); - } else { - document.writeln('<OPTION VALUE='+i+'>'+i); - } - } - document.writeln('</SELECT>'); -} - -function checkValidityLength() -{ - var i; - var fromDate; - i = document.forms[0].fromDay.selectedIndex; - var day = document.forms[0].fromDay.options[i].value; - i = document.forms[0].fromMonth.selectedIndex; - var month = document.forms[0].fromMonth.options[i].value; - i = document.forms[0].fromYear.selectedIndex; - var year = document.forms[0].fromYear.options[i].value; - i = document.forms[0].fromHour.selectedIndex; - var hour = document.forms[0].fromHour.options[i].value; - i = document.forms[0].fromMinute.selectedIndex; - var minute = document.forms[0].fromMinute.options[i].value; - i = document.forms[0].fromSecond.selectedIndex; - var second = document.forms[0].fromSecond.options[i].value; - - fromDate = new Date(year,month,day,hour,minute,second); - if (fromDate.getMonth() != month || fromDate.getDate() != day || year == 0) { - alert((++month)+"/"+day+"/"+year+" is invalid"); - return; - } - var fromTime = fromDate.getTime(); - - var toDate; - i = document.forms[0].toDay.selectedIndex; - day = document.forms[0].toDay.options[i].value; - i = document.forms[0].toMonth.selectedIndex; - month = document.forms[0].toMonth.options[i].value; - i = document.forms[0].toYear.selectedIndex; - year = document.forms[0].toYear.options[i].value; - i = document.forms[0].toHour.selectedIndex; - hour = document.forms[0].toHour.options[i].value; - i = document.forms[0].toMinute.selectedIndex; - minute = document.forms[0].toMinute.options[i].value; - i = document.forms[0].toSecond.selectedIndex; - second = document.forms[0].toSecond.options[i].value; - - toDate = new Date(year,month,day,hour,minute,second); - if (toDate.getMonth() != month || toDate.getDate() != day || year == 0) { - alert((++month)+"/"+day+"/"+year+" is invalid"); - return; - } - var toTime = toDate.getTime(); - - var len = (toTime - fromTime)/1000; - - for (i=2; i < lengthOptions.length; i+=2) { - if (lengthOptions[i] == len) { - document.forms[0].validityLength.selectedIndex = i/2; - break; - } - } - - if (i >= lengthOptions.length) - document.forms[0].validityLength.selectedIndex = 0; - - if (len < 0) - alert("NOT VALID AFTER date should not be earlier than NOT VALID BEFORE date."); - - return; -} - -function updateEndDate() -{ - var i; - var fromDate; - i = document.forms[0].fromDay.selectedIndex; - var day = document.forms[0].fromDay.options[i].value; - i = document.forms[0].fromMonth.selectedIndex; - var month = document.forms[0].fromMonth.options[i].value; - i = document.forms[0].fromYear.selectedIndex; - var year = document.forms[0].fromYear.options[i].value; - i = document.forms[0].fromHour.selectedIndex; - var hour = document.forms[0].fromHour.options[i].value; - i = document.forms[0].fromMinute.selectedIndex; - var minute = document.forms[0].fromMinute.options[i].value; - i = document.forms[0].fromSecond.selectedIndex; - var second = document.forms[0].fromSecond.options[i].value; - - fromDate = new Date(year,month,day,hour,minute,second); - if (fromDate.getMonth() != month || fromDate.getDate() != day || year == 0) { - alert((++month)+"/"+day+"/"+year+" is invalid"); - return; - } - var fromTime = fromDate.getTime(); - - i = document.forms[0].validityLength.selectedIndex; - var len = document.forms[0].validityLength.options[i].value; - var toDate = new Date(fromTime + len*1000); - - document.forms[0].toDay.selectedIndex = toDate.getDate() - 1; - document.forms[0].toMonth.selectedIndex = toDate.getMonth(); - document.forms[0].toHour.selectedIndex = toDate.getHours(); - document.forms[0].toMinute.selectedIndex = toDate.getMinutes(); - document.forms[0].toSecond.selectedIndex = toDate.getSeconds(); - i = document.forms[0].fromYear.options[0].value; - document.forms[0].toYear.selectedIndex = toDate.getFullYear() - i; -} - -function getNotValidBefore() -{ - var i; - var fromDate; - i = document.forms[0].fromDay.selectedIndex; - var day = document.forms[0].fromDay.options[i].value; - i = document.forms[0].fromMonth.selectedIndex; - var month = document.forms[0].fromMonth.options[i].value; - i = document.forms[0].fromYear.selectedIndex; - var year = document.forms[0].fromYear.options[i].value; - i = document.forms[0].fromHour.selectedIndex; - var hour = document.forms[0].fromHour.options[i].value; - i = document.forms[0].fromMinute.selectedIndex; - var minute = document.forms[0].fromMinute.options[i].value; - i = document.forms[0].fromSecond.selectedIndex; - var second = document.forms[0].fromSecond.options[i].value; - - fromDate = new Date(year,month,day,hour,minute,second); - if (fromDate.getMonth() != month || fromDate.getDate() != day || year == 0) { - alert((++month)+"/"+day+"/"+year+" is invalid"); - return null; - } - return (fromDate.getTime())/1000; -} - -function getNotValidAfter() -{ - var i; - var toDate; - i = document.forms[0].toDay.selectedIndex; - var day = document.forms[0].toDay.options[i].value; - i = document.forms[0].toMonth.selectedIndex; - var month = document.forms[0].toMonth.options[i].value; - i = document.forms[0].toYear.selectedIndex; - var year = document.forms[0].toYear.options[i].value; - i = document.forms[0].toHour.selectedIndex; - var hour = document.forms[0].toHour.options[i].value; - i = document.forms[0].toMinute.selectedIndex; - var minute = document.forms[0].toMinute.options[i].value; - i = document.forms[0].toSecond.selectedIndex; - var second = document.forms[0].toSecond.options[i].value; - - toDate = new Date(year,month,day,hour,minute,second); - if (toDate.getMonth() != month || toDate.getDate() != day || year == 0) { - alert((++month)+"/"+day+"/"+year+" is invalid"); - return null; - } - return (toDate.getTime())/1000; -} - -function renderValidityInfo() -{ - if ((result.header.requestType == 'Enrollment' || - result.header.requestType == 'enrollment' || - result.header.requestType == 'renewal') && - result.header.status == 'pending') { - - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Validity</font></td></tr>'); - - - var months = new Array("January", "February", "March", "April", - "May", "June", "July", "August", - "September", "October", "November", "December"); - - var sel = -1; - if (result.header.validityLength != null) { - if (result.header.validityLength == 0 && - result.header.defaultValidityLength != null && - result.header.defaultValidityLength > 0) { - result.header.validityLength = result.header.defaultValidityLength; - } - for (i=0; i < lengthOptions.length; i+=2) { - if (lengthOptions[i] == result.header.validityLength) { - sel = i; - break; - } - } - } - if (sel <= 0 && result.header.validityLength == 0) { - sel = 10; // 6 Months (180 days) - result.header.validityLength = lengthOptions[sel]; - } else if (sel < 0 && result.header.validityLength > 0) { - sel = 0; - } - - var startDay = new Date(serverdate); - var year = startDay.getFullYear(); - var time = startDay.getTime(); - time += 1000*result.header.validityLength; - var endDay = new Date(time); - - - document.writeln('<tr><td align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Not valid before:</font></td>'); - document.writeln('<td valign="top" colspan="2">'); - - renderSelection("fromDay", 1, 32, startDay.getDate()); - renderSelectionWithNames("fromMonth", 0, months.length, startDay.getMonth(), months); - renderSelection("fromYear", year-2, year+10, year); - document.writeln(' '); - renderSelection("fromHour", 0, 24, startDay.getHours()); - renderSelection("fromMinute", 0, 60, startDay.getMinutes()); - renderSelection("fromSecond", 0, 60, startDay.getSeconds()); - - document.writeln('</td></tr>'); - - - document.writeln('<tr><td align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Not valid after:</font></td>'); - - document.writeln('<td valign="top" colspan="2">'); - - renderSelection("toDay", 1, 32, endDay.getDate()); - renderSelectionWithNames("toMonth", 0, months.length, endDay.getMonth(), months); - renderSelection("toYear", year-2, year+10, endDay.getFullYear()); - document.writeln(' '); - renderSelection("toHour", 0, 24, endDay.getHours()); - renderSelection("toMinute", 0, 60, endDay.getMinutes()); - renderSelection("toSecond", 0, 60, endDay.getSeconds()); - - document.writeln('</td></tr>'); - - - - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Length of validity period:</font></td>'); - - document.writeln('<td valign="top" colspan="2">'); - - - - // Output a selection menu with the requested value selected - document.writeln('<SELECT NAME="validityLength" onChange="updateEndDate()">'); - for (i=0; i < lengthOptions.length; i+=2) { - if (i == sel) { - document.writeln('<OPTION VALUE='+lengthOptions[i]+' SELECTED>'+lengthOptions[i+1]); - } else { - document.writeln('<OPTION VALUE='+lengthOptions[i]+'>'+lengthOptions[i+1]); - } - } - document.writeln('</SELECT>'); - - document.writeln('</td></tr>'); - - -// document.writeln('<tr><td valign="top" align="right"></td>'); -// document.writeln('<td valign="top">'+ -// '<INPUT TYPE="checkbox" NAME="checkValidityNesting" VALUE="no">'+ -// '</td>'); -// document.writeln('<td valign="top" aligh=left>'+ -// '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ -// 'Override validity nesting requirement'+ -// '</font></td></tr>'); - } -} - -function renderExtensionsInfo() -{ - if ((result.header.requestType == 'Enrollment' || - result.header.requestType == 'enrollment' || - result.header.requestType == 'renewal') && - result.header.status == 'pending') { - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Extensions</font></td></tr>'); - - // NS Cert Type Extension - - var clientcert = ""; - var servercert = ""; - var emailcert = ""; - var objectsigningcert = ""; - var cacert = ""; - var sslcacert = ""; - var emailcacert = ""; - var objectsigningcacert = ""; - - if (result.header.ext_ssl_client != null && result.header.ext_ssl_client == "true") { - clientcert = "CHECKED"; - } - if (result.header.ext_ssl_server != null && result.header.ext_ssl_server == "true") { - servercert = "CHECKED"; - } - if (result.header.ext_email != null && result.header.ext_email == "true") { - emailcert = "CHECKED"; - } - if (result.header.ext_object_signing != null && result.header.ext_object_signing == "true") { - objectsigningcert = "CHECKED"; - } - if (result.header.ext_ssl_ca != null && result.header.ext_ssl_ca == "true") { - sslcacert = "CHECKED"; - } - if (result.header.ext_email_ca != null && result.header.ext_email_ca == "true") { - emailcacert = "CHECKED"; - } - if (result.header.ext_object_signing_ca != null && result.header.ext_object_signing_ca == "true") { - objectsigningcacert = "CHECKED"; - } - if (result.header.certType == 'ca') { - cacert = "CHECKED"; - } - - if (result.header.certType == "ca") { - document.writeln('<tr><td valign="top" align="right" rowspan="7">'); - } else { - document.writeln('<tr><td valign="top" align="right" rowspan="4">'); - } - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Netscape certificate type (usage):</font></td>'); - - document.writeln('<td valign="top">'+ - '<INPUT TYPE=CHECKBOX ' + clientcert + - ' NAME="certTypeSSLClient" VALUE="yes">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' SSL Client</font></td></tr>'); - document.writeln('<tr><td valign="top">'+ - '<INPUT TYPE=CHECKBOX ' + servercert + - ' NAME="certTypeSSLServer" VALUE="yes">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' SSL Server</font></td></tr>'); - document.writeln('<tr><td valign="top">'+ - '<INPUT TYPE=CHECKBOX ' + emailcert + - ' NAME="certTypeEmail" VALUE="yes">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' Secure Email</font></td></tr>'); - if (result.header.certType == "client") { - document.writeln( - '<tr><td valign="top">'+ - '<INPUT TYPE=CHECKBOX ' + objectsigningcert + - ' NAME="certTypeObjSigning" VALUE="yes">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' Object Signing</font></td></tr>'); - } - - if (result.header.certType == "ca") { - document.writeln('<tr><td valign="top">'+ - '<INPUT TYPE=CHECKBOX ' + sslcacert + - ' NAME="certTypeSSLCA" VALUE="yes">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' Subordinate SSL CA</font></td></tr>'); - document.writeln('<tr><td valign="top">'+ - '<INPUT TYPE=CHECKBOX ' + emailcacert + - ' NAME="certTypeEmailCA" VALUE="yes">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' Subordinate Email CA</font></td></tr>'); - document.writeln('<tr><td valign="top">'+ - '<INPUT TYPE=CHECKBOX ' + objectsigningcacert + - ' NAME="certTypeObjSigningCA" VALUE="yes">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' Subordinate Executable Object Signing CA</font></td></tr>'); - } - document.writeln('<tr><td valign="top" colspan="3"></td></tr>'); - - - // Basic Constraints Extension - if (result.header.pathLenBasicConstraints != null) { - document.writeln('<tr><td valign="top" align="right">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Basic Constraints:</font></td>'); - document.write('<td valign="top" colspan="2">' + - '<INPUT TYPE="TEXT" NAME="pathLenBasicConstraint" SIZE=8 MAXLENGTH=10'); - if (result.header.pathLenBasicConstraints >= 0 && - result.header.caPathLen != null && (result.header.caPathLen < 0 || - (result.header.caPathLen > 0 && - result.header.pathLenBasicConstraints < result.header.caPathLen))) { - document.writeln(' VALUE="'+ result.header.pathLenBasicConstraints + '">'); - } else if (result.header.caPathLen != null && result.header.caPathLen > 0) { - document.writeln(' VALUE="'+ (result.header.caPathLen-1) + '">'); - } else if (result.header.caPathLen != null && result.header.caPathLen == 0) { - document.writeln(' VALUE="0">'); - } else { - document.writeln(' VALUE="">'); - } - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' Path Length Constraint</font>'); - document.writeln('<INPUT TYPE="HIDDEN" NAME="pathLenConstraint" VALUE="">'); - document.writeln('</td></tr>'); - } - document.writeln('<tr><td valign="top" colspan="3"></td></tr>'); - - - // handle Presence Server Extension - if (result.header.PresenceServerExtension != null) { - document.writeln('<tr><td valign="top" align="right">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ 'Presence Server Extension:</font></td>'); - document.write('<td valign="top" colspan="2">'); - document.write('<input type=checkbox name="PSE_Enable" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif">Enable</font><br>'); - document.write('<input type=checkbox name="PSE_Critical" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif">Critical</font><br>'); - document.write('<input type=text name="PSE_Version" value=""><font size= "-1" face="PrimaSans BT, Verdana, sans-serif"> Version (Integer)</font><br>'); - document.write('<input type=text name="PSE_StreetAddress" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> Street Address (String)</font><br>'); - document.write('<input type=text name="PSE_TelephoneNumber" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> Telephone Number (String)</font><br>'); - document.write('<input type=text name="PSE_RFC822Name" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> RFC822 Name (String)</font><br>'); - document.write('<input type=text name="PSE_IMID" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> IM ID (String)</font><br>'); - document.write('<input type=text name="PSE_HostName" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> Host Name (String)</font><br>'); - document.write('<input type=text name="PSE_PortNumber" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> Port Number (Integer)</font><br>'); - document.write('<input type=text name="PSE_MaxUsers" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> Max Users (Integer)</font><br>'); - document.write('<input type=text name="PSE_ServiceLevel" value=""><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> Service Level (Integer)</font><br>'); - document.write('</td>'); - document.writeln('<tr><td valign="top" colspan="3"></td></tr>'); - } - // Other extensions - - if (result.recordSet.length > 0) { - var nRows = 0; - for (var i = 0; i < result.recordSet.length; i++) { - if (typeof(result.recordSet[i].ext_prettyprint) == "undefined") - continue; - else - nRows++; - } - nRows++; - document.writeln('<tr><td valign="top" align="right" rowspan="'+nRows+'">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Other Extensions:</font></td></tr>'); - for (var i = 0; i < result.recordSet.length; i++) { - if (typeof(result.recordSet[i].ext_prettyprint) == "undefined") - continue; - document.writeln('<tr><td valign="top" align="left" >'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - '<pre>'+ result.recordSet[i].ext_prettyprint+ - '</pre></font></td><td></td><td></td></tr>'); - } - } - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Additional Extensions:</font></td>\n<td valign="top" colspan="2">'+ - '<textarea name="addExts" rows="5" cols="40"></textarea></td></tr>'); - } -} - -function renderSignatureInfo() -{ - if ((result.header.requestType == 'Enrollment' || - result.header.requestType == 'enrollment' || - result.header.requestType == 'renewal') && - result.header.status == 'pending' && - result.header.validAlgorithms != null) { - - algorithmName = result.header.validAlgorithms.split('+'); - if (algorithmName.length > 0) { - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Signature</font></td></tr>'); - - document.writeln('<tr><td align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Algorithm:</font></td>'); - - document.writeln('<td valign="top" colspan="2">'); - document.writeln('<SELECT NAME="signatureAlgorithm">'); - - var signingAlgorithm; - if (result.header.caSigningAlgorithm != null) - signingAlgorithm = result.header.caSigningAlgorithm; - else - signingAlgorithm = result.header.signatureAlgorithmName; - - var i; - for (i = 0; i < algorithmName.length; i++) { - document.write('<OPTION VALUE="' + algorithmName[i] + '"'); - if (signingAlgorithm == algorithmName[i]) - document.write(' SELECTED'); - document.writeln('>' + algorithmName[i] + '</OPTION>'); - } - - document.writeln('</SELECT>'); - document.writeln('</td></tr>'); - } - } -} - -function toHex(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 + absValue; -} - -function renderHexNumber(number,width) -{ - var num = number; - while (num.length < width) - num = "0"+num; - return "0x"+num; -} - -function renderCertificateInfo() -{ - if ((result.header.status == 'complete' && - (result.header.requestType == 'Enrollment' || - result.header.requestType == 'enrollment' || - result.header.requestType == 'renewal')) || - result.header.requestType == 'getRevocationInfo') { - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - if (result.header.requestType == 'getRevocationInfo') { - document.writeln('Certificate</font></td></tr>'); - } else { - document.writeln('Issued certificate</font></td></tr>'); - } - - if (result.header.serialNumber != null) { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Serial number:</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('<a href="displayBySerial?serialNumber='+ - '0x'+result.header.serialNumber + '"' + - ' onMouseOver=" return helpstatus(\'Click to display this '+ - 'certificate \')" onMouseOut="return helpstatus(\'\')">'); - document.write(renderHexNumber(result.header.serialNumber,8)); - if (result.header.serialNumber2 != null) { - document.writeln('</a> '); - document.writeln('<a href="displayBySerial?serialNumber='+ - '0x'+result.header.serialNumber2 + '"' + - ' onMouseOver=" return helpstatus(\'Click to display this '+ - 'certificate \')" onMouseOut="return helpstatus(\'\')">'); - document.write(renderHexNumber(result.header.serialNumber2,8)); - } - document.writeln('</a></font></td></tr>'); - - if (result.header.requestType == 'getRevocationInfo' && - result.header.status == 'complete') { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Verified</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - if (result.header.reason == null) { - document.writeln('as not revoked'); - } else { - document.write('as revoked with the reason: '+ - result.header.reason); - } - document.writeln('</font></td></tr>'); - } - } else { - if (result.header.requestType == 'getRevocationInfo') { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - '</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln(''); - } else { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Error:</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Certificate not issued'); - } - document.writeln('</font></td></tr>'); - - if (result.header.errors != null) { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Additional information:</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - result.header.errors + '</font></td></tr>'); - } - } - } - - if (result.header.requestType == 'revocation' || - result.header.requestType == 'unrevocation' || - result.header.requestType == 'getCertificates' || - result.header.requestType == 'getCAChain') { - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - if (result.recordSet.length > 0) { - if (result.header.requestType == 'getCAChain') { - document.writeln('Certificate Chain</font></td></tr>'); - } else if (result.recordSet.length > 1) { - document.writeln('Certificates</font></td></tr>'); - } else { - document.writeln('Certificate</font></td></tr>'); - } - for (var i = 0; i < result.recordSet.length; i++) { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Serial number:</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - if (result.header.requestType != 'getCAChain') { - document.writeln('<a href="displayBySerial?serialNumber='+ - '0x'+result.recordSet[i].serialNumber + '"' + - ' onMouseOver=" return helpstatus(\'Click to display this '+ - 'certificate \')" onMouseOut="return helpstatus(\'\')">'); - } - document.writeln(renderHexNumber(result.recordSet[i].serialNumber,8) + - '</font></a></td></tr>'); - if (result.recordSet[i].reason != null) { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Reason:</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln(result.recordSet[i].reason +'</font></a></td></tr>'); - } - } - } else { - if (result.header.requestType == 'getCAChain') { - document.writeln('Certificate Chain</font></td></tr>'); - } else { - document.writeln('Certificates</font></td></tr>'); - } - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'Error:</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Request contains no certificate to revoke.</font></a></td></tr>'); - } - } -} - -function renderFingerprints() -{ - if (result.header.fingerprints != null) { - - fingerprintValues = result.header.fingerprints.split('+'); - if (fingerprintValues.length > 0) { - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Fingerprints</font></td></tr>'); - - var i; - for (i = 0; i < fingerprintValues.length; i += 2) { - document.writeln('<tr><td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - fingerprintValues[i] + ':</font></td>'); - document.writeln('<td valign="top" colspan="2">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln(fingerprintValues[i+1] +'</font></a></td></tr>'); - } - } - } -} - -function renderPolicyInfo() -{ - if ((result.header.status == 'rejected' || result.header.status == 'canceled') && - result.header.errors != null) { - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Policy information</font></td></tr>'); - - document.writeln('<tr><td valign="top" align="left" colspan="3">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><pre>'); - document.writeln(result.header.errors); - document.writeln('</pre></font></td></tr>'); - } -} - -function renderLongStrings(value) -{ - var len = value.toString().length; - if (len > 64 && value.toString().indexOf("\n") > 0) { - document.writeln(value.toString().replace(/\n/g, "<br>")); - } else if (len > 64) { - for (var i = 0; i < len; i += 64) { - var n = len; - var b = ""; - if (i+64 < len) { - n = i + 64; - b = "<br>"; - } - document.writeln(value.toString().substring(i, n)+b); - } - } else { - document.writeln(value); - } -} - -function renderNameAndValue(name, value) -{ - document.writeln('<tr><td valign="top" align="right">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln(name); - document.writeln('</font></td>'); - document.writeln('<td valign="top" align="left" colspan="2">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - renderLongStrings(value); - document.writeln('</font></td></tr>'); -} - -function renderRequestAttrs() -{ - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Unauthenticated Request Attributes</font></td></tr>'); - - if (result.header.HTTP_PARAMS.length > 0) { - for (var i = 0; i < result.header.HTTP_PARAMS.length; i++) { - renderNameAndValue("HTTP_PARAMS."+result.header.HTTP_PARAMS[i].name+":", result.header.HTTP_PARAMS[i].value); - } - } - if (result.header.HTTP_HEADERS.length > 0) { - document.writeln(""); - for (var j = 0; j < result.header.HTTP_HEADERS.length; j++) { - renderNameAndValue("HTTP_HEADERS."+result.header.HTTP_HEADERS[j].name+":", result.header.HTTP_HEADERS[j].value); - } - } - - document.writeln('<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Authenticate Request Attributes (from authentication, policy and other server modules)</font></td></tr>'); - if (result.header.AUTH_TOKEN.length > 0) { - document.writeln(""); - for (var k = 0; k < result.header.AUTH_TOKEN.length; k++) { - if (result.header.AUTH_TOKEN[k].name == 'authtime') { - renderNameAndValue("AUTH_TOKEN."+result.header.AUTH_TOKEN[k].name+":", - new Date(parseInt(result.header.AUTH_TOKEN[k].value))); - } else if (result.header.AUTH_TOKEN[k].name == 'authTime') { - continue; - } else { - renderNameAndValue("AUTH_TOKEN."+result.header.AUTH_TOKEN[k].name+":", - result.header.AUTH_TOKEN[k].value); - } - } - } - if (result.header.SERVER_ATTRS.length > 0) { - document.writeln(""); - for (var l = 0; l < result.header.SERVER_ATTRS.length; l++) { - //if (result.header.SERVER_ATTRS[l].name != 'CERT_INFO') - renderNameAndValue(result.header.SERVER_ATTRS[l].name+":", result.header.SERVER_ATTRS[l].value); - } - } - -} - - -function getValue(str, name) -{ - var i = str.indexOf(name); - var s = ""; - if (i > -1) { - var j = str.indexOf(",", i); - if (j > -1) { - s += str.substring(i+name.length, j); - } else { - s += str.substring(i+name.length); - } - j = s.indexOf("@"); - if (j > -1) { - s = s.substring(0, j); - } - } - return s; -} - -function renderGrantPrivileges() -{ - if ((result.header.requestType != 'Enrollment' && - result.header.requestType != 'enrollment') || - result.header.status != 'pending' || - (result.header.ext_ssl_client != "true" && - result.header.ext_ssl_server != "true" && - result.header.ext_email != "true" && - result.header.ext_object_signing != null && - result.header.ext_object_signing == "true")) - return; - - var id = ""; - if (result.header.subject != null) { - id = getValue(result.header.subject, "UID="); - if (id.length < 1) - id = getValue(result.header.subject, "E="); - } - - if (result.header.certType == 'ra') { - if (result.header.requestTrustedManagerPrivilege != "undefined" && - result.header.requestTrustedManagerPrivilege == "true") - checked = "CHECKED"; - else - checked = "UNCHECKED"; - - document.writeln( - '<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln( - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Privileges</font></td></tr>'); - document.writeln('<tr><td valign=top align=right></td>'); - document.writeln('<td valign="top">'+ - '<input type=checkbox '+checked+ - ' name="grantTrustedManagerPrivilege">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' This certificate is for a Trusted Manager'+ - '</font></td></tr>'); - if (id.length < 1) id = "ra" + result.header.seqNum; - document.writeln('<tr>'+ - '<td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'New User ID for the Trusted Manager:'+'</font></td>'+ - '<td valign="top" align="left">'+ - '<input type=text name=grantUID size=15 value="'+id+'">'+ - '</td></tr>'); - } - else if (result.header.certType == 'client') { - document.writeln( - '<tr><td valign="top" align="left" colspan="3" bgcolor="#e5e5e5">'); - document.writeln( - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); - document.writeln('Privileges</font></td></tr>'); - if (typeof(result.header.localca) != "undefined") { - document.writeln('<tr><td valign=top align=right></td>'+ - '<td valign="top">'+ - '<input type=checkbox name="grantCMAgentPrivilege">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' This certificate is for a Certificate Manager agent'+ - '</font></td></tr>'); - } - if (typeof(result.header.localkra) != "undefined") { - document.writeln('<tr><td valign=top align=right></td>'+ - '<td valign="top">'+ - '<input type=checkbox name="grantDRMAgentPrivilege">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' This certificate is for a Data Recovery Manager agent'+ - '</font></td></tr>'); - } - if (typeof(result.header.localra) != "undefined") { - document.writeln('<tr><td valign=top align=right></td>'+ - '<td valign="top">'+ - '<input type=checkbox name="grantRMAgentPrivilege">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - ' This certificate is for a Registration Manager agent'+ - '</font></td></tr>'); - } - if (id.length < 1) id = "u" + result.header.seqNum; - document.writeln('<tr>'+ - '<td valign="top" align="right">'+ - '<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'+ - 'New User ID for the agent:'+'</font></td>'+ - '<td valign="top" align="left">'+ - '<input type=text name="grantUID" size=30 value="'+id+'">'+ - '</td></tr>'); - } -} - -function renderFoot() -{ - document.writeln('<table BORDER=0 CELLSPACING=0 CELLPADDING=6 WIDTH="100%">'); - document.writeln('<tr><td ALIGN=RIGHT BGCOLOR="#E5E5E5">'); - - document.writeln('<SELECT NAME="toDo">'); - if (result.header.status == 'pending' && - (result.header.assignedTo == null || - result.header.assignedTo == result.header.callerName)) { - document.writeln('<OPTION VALUE="accept">Accept this request</OPTION>'); - document.writeln('<OPTION VALUE="cancel">Cancel this request</OPTION>'); - document.writeln('<OPTION VALUE="reject">Reject this request</OPTION>'); - } else if (result.header.status == 'svc_pending') { - document.writeln('<OPTION VALUE="cancel">Cancel this request</OPTION>'); - } - document.writeln('<OPTION VALUE="clone">Clone this request</OPTION>'); - document.writeln('</SELECT> '); - - document.writeln('<INPUT TYPE="submit" Value="Do It" width="72"> '); - - // document.writeln('<INPUT TYPE="button" VALUE="Help" width="72"'); - // document.writeln('onClick="help(\'http://www.redhat.com/docs/manuals/cert-system#Approving Requests\')">'); - document.writeln('</td></tr></table>'); -} - - -function isblank(s) -{ - for (var i=0; i<s.length; i++) { - var c = s.charAt(i) - if ((c != ' ') && (c != '\n') && (c != '\t') ) return false - } - return true -} - -function checkSubject() -{ - if (document.forms[0].subject != null && - document.forms[0].subject.value != null && - document.forms[0].subject.value.length > 0) { - - var outStr = ""; - var str = ""; - var subject = document.forms[0].subject.value; - var i0 = subject.indexOf('='); - var i1 = 0; - var i2 = 0; - var i3 = 0; - var i4 = 0; - - if (i0 > -1) i0++; - - while (i0 > -1 && i1 > -1) { - i1 = subject.indexOf('=', i0+1); - if (i1 > -1) { - str = subject.substring(i0, i1); - i2 = str.indexOf(','); - i3 = 0; - while (i2 > -1 && i3 > -1) { - i3 = str.indexOf(',', i2+1); - if (i3 > -1 && (i2 < 1 || str.charAt(i2-1) != "\\")) { - outStr += subject.substring(i4, i0+i2); - outStr += "\\"; - i4 = i0+i2; - } - i2 = i3; - } - i0 = i1++; - } else { - str = subject.substring(i0, subject.length); - i2 = str.indexOf(','); - while (i2 > -1) { - if (i2 < 1 || str.charAt(i2-1) != "\\") { - outStr += subject.substring(i4, i0+i2); - outStr += "\\"; - i4 = i0+i2; - } - i2++; - i2 = str.indexOf(',', i2); - } - } - } - - if (i4 > 0) { - outStr += subject.substring(i4, subject.length); - document.forms[0].subject.value = outStr; - } - } -} - - -function uid_check() -{ - if ((result.header.requestType == 'Enrollment' || - result.header.requestType == 'enrollment' || - result.header.requestType == 'renewal') && - result.header.status == 'pending') { - - var t1 = getNotValidBefore(); - if (t1 == null) return false; - var t2 = getNotValidAfter(); - if (t2 == null) return false; - if (t1 > t2) { - alert("NOT VALID AFTER date should not be earlier than NOT VALID BEFORE date."); - return false; - } - document.forms[0].notValidBefore.value = t1; - document.forms[0].notValidAfter.value = t2; - - if (result.header.pathLenBasicConstraints != null) { - if (result.header.caPathLen != null && result.header.caPathLen == 0 && - document.forms[0].toDo.selectedIndex == 0) { - alert("This CA is not allowed to sign subordinate CA certificate. "+ - "This request has to be canceled or rejected.") - return false - } - if (typeof(document.forms[0].pathLenBasicConstraint) != "undefined") { - document.forms[0].pathLenConstraint.value = - document.forms[0].pathLenBasicConstraint.value; - if (document.forms[0].pathLenConstraint.value != "") { - if (isDecimalNumber(document.forms[0].pathLenConstraint.value)) { - document.forms[0].pathLenConstraint.value = - trim(document.forms[0].pathLenConstraint.value); - if (result.header.caPathLen != null && result.header.caPathLen > 0 && - parseInt(document.forms[0].pathLenConstraint.value) >= result.header.caPathLen) { - alert("Choose integer number from 0 to "+ - (result.header.caPathLen-1)+" for Path Length Constraint") - return false - } - } else { - alert("You must provide non-negative integer number for "+ - "Path Length Constraint or leave it empty") - return false - } - } else { - if (result.header.caPathLen != null && result.header.caPathLen > 0) { - alert("Choose integer number from 0 to "+ - (result.header.caPathLen-1)+" for Path Length Constraint") - return false - } else { - document.forms[0].pathLenConstraint.value = "-1"; - } - } - } - } - - checkSubject(); - - if ( result.header.certType == 'ra') { - if (typeof(document.forms[0].grantTrustedManagerPrivilege.checked) != - "undefined" && - document.forms[0].grantTrustedManagerPrivilege.checked && - (document.forms[0].grantUID.value == "" || - document.forms[0].grantUID.value == null || - isblank(document.forms[0].grantUID.value)) ) { - alert("You must provide a non-empty UID for the new trusted manager!") - return false - } - } else if (result.header.certType == 'client') { - if (typeof(result.header.localca) != "undefined") { - if ( - typeof(document.forms[0].grantCMAgentPrivilege) != "undefined" && - document.forms[0].grantCMAgentPrivilege.checked && - (document.forms[0].grantUID.value == "" || - document.forms[0].grantUID.value == null || - isblank(document.forms[0].grantUID.value)) ) { - alert("You must provide a non-empty UID for the new Certificate Manager agent!") - return false - } - } - if (typeof(result.header.localkra) != "undefined") { - if ( - typeof(document.forms[0].grantDRMAgentPrivilege) != "undefined" && - document.forms[0].grantDRMAgentPrivilege.checked && - (document.forms[0].grantUID.value == "" || - document.forms[0].grantUID.value == null || - isblank(document.forms[0].grantUID.value)) ) { - alert("You must provide a non-empty UID for the new Data Recovery Manager agent!") - return false - } - } - if (typeof(result.header.localra) != "undefined") { - if ( - typeof(document.forms[0].grantRMAgentPrivilege) != "undefined" && - document.forms[0].grantRMAgentPrivilege.checked && - document.forms[0].grantRMAgentPrivilege.checked && - (document.forms[0].grantUID.value == "" || - document.forms[0].grantUID.value == null || - isblank(document.forms[0].grantUID.value)) ) { - alert("You must provide a non-empty UID for the new Registration Manager agent!") - return false - } - } - } - } - - return true -} -document.writeln('<body bgcolor="#FFFFFF" link="#666699" vlink="#666699" alink="#333366">'); -document.writeln('<font size=+1 face="PrimaSans BT, Verdana, sans-serif">'); -document.writeln('Request <a href="/ca/agent/ca/processReq?seqNum='+ - result.header.seqNum + '"' + - 'onMouseOver=" return helpstatus(\'Click to redisplay this '+ - 'request \')" onMouseOut="return helpstatus(\'\')">'+ - result.header.seqNum + '</a></font>'); - -document.writeln('<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" BACKGROUND="/pki/images/hr.gif">'); -document.writeln('<tr><td> </td></tr></table>'); - -document.writeln('<FORM ACTION=/ca/processCertReq METHOD=POST ' + -'onSubmit="return uid_check()">'); - -document.writeln('<INPUT TYPE="HIDDEN" NAME="seqNum" VALUE="' + - result.header.seqNum + '">'); - -document.writeln('<INPUT TYPE="HIDDEN" NAME="notValidBefore" VALUE="">'); -document.writeln('<INPUT TYPE="HIDDEN" NAME="notValidAfter" VALUE="">'); - -if (result.header.csrRequestorName != null) { - document.writeln('<INPUT TYPE="HIDDEN" NAME="csrRequestorName" VALUE="' + - result.header.csrRequestorName + '">'); -} -if (result.header.csrRequestorEmail != null) { - document.writeln('<INPUT TYPE="HIDDEN" NAME="csrRequestorEmail" VALUE="' + - result.header.csrRequestorEmail + '">'); -} -if (result.header.csrRequestorPhone != null) { - document.writeln('<INPUT TYPE="HIDDEN" NAME="csrRequestorPhone" VALUE="' + - result.header.csrRequestorPhone + '">'); -} - -document.writeln('<table border="0" cellspacing="2" cellpadding="2" width="100%">'); -document.writeln('<tr align="left">'+ - '<td width="15%"></td>'+ - '<td width="1%"></td>'+ - '<td width="60%"></td></tr>'); - -renderRequestInfo(); - -renderRequesterInfo(); - -renderPublicKeyInfo(); - -renderValidityInfo(); - -renderExtensionsInfo(); - -renderSignatureInfo(); - -renderFingerprints(); - -renderRequestAttrs(); - -renderGrantPrivileges(); - -renderCertificateInfo(); - -renderPolicyInfo(); - -document.writeln('</table><br> '); - -//renderFoot(); - - -document.writeln('</FORM>'); -document.writeln('</BODY>'); - -//--> -</SCRIPT> - -</HTML> |