diff options
Diffstat (limited to 'dogtag/ca-ui/shared/webapps/ca/agent/ca/displayBySerial.template')
-rw-r--r-- | dogtag/ca-ui/shared/webapps/ca/agent/ca/displayBySerial.template | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/dogtag/ca-ui/shared/webapps/ca/agent/ca/displayBySerial.template b/dogtag/ca-ui/shared/webapps/ca/agent/ca/displayBySerial.template new file mode 100644 index 000000000..4f2d6f2d5 --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/agent/ca/displayBySerial.template @@ -0,0 +1,298 @@ +<!-- --- 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 Certificate</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<CMS_TEMPLATE> +</head> + + +<SCRIPT type="text/javascript"> +//<!-- + +function navMajorVersion() +{ + return parseInt(navigator.appVersion.substring(0, navigator.appVersion.indexOf("."))); +} + +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 + '0x' + '0' + absValue; +} + +function getReason(reasonId) +{ + var reason = ""; + reasonDescription = new Array("unspecified", + "key compromised", + "CA key compromised", + "affiliation changed", + "certificate superceded", + "cessation of operation", + "certificate is on hold", + "unspecified", + "remove from CRL", + "privilege withdrawn", + "AA key compromised"); + + if (reasonId >= 0 && reasonId < reasonDescription.length) { + reason = reasonDescription[reasonId]; + } else { + reason = "Unknown reason"; + } + + return reason; +} + +function doReload() +{ + if (navigator.appName == "Netscape") { + document.reloadForm.submit(); + } +} + +function addEscapes(str) +{ + var outStr = str.replace(/</g, "<"); + outStr = outStr.replace(/>/g, ">"); + return outStr; +} + +//--> +</SCRIPT> + +<body onResize=doReload() bgcolor="#FFFFFF" link="#6666CC" vlink="#6666CC" alink="#333399"> +<font face="PrimaSans BT, Verdana, sans-serif" size="+1">Certificate +<SCRIPT type="text/javascript"> +//<!-- +document.write(' 0x0' + result.header.serialNumber); +if (navigator.appName == 'Netscape' && + typeof(crypto.version) != "undefined") { + document.write( + '<input type=hidden name=cmmfResponse value=true>'); +} + +//--> +</SCRIPT> +</font><br> +<table border="0" cellspacing="0" cellpadding="0" background="/ca/agent/graphics/hr.gif" width="100%"> + <tr> + <td> </td> + </tr> +</table> + +<table border="0" cellspacing="2" cellpadding="2" width="100%"> +<tr align="left" bgcolor="#e5e5e5"><td align="left"> +<font face="PrimaSans BT, Verdana, sans-serif" size="-1"> +Certificate contents</font></td></tr></table> + +<pre> +<SCRIPT type="text/javascript"> +document.write(addEscapes(result.header.certPrettyPrint)); +</SCRIPT> +</pre> + +<SCRIPT type="text/javascript"> +//<!-- +if (result.header.revocationReason != null) { + Reason = new Array("Unspecified", "Key Compromise", "CA Compromise", "Affiliation Changed"); + document.write('<p>\n'); + document.write('<table border="0" cellspacing="2" cellpadding="2" width="100%">\n'); + document.write('<tr align="left" bgcolor="#e5e5e5"><td align="left">\n'); + document.write('<font face="PrimaSans BT, Verdana, sans-serif" size="-1">\n'); + document.write('Certificate revocation reason</font></td></tr></table>\n'); + document.write('<p><font size=-1 face="PrimaSans BT, Verdana, sans-serif">\n'); + document.write('This certificate is revoked from the following reason: '); + document.write('</font>\n'); + document.write('<font size=-1 face="PrimaSans BT, Verdana, sans-serif" color="red">\n'); + document.write(getReason(result.header.revocationReason)+'\n'); + document.write('</font>\n'); + + if (result.header.revocationReason == 6) { // on hold + document.write("<center>"); + var loc = 'doUnrevoke?serialNumber=0x'+ result.header.serialNumber; + loc = loc + '&cmmfResponse=true'; + document.write('<form>\n'+ + '<INPUT TYPE=\"button\" VALUE=\"Take Certificate Off Hold\"'+ + ' onClick=\"location.href=\''+ loc + '\'\">\n'+ + '</form>\n'); + document.write("</center><br>"); + } else { + document.write('<br> \n'); + } +} +//--> +</SCRIPT> + +<p> +<table border="0" cellspacing="2" cellpadding="2" width="100%"> +<tr align="left" bgcolor="#e5e5e5"><td align="left"> +<font face="PrimaSans BT, Verdana, sans-serif" size="-1"> +Installing this certificate in a server</font></td></tr></table> + +<p> +<font size=-1 face="PrimaSans BT, Verdana, sans-serif"> +The following format can be used to install this certificate into a server. +<p> +Base 64 encoded certificate +</font> +<p><pre> +-----BEGIN CERTIFICATE----- +<SCRIPT type="text/javascript"> +document.write(result.header.certChainBase64); +</SCRIPT> +-----END CERTIFICATE----- +</pre> + +<font size=-1 face="PrimaSans BT, Verdana, sans-serif"> +<p> +Base 64 encoded certificate with CA certificate chain in pkcs7 format +</font> +<p><pre> +-----BEGIN CERTIFICATE CHAIN----- +<SCRIPT type="text/javascript"> +document.write(result.header.pkcs7ChainBase64); +</SCRIPT> +-----END CERTIFICATE CHAIN----- +</pre> + +<br><p> + +<SCRIPT type="text/javascript"> +//<!-- +if (result.header.noCertImport != null && result.header.noCertImport == false) { + document.writeln('<table border="0" cellspacing="2" cellpadding="2" width="100%">'); + document.writeln('<tr align="left" bgcolor="#e5e5e5"><td align="left">'); + document.writeln('<font face="PrimaSans BT, Verdana, sans-serif" size="-1">'); + document.writeln('Importing this certificate</font></td></tr></table>'); + document.writeln('<p><font size=-1 face="PrimaSans BT, Verdana, sans-serif">'); + document.writeln('To import the certificate into your client, click the following button.'); + document.writeln('</font><p>'); +} +//--> +</SCRIPT> + +<OBJECT + classid="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1" + CODEBASE="/xenroll.dll" + id=Enroll > +</OBJECT> + +<SCRIPT LANGUAGE=VBS> +<!-- +'======================================================== +' +' In VBS, there are several ways in which the event handler for the +' click event can be bound to the right control. We use one of the +' methods here, which indicates the binding by appending the +' event name to the control name with an intervening '_'. +' +'======================================================== + Sub ImportCertificate_OnClick + + Dim pkcs7 + + On Error Resume Next + + 'Convert the cert to PKCS7 format + pkcs7 = result.header.pkcs7ChainBase64 + If (IsEmpty(pkcs7) OR theError <> 0) Then + ret = MsgBox("Could not convert certificate to PKCS7 format", 0, "Import Cert") + Exit Sub + End If + + 'Import the PKCS7 object + Enroll.DeleteRequestCert = FALSE + Enroll.WriteCertToCSP = true + Enroll.acceptPKCS7(pkcs7) + if err.number <> 0 then + Enroll.WriteCertToCSP = false + end if + err.clear + Enroll.acceptPKCS7(pkcs7) + if err.number = 0 then + MsgBox "Certificate has been successfully imported." + else + sz = "Error in acceptPKCS7. Error Number " & Hex(err.number) & "occurred." + MsgBox sz + end if + + Exit Sub + + End Sub +--> +</SCRIPT> + +<SCRIPT type="text/javascript"> +document.write("<center>"); +var loc = 'getBySerial?serialNumber='+ result.header.serialNumber; +if (navigator.appName == "Netscape") { + loc = loc + '&importCert=true'; + if (navMajorVersion() > 3 && typeof(crypto.version) != "undefined") { + loc = loc + '&cmmfResponse=true'; + } +} +if (result.header.noCertImport != null && result.header.noCertImport == false) { + document.write('<form>\n'+ + '<INPUT TYPE=\"button\" VALUE=\"Import Your Certificate\"'+ + ' onClick=\"location.href=\''+ loc + '\'\">\n'+ + '</form>\n'); +} + +if (navigator.appName == "Netscape" && + result.header.emailCert != null && + result.header.emailCert == true && + result.header.noCertImport != null && + result.header.noCertImport == false) { + var loc1 = '/ca/getBySerial?serialNumber='+ result.header.serialNumber; + if (navMajorVersion() > 3 && typeof(crypto.version) != "undefined") { + loc1 = loc1 + '&cmmfResponse=true'; + } + else { + loc1 = loc1 + '&importCert=true&emailCert=true'; + } + document.write('<form>\n'+ + '<INPUT TYPE=\"button\" VALUE=\"Import S/MIME Certificate\"'+ + ' onClick=\"location.href=\''+ loc1 + '\'\">\n'+ + '</form>\n'); +} + +document.write("</center>"); + +document.write('<form name=reloadForm action=displayBySerial>\n'+ + '<INPUT TYPE="HIDDEN" NAME="serialNumber" VALUE="'+ + '0x'+result.header.serialNumber+'">\n</form>\n'); +</SCRIPT> + +</font> +</BODY> +</HTML> |