diff options
Diffstat (limited to 'dogtag/ca-ui/shared/webapps/ca/admin/ca')
6 files changed, 1535 insertions, 0 deletions
diff --git a/dogtag/ca-ui/shared/webapps/ca/admin/ca/EnrollSuccess.template b/dogtag/ca-ui/shared/webapps/ca/admin/ca/EnrollSuccess.template new file mode 100644 index 000000000..d0e5af3dd --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/admin/ca/EnrollSuccess.template @@ -0,0 +1,245 @@ +<!-- --- 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> +<CMS_TEMPLATE> + +<TITLE> +CS Enroll Request Success +</TITLE> + +<BODY bgcolor="white"> + + +<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> +Enrollment Success +</font> + +<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> +<p> + +<SCRIPT LANGUAGE="JavaScript"> +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; +} + +document.writeln('Congratulations a certificate has been issued and ' + +'the administrator now has Certificate Manager Agent privileges.' + +' You can now go to the <b>Agent Services</b> page' + +' to process any pending requests.'); + +document.writeln('<P>'); +document.writeln('Issued Certificates: </font>'); +document.writeln('<P>'); +document.writeln('<table border="0" cellspacing="0" cellpadding="0" background="/ca/admin/graphics/hr.gif" width="100%">'); +document.writeln(' <tr> '); +document.writeln(' <td> </td>'); +document.writeln(' </tr>'); +document.writeln('</table>'); + +if (result.recordSet == null) { + document.writeln('<BLOCKQUOTE><B><PRE>'); + document.writeln('No further details provided.'); + document.writeln('Please consult your local administrator for assistance.'); + document.writeln('</BLOCKQUOTE></B></PRE>'); +} +else if (result.recordSet.length == 0) { + document.writeln('<BLOCKQUOTE><B><PRE>'); + document.writeln('0'); + document.writeln('No further details provided.'); + document.writeln('Please consult your local administrator for assistance.'); + document.writeln('</BLOCKQUOTE></B></PRE>'); +} else { + // document.writeln('<UL>'); + for (var i = 0; i < result.recordSet.length; i++) { + if (result.recordSet[i].serialNo != null) { +/* document.write('Serial number '); + document.write('<B><PRE>'); + document.writeln(toHex(result.recordSet[i].serialNo)); + document.write('</B></PRE>'); + document.writeln('<P>'); + document.write('Base 64 encoded Cert<BR>'); + document.write('<PRE>'); + document.writeln(result.recordSet[i].base64Cert); + document.write('</PRE>'); + document.writeln('<P>'); + document.write('Cert Pretty Print<BR>'); + document.write('<PRE>'); + document.writeln(result.recordSet[i].certPrettyPrint); + document.write('</PRE>'); +*/ + + document.write('<font face="PrimaSans BT, Verdana, sans-serif" size="+1">Serial number '); + document.writeln(' 0x' + result.recordSet[i].serialNo); + document.writeln('</font><br>'); + + 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('Certificate contents</font></td></tr></table>'); + + document.writeln('<pre>'); +// document.write('<font face="PrimaSans BT, Verdana, sans-serif">'); + document.write(result.recordSet[i].certPrettyPrint); +// document.writeln('</font>'); + document.writeln('</pre>'); +/* + document.writeln('<p>'); + 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('Certificate fingerprints</font></td></tr></table>'); + + document.writeln('<pre>'); + document.write(result.recordSet[i].certFingerprint); + document.writeln('</pre>'); +*/ + document.writeln('<p>'); + 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('Base 64 encoded certificate</font></td></tr></table>'); + document.writeln('<p><pre>'); +// document.write('<font face="PrimaSans BT, Verdana, sans-serif" >'); + document.writeln(result.recordSet[i].base64Cert); +// document.writeln('</font>'); + document.writeln('</pre>'); + } + } + // document.writeln('</UL>'); + +} +document.writeln('</PRE></B></BLOCKQUOTE>'); +document.writeln('<P>'); + +// import certs if cartman. +if (navigator.appName == 'Netscape' && + typeof(crypto.version) != "undefined" && + typeof(result.fixed.crmfReqId) != "undefined") { + +// window.location = result.fixed.scheme + "://" + +// result.fixed.host + ":" + result.fixed.port + +// "/ca/getAdminCertBySerial?serialNumber=" + +// record.serialNo + +// "&importCert=true"; + + var errors = crypto.importUserCertificates(null, + result.fixed.cmmfResponse, false); + + if (errors != '') { + document.writeln('<font face="PrimaSans BT, Verdana, sans-serif" size="-1">'); + document.writeln( + '<b>ERROR</b>Could not import the certificate into your browser '+ + 'using nickname '+result.fixed.certNickname+'.<p>'); + document.writeln( + 'The following error message was returned by the browser '+ + 'when importing the certificate:'); + document.writeln('</font>'); + document.writeln('<BLOCKQUOTE><PRE>'); + document.writeln(errors); + document.writeln('</PRE></BLOCKQUOTE>'); + } + else { + document.writeln('<font face="PrimaSans BT, Verdana, sans-serif" size="-1">'); + document.writeln( + 'Your certificate was successfully imported to the browser '+ + 'with nickname '+result.fixed.certNickname); + document.writeln('</font>'); + } + + // crypto.importUserCertificates(result.fixed.certNickname, + // result.fixed.cmmfResponse, false); +} else if (navigator.appName == 'Netscape' && + typeof(crypto.version) == "undefined") { + // non Cartman + window.location = result.fixed.scheme + "://" + result.fixed.host + ":" ++ result.fixed.port + "/ca/getAdminCertBySerial?serialNumber=" + record.serialNo + "&importCert=true"; +} + +</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 + + 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 + + ImportCertificate() + +</SCRIPT> + +</font> +</BODY> +</HTML> + diff --git a/dogtag/ca-ui/shared/webapps/ca/admin/ca/ImportAdminCert.template b/dogtag/ca-ui/shared/webapps/ca/admin/ca/ImportAdminCert.template new file mode 100644 index 000000000..e52764ec6 --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/admin/ca/ImportAdminCert.template @@ -0,0 +1,58 @@ +<!-- --- 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>VBScript Administrator Certificate Enrollment +</TITLE> +<CMS_TEMPLATE> +<OBJECT classid="clsid:127698E4-E730-4E5C-A2b1-21490A70C8A1" + codebase="xenroll.dll" + id=Enroll > +</OBJECT> +<SCRIPT language="VBScript"> +<!-- + Dim pkcs7 + + On Error Resume Next + + 'Convert the cert to PKCS7 format + pkcs7 = result.header.pkcs7 + If (IsEmpty(pkcs7) OR theError <> 0) Then + ret = MsgBox("Could not convert certificate to PKCS7 format", 0, "Import Cert") + 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 +--> +</SCRIPT> +</head> +</HTML> diff --git a/dogtag/ca-ui/shared/webapps/ca/admin/ca/ImportCert.template b/dogtag/ca-ui/shared/webapps/ca/admin/ca/ImportCert.template new file mode 100644 index 000000000..8df83eca9 --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/admin/ca/ImportCert.template @@ -0,0 +1,242 @@ +<!-- --- 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> +<CMS_TEMPLATE> + +<TITLE> +CS Enroll Request Success +</TITLE> + +<BODY bgcolor="white"> + +<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> +Import Certificate +</font> + +<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + + +<SCRIPT LANGUAGE="JavaScript"> +//<!-- + +//document.writeln('<P>'); +//document.writeln('host '+result.fixed.host+'<BR>'); +//document.writeln('port '+result.fixed.port+'<BR>'); +//document.writeln('scheme '+result.fixed.scheme+'<BR>'); +//document.writeln('authority '+result.fixed.authorityName+'<BR>'); + +function navMajorVersion() +{ + return parseInt( + navigator.appVersion.substring(0, navigator.appVersion.indexOf("."))); +} + +document.writeln('<P>'); +document.writeln('Importing the following certificate to your browser:'); + +document.writeln('<P>'); + +if (result.recordSet == null || result.recordSet.length == 0) { + document.writeln('<BLOCKQUOTE><B><PRE>'); + document.writeln('No more information on your certificate is provided.'); + document.writeln('Please consult your local administrator for assistance.'); + document.writeln('</BLOCKQUOTE></B></PRE>'); +} else { + document.writeln('<UL>'); + for (var i = 0; i < result.recordSet.length; i++) { + if (result.recordSet[i].serialNo != null) { + //document.write('Serial number '); + //document.write('<BLOCKQUOTE><B><PRE>'); + //document.writeln(result.recordSet[i].serialNo); + //document.write('</BLOCKQUOTE></B></PRE>'); + //document.writeln('<P>'); + //document.write('Your certificate in Base 64 encoded form:<BR>'); + //document.write('<BLOCKQUOTE><PRE>'); + //document.writeln(result.recordSet[i].base64Cert); + //document.write('</PRE></BLOCKQUOTE>'); + document.writeln('<P>'); + document.write('Certificate Content: <BR>'); + document.write('<BLOCKQUOTE><PRE>'); + document.writeln(result.recordSet[i].certPrettyPrint); + document.write('</PRE></BLOCKQUOTE>'); + } + } + document.writeln('</UL>'); + +} + +// NOTE: importUserCertificate should be done before this point but +// it creates a javascript error that clobbers the result variable set in +// the template. + +if (navigator.appName == 'Netscape' && (navMajorVersion() > 3) && + typeof(crypto.version) != "undefined" && + typeof(result.fixed.crmfReqId) != "undefined") { + //alert('certNickname is '+result.fixed.certNickname); + //alert(result.fixed.cmmfResponse); + var errors = crypto.importUserCertificates(null, + result.fixed.cmmfResponse, false); + // var errors = crypto.importUserCertificates(result.fixed.certNickname, + // result.fixed.cmmfResponse, false); + + // NOTE: Alpha version of cartman always returns a non-empty string + // from importUserCertificates() so we can only always assume succcess. + // Uncomment the following line and add appropriate javascripts/messages + // for use with a later version of cartman. + // This is fixed in Alpha-3. For use with alpha-3 uncomment the lines below + // to check for errors returned from importUserCertificates. + if (errors != '') { + document.writeln( + '<b>ERROR</b>Could not import the certificate into your browser '+ + 'using nickname '+result.fixed.certNickname+'.<p>'); + document.writeln( + 'The following error message was returned by the browser '+ + 'when importing the certificate:'); + document.writeln('<BLOCKQUOTE><PRE>'); + document.writeln(errors); + document.writeln('</PRE></BLOCKQUOTE>'); + } + else { + document.writeln( + 'Your certificate was successfully imported to the browser '+ + 'with nickname '+result.fixed.certNickname); + } + +// document.writeln( +// 'NOTE: '+ +// 'The following was returned by the browser when importing '+ +// 'the certificate:'); +// document.writeln('<BLOCKQUOTE><PRE>'); +// document.writeln(errors); +// document.writeln('</PRE></BLOCKQUOTE>'); +// document.writeln( +// 'If there was an error message it could be that you do not have '+ +// 'the private key of the certificate you are trying to import. '+ +// 'Please consult your system administrator for assistance.'); +} + +//--> +</SCRIPT> + +<OBJECT + classid="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1" + CODEBASE="/xenroll.dll" + id=Enroll > +</OBJECT> + +<OBJECT id='g_objClassFactory' CLASSID='clsid:884e2049-217d-11da-b2a4-000e7bbb2b09'> +</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 '_'. +' +'======================================================== + + 'Get OS Version, works for Vista and below only + Function GetOSVersion + dim agent + dim res + dim pos + + agent = Navigator.appVersion + pos = InStr(agent,"NT 6.") + + If pos > 0 Then + GetOSVersion = 6 + Exit Function + End If + + pos = InStr(agent,"NT 5.") + + If pos > 0 Then + GetOSVersion = 5 + Exit Function + End If + + GetOSVersion = 5 + End Function + + Sub ImportCertificate + Dim pkcs7 + Dim res + Dim osVersion + + On Error Resume Next + osVersion = GetOSVersion() + + '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 + + If osVersion <> 6 Then 'Not Vista + + '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 + Else 'Vista + Dim enrollObj + + Set enrollObj = g_objClassFactory.CreateObject("X509Enrollment.CX509Enrollment") + If IsObject(enrollObj) = False Then + res = MsgBox("Can't create Enroll Object!") + Exit Sub + End If + + enrollObj.Initialize(1) + enrollObj.InstallResponse 0,pkcs7,6,"" + + If Err.number <> 0 Then + sz = "Error in InstallResponse. Error Number " & Hex(err.number) & " occurred." + res =MsgBox(sz & Err.description) + else + res = MsgBox("Certificate has been successfully imported.") + End If + End If + End Sub + + ImportCertificate() +--> +</SCRIPT> + +</font> +</BODY> +</HTML> + diff --git a/dogtag/ca-ui/shared/webapps/ca/admin/ca/adminEnroll.html b/dogtag/ca-ui/shared/webapps/ca/admin/ca/adminEnroll.html new file mode 100644 index 000000000..e4be5c746 --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/admin/ca/adminEnroll.html @@ -0,0 +1,779 @@ +<!-- --- 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>Admin Enrollment form.</TITLE> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<SCRIPT LANGUAGE="JavaScript"></SCRIPT> +<script LANGUAGE="JavaScript" SRC="/ca/admin/cms-funcs.js"></script> +<SCRIPT LANGUAGE="JavaScript" SRC="/ca/admin/helpfun.js"></SCRIPT> +<SCRIPT LANGUAGE="JavaScript" SRC="/ca/admin/dynamicVars.js"></SCRIPT> + + +<SCRIPT> +<!-- +function navMajorVersion() +{ + return parseInt(navigator.appVersion.substring(0, navigator.appVersion.indexOf("."))); +} + +function updateUid(f) +{ + if (f.uid.value != '') { + f.UID1.value = f.uid.value; + } + formulateDN(f, f.subject); +} + +var crmfObject; +function validate(form) +{ + if (!checkValidity()) + return false; + + with (form) { + if (uid.value == "") { + alert("You must supply your uid"); + return false; + } + if (pwd.value == "") { + alert("You must supply your password"); + return false; + } + + if (isValidCSR(form) == false) { + //alert(' is not valid csr'); + return false; + } + + var keyGenAlg = "rsa-ex"; + // var kraTranCert = "MIICDjCCAXegAwIBAgICAfMwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMREwDwYDVQQLEwhIYXJkY29yZTEnMCUGA1UEAxMeSGFyZGNvcmUgQ2VydGlmaWNhdGUgU2VydmVyIElJMB4XDTk4MTExOTIzNDIxOVoXDTk5MDUxODIzNDIxOVowLjELMAkGA1UEBhMCVVMxETAPBgNVBAoTCG5ldHNjYXBlMQwwCgYDVQQDEwNLUmEwXDANBgkqhkiG9w0BAQEFAANLADBIAkEArrbDiYUI5SCdlCKKa0bEBn1m83kX6bdhytRYNkd/HB95Bp85SRadmdJV+0O/yMxjYAtGCFrmcqEZ4sh2YSov6wIDAQABozYwNDARBglghkgBhvhCAQEEBAMCAEAwHwYDVR0jBBgwFoAUl7FtsrYCFlQMl9fjMm3LnN/u3oAwDQYJKoZIhvcNAQEEBQADgYEApvzcUsVIOstaoYSiWb4+aMVH6s1jiJlr5iVHnOKzfsYxPVdUw6uz04AT8N+1KIarMTKxHPzGAFSLicKLEv4HG4vh6llc86uzRzWpUqqVHg/eKN5A8Jyg56D4DkNr/XEJ7QdKesAp13dk5H5qvHelkSPLYYdMXNwNWPVZKgnWrWg="; + // var keyGenAlg = "rsa-ex"; + + var keylen=512; + + // generate keys for cartman. + if (navigator.appName == "Netscape" && + typeof(crypto.version) != "undefined") { + certNickname.value = subject.value; + crmfObject = crypto.generateCRMFRequest( + subject.value, + "regToken", "authenticator", + null, + "setCRMFRequest();", + keylen, null, "rsa-dual-use"); + } + return true; + } +} + +function setCRMFRequest() +{ + with (document.forms[0]) { + CRMFRequest.value = crmfObject.request; + //alert(crmfObject.request); + submit(); + } +} + +//--> +</SCRIPT> +</head> + +<OBJECT + classid="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1" + CODEBASE="/xenroll.dll" + id=Enroll > +</OBJECT> + + +<SCRIPT LANGUAGE=VBS> +<!-- +Function escapeDNComponent(comp) + escapeDNComponent = comp +End Function + +Function doubleQuotes(comp) + doubleQuotes = False +End Function + +Function formulateDN(a,b) + Dim dn + Dim TheForm + Set TheForm = Document.ReqForm + + dn = Empty + + If (TheForm.C.Value <> Empty) Then + If doubleQuotes(TheForm.C.Value) = True Then + MsgBox "Double quotes are not allowed in the Country field" + Exit Function + End If + If (dn <> Empty) Then + dn = dn & "," + End If + dn = dn & "C=" & escapeDNComponent(TheForm.C.Value) + End If + + If (TheForm.O.Value <> Empty) Then + If doubleQuotes(TheForm.O.Value) = True Then + MsgBox "Double quotes are not allowed in the Organiztion field" + Exit Function + End If + If (dn <> Empty) Then + dn = dn & "," + End If + dn = dn & "O=" & escapeDNComponent(TheForm.O.Value) + End If + + If (TheForm.OU.Value <> Empty) Then + If doubleQuotes(TheForm.OU.Value) = True Then + MsgBox "Double quotes are not allowed in the Org Unit field" + Exit Function + End If + If (dn <> Empty) Then + dn = dn & "," + End If + dn = dn & "OU=" & escapeDNComponent(TheForm.OU.Value) + End If + + If (TheForm.UID1.Value <> Empty) Then + If doubleQuotes(TheForm.UID1.Value) = True Then + MsgBox "Double quotes are not allowed in the uid field" + Exit Function + End If + If (dn <> Empty) Then + dn = dn & "," + End If + dn = dn & "0.9.2342.19200300.100.1.1=" & escapeDNComponent(TheForm.UID1.Value) + End If + + If (TheForm.CN.Value <> Empty) Then + If doubleQuotes(TheForm.CN.Value) = True Then + MsgBox "Double quotes are not allowed in the Common Name field" + Exit Function + End If + If (dn <> Empty) Then + dn = dn & "," + End If + dn = dn & "CN=" & escapeDNComponent(TheForm.CN.Value) + End If + + If (TheForm.E.Value <> Empty) Then + If doubleQuotes(TheForm.E.Value) = True Then + MsgBox "Double quotes are not allowed in the eMail field" + Exit Function + End If + If (dn <> Empty) Then + dn = dn & "," + End If + dn = dn & "E=" & escapeDNComponent(TheForm.E.Value) + End If + + + formulateDN = dn +End Function + +Sub Send_OnClick + Dim TheForm + Dim szName + Set TheForm = Document.ReqForm + + + ' Do a few sanity checks + If (TheForm.uid.Value = Empty) Then + ret = MsgBox("You must supply your Directory uid for certificate enrollment", 0, "MSIE Certificate Request") + Exit Sub + End If + + If (TheForm.pwd.Value = Empty) Then + ret = MsgBox("You must supply your Directory password for certificate enrollment", 0, "MSIE Certificate Request") + Exit Sub + End If + + + ' Contruct the X500 distinguished name + szName = formulateDN("","") + + On Error Resume Next + Enroll.HashAlgorithm = "MD5" + Enroll.KeySpec = 1 + Enroll.GenKeyFlags = 1 ' key exportable + + ' Pick the provider that is selected + set options = TheForm.all.cryptprovider.options + index = options.selectedIndex + Enroll.providerType = options(index).value + Enroll.providerName = options(index).text + + szCertReq = Enroll.createPKCS10(szName, "1.3.6.1.5.5.7.3.2") + theError = Err.Number + On Error Goto 0 + ' + ' If the user has cancelled things the we simply ignore whatever + ' they were doing ... need to think what should be done here + ' + If (szCertReq = Empty AND theError = 0) Then + Exit Sub + End If + + If (szCertReq = Empty OR theError <> 0) Then + ' + ' There was an error in the key pair generation. The error value + ' is found in the variable 'theError' which we snarfed above before + ' we did the 'On Error Goto 0' which cleared it again. + ' + sz = "The error '" & Hex(theError) & "' occurred." & chr(13) & chr(10) & "Your credentials could not be generated." + result = MsgBox(sz, 0, "Credentials Enrollment") + Exit Sub + End If + + TheForm.pkcs10Request.Value = szCertReq + TheForm.Submit + Exit Sub + +End Sub +--> +</SCRIPT> + +<body bgcolor="#FFFFFF" onload=checkClientTime()> + +<script lang=javascript> +//<!-- + if (navigator.appName == "Netscape" && + navMajorVersion() <= 3) { + document.writeln( + '<form name="ReqForm" method="post" action="adminEnroll">'); + } else + if (navigator.appName == "Netscape" && + typeof(crypto.version) != "undefined") { + document.writeln( + '<form name="ReqForm" method="post" action="adminEnroll">'); + } else { + document.writeln( + '<form name="ReqForm" method="post" action="adminEnroll" '+ + 'onSubmit="return validate(document.forms[0])">'); + } +//--> +</script> + +<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> +Administrator/Agent Certificate Enrollment<br> +</font><br> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + To access the Agent Services pages and approve requests for certificates, + you must have a personal client SSL certificate so that Certificate + System can authenticate your identity. You must also + be designated as an agent, or privileged user. + <p> + Use this form to request this first personal certificate to be issued + by the system. When you submit the form, the certificate is issued + immediately and returned to you. The system also adds you + automatically to the list of agents. You must import the new + certificate into your browser before you can access the Agent Services + pages. + <p> + <b>After you submit this form, it is automatically disabled.</b> To enroll + again, or to enroll other users, please see the documentation. + </font> + +<table border="0" cellspacing="0" cellpadding="2" background=/ca/admin/graphics/hr.gif" width="100%"> + <tr> + <td> </td> + </tr> +</table> + +<table border="0" cellspacing="2" cellpadding="2"> + <tr valign="TOP"> + <td><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> + <b>Important:</b> + </font></td> + <td><font size="-1" face="PrimaSans BT, Verdana, sans-serif"> + Be sure to request your certificate on the same computer + on which you plan to use the certificate. + </font></td> + </tr> +</table> + +<table border="0" cellspacing="0" cellpadding="0" background=/ca/admin/graphics/hr.gif" width="100%"> + <tr> + <td> </td> + </tr> +</table> + +<table border="0" width="100%" cellspacing="2" cellpadding="2"> + <tr> + <td colspan="2" valign="TOP"> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + <b>Authentication Information</b><br> + Enter the user ID and password for the administrator/agent. + </td> + </tr> + <tr> + <td align="RIGHT"> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + User ID:</font> + </td> + <td valign="TOP"> + <input type="TEXT" name="uid" size="30" onchange="updateUid(this.form)"> + </td> + </tr> + <tr> + <td align="RIGHT"> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + Password:</font> + </td> + <td valign="TOP"> + <input type="PASSWORD" name="pwd" AutoComplete=off size="30"> + </td> + </tr> + + <tr> + <td VALIGN=TOP COLSPAN="2"> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + <b>Subject Name</b><br> + Enter values for the DN components you want to have in your certificate. + </font> + </td> + </tr> + + <tr> + <td align=right> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + Full name: + </font> + </td> + <td VALIGN=TOP> + <input type="HIDDEN" name="csrRequestorName"> + <input type="TEXT" name="CN" value="CS Administrator" size="30" onchange="formulateDN(this.form, this.form.subject)"> + </td> + </tr> + + <tr> + <td ALIGN=RIGHT> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + Login name: + </font> + </td> + <td VALIGN=TOP> + <input type="TEXT" name="UID1" size="30" onchange="formulateDN(this.form, this.form.subject)"> + </td> + </tr> + + <tr> + <td ALIGN=RIGHT> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + Email address: + </font> + </td> + <td> + <input type="TEXT" name="E" size="30" onchange="formulateDN(this.form, this.form.subject)"> + </td> + </tr> + + <tr> + <td ALIGN=RIGHT> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + Organization unit: + </font> + </td> + <td> + <input type="TEXT" name="OU" size="30" onchange="formulateDN(this.form, this.form.subject)"> + </td> + </tr> + + <tr> + <td ALIGN=RIGHT> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + Organization: + </font> + </td> + <td> + <input type="TEXT" name="O" size="30" onchange="formulateDN(this.form, this.form.subject)"> + </td> + </tr> + + <tr> + <td ALIGN=RIGHT> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + Country: + </font> + </td> + <td> + <input type="TEXT" name="C" value="US" size=2 maxlength=2 onchange="formulateDN(this.form, this.form.subject)"> + </td> + </tr> + + <tr> + <td></td> + + <td> + <!-- for Netscape Certificate Type Extension --> + <input type="HIDDEN" value="false" name="email"> + <input type="HIDDEN" value="true" name="ssl_client"> + <!-- for Key Usage Extension --> + <input type="HIDDEN" name="digital_signature" value=true> + </td> + </tr> + +<script lang=javascript> +<!-- +function renderSelectionWithNames(name, from, to, selected, names) +{ + document.writeln('<SELECT NAME="'+name+'" onChange="checkValidity()">'); + 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="checkValidity()">'); + 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 renderValidityInfo() +{ + document.writeln('<tr><td valign="top" colspan="2">'); + document.writeln('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">'); + document.writeln('<b>Validity</b><br>'); + document.writeln('Set certificate validity period by selecting dates,'); + document.writeln('for which certificate is not valid before and not valid after.'); + document.writeln('</font></td></tr>'); + + var months = new Array("January", "February", "March", "April", + "May", "June", "July", "August", + "September", "October", "November", "December"); + + var startDay = new Date(serverdate); + var year = startDay.getFullYear(); + var time1 = startDay.getTime(); + var time2 = time1 + 31536000000; // 1 Year (365 days) + var endDay = new Date(time2); + + + 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">'); + + 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">'); + + 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" colspan="2">'); + document.writeln('<input type="HIDDEN" name="notValidBefore" value="">'); + document.writeln('<input type="HIDDEN" name="notValidAfter" value="">'); + document.writeln('</td></tr>'); + + document.forms[0].notValidBefore.value = time1; + document.forms[0].notValidAfter.value = time2; +} + +function checkValidity() +{ + 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 false; + } + 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 false; + } + var toTime = toDate.getTime(); + + + if (fromTime > toTime) { + alert("NOT VALID AFTER date should not be earlier than NOT VALID BEFORE date."); + return false; + } + + document.forms[0].notValidBefore.value = fromTime; + document.forms[0].notValidAfter.value = toTime; + + return true; +} + +renderValidityInfo(); +//--> +</script> + + <tr> + <td valign="TOP" colspan="2"> + <font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + <b>User's Key Information</b><br> + When your submit this form, the browser generates a private and + public key. The browser retains the private key and submits the + public key along with your request for a certificate. + The public key becomes part of your certificate. <P> +<script lang=javascript> +<!-- + if (navigator.appName == 'Netscape' && navMajorVersion() <= 3) { + document.writeln('Select the length of the key to generate. '+ + 'The longer the key length, the greater the strength. '); + } else + if (navigator.appName == 'Netscape' && typeof(crypto.version) == "undefined") { + document.writeln('Select the length of the key to generate. '+ + 'The longer the key length, the greater the strength. '); + } + if (navigator.appName == "Microsoft Internet Explorer") { + document.writeln( + '<font size=-1 face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">'); + document.writeln('Cryptographic Provider:'); + document.writeln('</font>'); + document.writeln('<SELECT NAME=\"cryptprovider\"></SELECT>'); + } +//--> +</script> + </font> + </td> + </tr> + <tr> +<script lang=javascript> +<!-- + if (navigator.appName == "Netscape") { + if (navMajorVersion() <= 3) { + document.write('<td align="right">'); + document.write('<font size="-1" '+ + 'face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">'); + document.write('Key Length:'); + document.write('</font>'); + document.write('</td>'); + document.write('<td>'); + document.write('<KEYGEN name="subjectKeyGenInfo">'); + document.write('</td>'); + } else + if (typeof(crypto.version) == "undefined") { + //alert('not cartman'); + document.write('<td align="right">'); + document.write('<font size="-1" '+ + 'face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">'); + document.write('Key Length:'); + document.write('</font>'); + document.write('</td>'); + document.write('<td>'); + document.write('<KEYGEN name="subjectKeyGenInfo">'); + document.write('</td>'); + } + else { + //alert('cartman'); + //document.write('<td>'); + //document.writeln('<SELECT NAME=\"keyLength\">'); + //document.writeln('<OPTION VALUE=512>512 bits'); + //document.writeln('<OPTION VALUE=768>768 bits'); + //document.writeln('<OPTION VALUE=1024>1024 bits'); + //document.writeln('</SELECT>'); + //document.write('</td>'); + } + } +//--> +</script> + + </td> + </tr> + + <tr> + <td valign="TOP" colspan="2"> + <table border="0" width="100%" cellspacing="0" cellpadding="6" bgcolor="#cccccc" background=/ca/admin/graphics/gray90.gif"> + <tr> + <td> + <div align="RIGHT"> +<script lang=javascript> +<!-- + if (navigator.appName == "Netscape" && + navMajorVersion() <= 3) { + document.writeln( + '<input type="submit" value="Submit" '+ + 'name="submit" width="72">'); + } else + if (navigator.appName == "Netscape" && + typeof(crypto.version) == "undefined") { + document.writeln( + '<input type="submit" value="Submit" '+ + 'name="submit" width="72">'); + } + else if (navigator.appName == "Microsoft Internet Explorer") { + document.writeln( + '<input type="submit" value="Submit" '+ + 'name="Send" width="72">'); + } + else { + // alert('cartman'); + document.writeln( + '<input type="button" value="Submit" '+ + 'name="submitbutton" '+ + 'onclick="validate(form)" width="72">'); + } +//--> +</script> + + <input type="hidden" name="subject" value="" > + <img src=/ca/admin/graphics/spacer.gif" width="6" height="6"> + <input type="reset" value="Reset" name="reset" width="72"> + <img src=/ca/admin/graphics/spacer.gif" width="9" height="6"> + <!-- <input type="button" value="Help" onclick= + "help('http://www.redhat.com/docs/manuals/cert-system#Administrator/Agent Certificate Enrollment')" + name="button" width="72"> --> + <input type="hidden" name="certType" value="client"> + +<script lang=javascript> +<!-- + if (navigator.appName == 'Netscape') { + if (navMajorVersion() < 4 || + typeof(crypto.version) == "undefined") { + document.write( + '<input type="hidden" name="importCert" value="off">'); + } + else { + document.write( + '<input type="hidden" name="CRMFRequest" value="">'); + document.write( + '<input type="hidden" name="cmmfResponse" value="on">'); + document.write( + '<input type="hidden" name="certNickname" value="">'); + } + } + else { + // IE + document.write( + '<input type="hidden" name="pkcs10Request" value="">'); + } +//--> +</script> + </div> + </td> + </tr> + </table> + </td> + </tr> +</table> +</form> +<SCRIPT LANGUAGE=VBS> +<!-- + +FindProviders + +Function FindProviders + Dim i, j + Dim providers() + i = 0 + j = 1 + Dim el + Dim temp + Dim first + Dim TheForm + Set TheForm = document.ReqForm + On Error Resume Next + first = 0 + + Do While True + temp = "" + Enroll.providerType = j + temp = Enroll.enumProviders(i,0) + If Len(temp) = 0 Then + If j < 1 Then + j = j + 1 + i = 0 + Else + Exit Do + End If + Else + set el = document.createElement("OPTION") + el.text = temp + el.value = j + TheForm.cryptprovider.add(el) + If first = 0 Then + first = 1 + TheForm.cryptprovider.selectedIndex = 0 + End If + i = i + 1 + End If + Loop + +End Function + +--> +</SCRIPT> +</body> +</html> diff --git a/dogtag/ca-ui/shared/webapps/ca/admin/ca/securitydomainlogin.template b/dogtag/ca-ui/shared/webapps/ca/admin/ca/securitydomainlogin.template new file mode 100644 index 000000000..7d61a8602 --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/admin/ca/securitydomainlogin.template @@ -0,0 +1,114 @@ +<!-- --- 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> +<CMS_TEMPLATE> + <head> + + <title>CA Admin Security Domain Login</title> + + <link rel="shortcut icon" href="/ca/admin/console/img/favicon.ico" /> + <link rel="stylesheet" href="/ca/css/pki-base.css" type="text/css" /> +<META http-equiv=Content-Type content="text/html; charset=UTF-8"> + </head> + + +<div id="wrap"> +<div id="header"> + <a href="http://pki.fedoraproject.org/" title="Visit pki.fedoraproject.org for more information about Dogtag products and services"><img src="/ca/admin/console/img/logo_header.gif" alt="Dogtag" id="myLogo" /></a> + <div id="headertitle"> + <a href="/" title="Dogtag Network homepage">Dogtag<sup><font size="-2">®</font></sup> Certificate System</a> + </div> + <div id="account"> + <dl><dt><span></span></dt><dd></dd></dl> + </div> +</div> + +<div id="mainNavOuter"> +<div id="mainNav"> + +<div id="mainNavInner"> + +</div><!-- end mainNavInner --> +</div><!-- end mainNav --> +</div><!-- end mainNavOuter --> + +<!-- close bar --> + + <div id="content"> + <table width="100%" cellspacing="0"> + <tr> + <td width="100%"> + <h1><img src="/ca/admin/console/img/rhn-icon-software.gif" /> +<script language=javascript> +document.write('Security Domain ('+result.header.sdname+') Login </h1>'); +</script> + <form name=sdForm action="getCookie" method="post"> + +<script language=javascript> +document.write('<p>The Enterprise '+result.header.subsystem+' Administrator will register this '+result.header.subsystem+' Subsystem located at '+ result.header.host+' under this Security Domain located at '+result.header.sdhost+'. The credential information will be provided to the Security Domain for authentication.<p>'); +if (result.header.errorString != null) +document.write('<img src="/ca/admin/console/img/icon_crit_update.gif"> <font color="red">'+result.header.errorString+'</font>'); +document.write('<table class="details">'); +document.write('<tr>'); +document.write('<th>Uid:</th>'); +if (result.header.sd_uid != null) +document.write('<td><input type="text" length="128" size="40" name="uid" value="'+result.header.sd_uid+'" /></td>'); +else +document.write('<td><input type="text" length="128" size="40" name="uid" value="" /></td>'); +document.write('</tr>'); +document.write('</tr>'); +document.write('<th>Password:</th>'); + +if (result.header.sd_pwd != null) +document.write('<td><input type="password" length="64" size="40" name="pwd" value="'+result.header.sd_pwd+'" autocomplete="off" /></td>'); +else +document.write('<td><input type="password" length="64" size="40" name="pwd" value="" autocomplete="off" /></td>'); +document.write('</tr>'); +document.write('<input type=hidden name=url value="'+result.header.url+'">'); +document.write('</table>'); +</script> + + <div align="right"> + <hr /> + + </div> + + +<p> +<table width=100%> +<tr bgcolor="#eeeeee"> + <td> +<div align="right"> +<input onclick="sdForm.submit()" type="button" name="sd_next" value="Login"> +</div> + </td> +</tr> +</table> + + </form> + + </td> + </tr> + </table> + + </div> <!-- close content --> + </div> <!-- close wrap --> + + </body> +</html> diff --git a/dogtag/ca-ui/shared/webapps/ca/admin/ca/sendCookie.template b/dogtag/ca-ui/shared/webapps/ca/admin/ca/sendCookie.template new file mode 100644 index 000000000..8f2e62e4d --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/admin/ca/sendCookie.template @@ -0,0 +1,97 @@ +<!-- --- 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> +<CMS_TEMPLATE> +<title>CA Admin Send Cookie</title> + <link rel="shortcut icon" href="/ca/img/favicon.ico" /> + <link rel="stylesheet" href="/ca/css/rhn-base.css" type="text/css" /> + <META http-equiv=Content-Type content="text/html; charset=UTF-8"> + +</head> +<body bgcolor="#FFFFFF" link="#666699" vlink="#666699" alink="#333366" onLoad="document.cookieForm.submit()"> + +<div id="header"> + <a href="http://pki.fedoraproject.org/" title="Visit pki.fedoraproject.org for more information about Dogtag products and services"><img src="/ca/img/logo_header.gif" alt="Dogtag" id="myLogo" /></a> + <div id="headertitle"> + <a href="/" title="Dogtag Network homepage">Dogtag<sup><font size="-2">®</font></sup> Certificate System</a> + </div> + <div id="account"> + <dl><dt><span></span></dt><dd></dd></dl> + </div> +</div> + +<div id="mainNavOuter"> +<div id="mainNav"> + +<div id="mainNavInner"> + +</div><!-- end mainNavInner --> +</div><!-- end mainNav --> +</div><!-- end mainNavOuter --> + + +<div id="bar"> + +<div id="systembar"> +<div id="systembarinner"> + +<div> + - +</div> + + +</div> +</div> + +</div> + + +<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> +Sending Session ID ... +</font><br> +<p> +</font> +<p> +<center> +<script language=javascript> +document.write('<form name="cookieForm" method="post" action="'+result.header.url+'">'); +</script> +<table border="0" cellspacing="0" cellpadding="0"> +<tr valign="TOP"> +<td> </td> +<td> </td> +</tr> +<script language=javascript> + document.write('<tr valign="TOP">'); + document.write('<td>'); + document.write('<input type="hidden" name="session_id" value="'+result.header.session_id+'">'); + document.write('</td></tr>'); +</script> +<tr valign="TOP"> +<td> </td> +<td> </td> +</tr> +</table> +</form> +</center> + <div id="footer"> + </div> + +</body> +</html> |