diff options
Diffstat (limited to 'dogtag/ca-ui/shared/webapps/ca/agent/ca/ImportCert.template')
-rw-r--r-- | dogtag/ca-ui/shared/webapps/ca/agent/ca/ImportCert.template | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/dogtag/ca-ui/shared/webapps/ca/agent/ca/ImportCert.template b/dogtag/ca-ui/shared/webapps/ca/agent/ca/ImportCert.template new file mode 100644 index 000000000..4b828ca6f --- /dev/null +++ b/dogtag/ca-ui/shared/webapps/ca/agent/ca/ImportCert.template @@ -0,0 +1,191 @@ +<!-- --- 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> +<CMS_TEMPLATE> +<TITLE> +CS Enroll Request Success +</TITLE> +</HEAD> + +<BODY bgcolor="white"> + +<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> +Import Certificate(s) +</font> + +<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif"> + + +<SCRIPT type="text/javascript"> +//<!-- + + +function navMajorVersion() +{ + return parseInt( + navigator.appVersion.substring(0, navigator.appVersion.indexOf("."))); +} + +document.writeln('<P>'); + +document.writeln('<P>'); + +if (result.recordSet == null || result.recordSet.length == 0) { + document.writeln('<B><PRE>'); + document.writeln('No more information on your certificate is provided.'); + document.writeln('Please consult your local administrator for assistance.'); + document.writeln('</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> 0x'+result.recordSet[i].serialNo+'</B>'); + document.writeln('<P>'); + document.write('Certificate in Base 64 encoded form:<BR>'); + document.write('<PRE>'); + document.writeln(result.recordSet[i].base64Cert); + document.write('</PRE>'); + document.writeln('<P>'); + document.write('Certificate Content: <BR>'); + document.write('<PRE>'); + document.writeln(result.recordSet[i].certPrettyPrint); + document.write('</PRE>'); + } + } + //document.writeln('</UL>'); +} +document.writeln('<P>'); + + +// 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-1 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 + + 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('<PRE>'); + document.writeln(errors); + document.writeln('</PRE>'); + } + else { + document.writeln( + 'Your certificate was successfully imported to the browser '+ + 'with nickname '+result.fixed.certNickname); + } + // removed this block for use with cartman Alpha-3. + //{ + //document.writeln( + //'NOTE: Although the certificate was issued, the browser '+ + //'may or may not have successfully imported the certificate. '+ + //'The following was returned by the browser when importing '+ + //'the certificate:'); + //document.writeln('<PRE>'); + //document.writeln(errors); + //document.writeln('</PRE>'); + //document.writeln( + //'If there was an error message you can import the certificate again '+ + //'by going to the end entity port and list the certificate by '+ + //'its serial number.'); + //} +} + +//--> +</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> + |