summaryrefslogtreecommitdiffstats
path: root/pki/linux/ocsp-ui
diff options
context:
space:
mode:
authorPKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2008-03-18 22:36:57 +0000
committerPKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2008-03-18 22:36:57 +0000
commitd0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb (patch)
tree7e7473fae8af5ad7e6cda7eabbef787093fc59a7 /pki/linux/ocsp-ui
parent273f8d85df5c31293a908185622b378c8f3cf7e8 (diff)
downloadpki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.gz
pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.xz
pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.zip
Initial open source version based upon proprietary Red Hat Certificate System (RHCS) 7.3.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@2 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/linux/ocsp-ui')
-rw-r--r--pki/linux/ocsp-ui/LICENSE311
-rw-r--r--pki/linux/ocsp-ui/build.xml273
-rwxr-xr-xpki/linux/ocsp-ui/build_linux38
-rwxr-xr-xpki/linux/ocsp-ui/config-ext/build_linux_pki318
-rw-r--r--pki/linux/ocsp-ui/config/product.xml305
-rw-r--r--pki/linux/ocsp-ui/config/release.xml86
-rw-r--r--pki/linux/ocsp-ui/pki-ocsp-ui.spec227
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ROOT/WEB-INF/web.xml29
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ROOT/index.html22
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ROOT/index.jsp13
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/GenUnexpectedError.template70
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/velocity.properties13
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/web.xml597
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenError.template80
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenPending.template63
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenRejected.template84
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSuccess.template46
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSvcPending.template63
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnauthorized.template44
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnexpectedError.template70
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/cms-funcs.js539
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/funcs.js686
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgLeftTab.gifbin0 -> 89 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgRightTab.gifbin0 -> 102 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/goto-tall.gifbin0 -> 86 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/graphics.tmp0
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/gray90.gifbin0 -> 66 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/hr.gifbin0 -> 60 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgLeftTab.gifbin0 -> 89 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgRightTab.gifbin0 -> 102 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/spacer.gifbin0 -> 43 bytes
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/header.template89
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/helpfun.js35
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.html20
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.template149
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCA.html68
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCRL.html81
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/CheckCert.html68
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCA.template59
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCRL.template59
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/checkCert.template79
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCA.html32
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCRL.html32
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameCheckCert.html32
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameListCA.html32
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameOCSP.html32
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameStats.html32
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getOCSPInfo.template118
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getStats.template141
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/index.html32
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/listCAs.template116
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCA.html50
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCRL.html50
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuCheckCert.html50
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuListCA.html50
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuOCSP.html50
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuStats.html54
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ports.template130
-rw-r--r--pki/linux/ocsp-ui/shared/webapps/ocsp/services.template111
59 files changed, 5828 insertions, 0 deletions
diff --git a/pki/linux/ocsp-ui/LICENSE b/pki/linux/ocsp-ui/LICENSE
new file mode 100644
index 000000000..e36f2269a
--- /dev/null
+++ b/pki/linux/ocsp-ui/LICENSE
@@ -0,0 +1,311 @@
+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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+In addition, as a special exception, Red Hat, Inc. gives You the additional
+right to link the code of this Program with code not covered under the GNU
+General Public License ("Non-GPL Code") and to distribute linked combinations
+including the two, subject to the limitations in this paragraph. Non-GPL
+Code permitted under this exception must only link to the code of this
+Program through those well defined interfaces identified in the file named
+EXCEPTION found in the source code files (the "Approved Interfaces").
+
+The files of Non-GPL Code may instantiate templates or use macros or inline
+functions from the Approved Interfaces without causing the resulting work to
+be covered by the GNU General Public License. Only Red Hat, Inc. may make
+changes or additions to the list of Approved Interfaces. You must obey the
+GNU General Public License in all respects for all of the Program code and
+other code used in conjunction with the Program except the Non-GPL Code
+covered by this exception. If you modify this file, you may extend this
+exception to your version of the file, but you are not obligated to do so.
+If you do not wish to provide this exception without modification, you must
+delete this exception statement from your version and license this file
+solely under the GPL without exception.
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
diff --git a/pki/linux/ocsp-ui/build.xml b/pki/linux/ocsp-ui/build.xml
new file mode 100644
index 000000000..42a303182
--- /dev/null
+++ b/pki/linux/ocsp-ui/build.xml
@@ -0,0 +1,273 @@
+<!-- ### 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 ### -->
+<project name="ocsp-ui" default="main" basedir=".">
+
+ <import file="config/product.xml"/>
+ <import file="config/product-ext.xml" optional="true"/>
+
+
+ <target name="clean"
+ depends=""
+ description="--> remove component directories">
+ <echo message="${begin.clean.log.message}"/>
+ <delete dir="${dist.base}"/>
+ <delete dir="${build.dir}"/>
+ <echo message="${end.clean.log.message}"/>
+ </target>
+
+
+ <target name="download"
+ depends=""
+ description="--> download dependent components">
+ <echo message="${begin.download.log.message}"/>
+ <echo message="${empty.download.log.message}"/>
+ <echo message="${end.download.log.message}"/>
+ </target>
+
+
+ <target name="compile_java"
+ depends=""
+ description="--> compile java source code into classes">
+ <echo message="${begin.compile.java.log.message}"/>
+ <echo message="${empty.compile.java.log.message}"/>
+ <echo message="${end.compile.java.log.message}"/>
+ </target>
+
+
+ <target name="build_jars"
+ depends="compile_java"
+ description="--> generate jar files">
+ <echo message="${begin.build.jars.log.message}"/>
+ <echo message="${empty.build.jars.log.message}"/>
+ <echo message="${end.build.jars.log.message}"/>
+ </target>
+
+
+ <target name="build_jni_headers"
+ depends="compile_java"
+ description="--> generate jni header files">
+ <echo message="${begin.build.jni.headers.log.message}"/>
+ <echo message="${empty.build.jni.headers.log.message}"/>
+ <echo message="${end.build.jni.headers.log.message}"/>
+ </target>
+
+
+ <target name="build"
+ depends="build_jars,build_jni_headers"
+ description="--> build classes, jars, and jni headers">
+ <echo message="${notify.build.log.message}"/>
+ </target>
+
+
+ <target name="compile_junit_tests"
+ depends="build"
+ description="--> compile junit test source code">
+ <echo message="${begin.compile.junit.tests.log.message}"/>
+ <echo message="${empty.compile.junit.tests.log.message}"/>
+ <echo message="${end.compile.junit.tests.log.message}"/>
+ </target>
+
+
+ <target name="run_junit_tests"
+ depends="compile_junit_tests"
+ description="--> execute junit tests">
+ <echo message="${begin.run.junit.tests.log.message}"/>
+ <echo message="${empty.run.junit.tests.log.message}"/>
+ <echo message="${end.run.junit.tests.log.message}"/>
+ </target>
+
+
+ <target name="verify"
+ depends="run_junit_tests"
+ description="--> build and execute junit tests">
+ <echo message="${notify.verify.log.message}"/>
+ </target>
+
+
+ <target name="clean_javadocs"
+ depends=""
+ description="--> remove javadocs directory">
+ <echo message="${begin.clean.javadocs.log.message}"/>
+ <echo message="${empty.clean.javadocs.log.message}"/>
+ <echo message="${end.clean.javadocs.log.message}"/>
+ </target>
+
+
+ <target name="compose_javadocs"
+ depends="build"
+ description="--> generate javadocs">
+ <echo message="${begin.compose.javadocs.log.message}"/>
+ <echo message="${empty.compose.javadocs.log.message}"/>
+ <echo message="${end.compose.javadocs.log.message}"/>
+ </target>
+
+
+ <target name="document"
+ depends="clean_javadocs,compose_javadocs"
+ description="--> remove old javadocs and compose new javadocs">
+ <echo message="${notify.document.log.message}"/>
+ </target>
+
+
+ <target name="distribute_binaries"
+ depends="document"
+ description="--> create the zip and gzipped tar binary distributions">
+ <echo message="${begin.distribute.binaries.log.message}"/>
+ <mkdir dir="${dist.base.binaries}"/>
+
+ <echo message="${begin.binary.wrappers.log.message}"/>
+ <echo message="${empty.binary.wrappers.log.message}"/>
+ <echo message="${end.binary.wrappers.log.message}"/>
+
+ <echo message="${begin.binary.zip.log.message}"/>
+ <zip destfile="${dist.base.binaries}/${dist.name}.zip">
+ <zipfileset dir="./shared"
+ filemode="755"
+ prefix="usr/share/${product.prefix}/${product}">
+ <include name="**"/>
+ </zipfileset>
+ <zipfileset dir="."
+ filemode="755"
+ prefix="usr/share/doc/${dist.name}">
+ <include name="LICENSE"/>
+ </zipfileset>
+ </zip>
+ <echo message="${end.binary.zip.log.message}"/>
+
+ <echo message="${begin.binary.tar.log.message}"/>
+ <tar longfile="gnu"
+ destfile="${dist.base.binaries}/${dist.name}.tar">
+ <tarfileset dir="./shared"
+ mode="755"
+ prefix="${dist.name}/usr/share/${product.prefix}/${product}">
+ <include name="**"/>
+ </tarfileset>
+ <tarfileset dir="."
+ mode="755"
+ prefix="${dist.name}/usr/share/doc/${dist.name}">
+ <include name="LICENSE"/>
+ </tarfileset>
+ </tar>
+ <echo message="${end.binary.tar.log.message}"/>
+
+ <echo message="${begin.binary.gtar.log.message}"/>
+ <gzip destfile="${dist.base.binaries}/${dist.name}.tar.gz"
+ src="${dist.base.binaries}/${dist.name}.tar"/>
+ <delete file="${dist.base.binaries}/${dist.name}.tar"/>
+ <delete dir="${dist.name}"/>
+ <checksum fileext=".md5">
+ <fileset dir="${dist.base.binaries}/">
+ <include name="**/*"/>
+ <exclude name="**/*.asc"/>
+ <exclude name="**/*.md5"/>
+ </fileset>
+ </checksum>
+ <checksum fileext=".sha1"
+ algorithm="SHA">
+ <fileset dir="${dist.base.binaries}/">
+ <include name="**/*"/>
+ <exclude name="**/*.asc"/>
+ <exclude name="**/*.md5"/>
+ </fileset>
+ </checksum>
+ <echo message="${end.binary.gtar.log.message}"/>
+
+ <echo message="${end.distribute.binaries.log.message}"/>
+ </target>
+
+
+ <target name="distribute_source"
+ depends=""
+ description="--> create the zip and gzipped tar source distributions">
+ <echo message="${begin.distribute.source.log.message}"/>
+ <mkdir dir="${dist.base.source}"/>
+
+ <echo message="${begin.source.zip.log.message}"/>
+ <zip destfile="${dist.base.source}/${src.dist.name}.zip">
+ <zipfileset dir="."
+ filemode="755"
+ prefix="${src.dist.name}">
+ <include name="${specfile}"/>
+ <include name="LICENSE"/>
+ <include name="build.xml"/>
+ <include name="config/product*.xml"/>
+ <include name="config/release*.xml"/>
+ <include name="release"/>
+ <include name="shared/**"/>
+ </zipfileset>
+ </zip>
+ <echo message="${end.source.zip.log.message}"/>
+
+ <echo message="${begin.source.tar.log.message}"/>
+ <tar longfile="gnu"
+ destfile="${dist.base.source}/${src.dist.name}.tar">
+ <tarfileset dir="."
+ mode="755"
+ prefix="${src.dist.name}">
+ <include name="${specfile}"/>
+ <include name="LICENSE"/>
+ <include name="build.xml"/>
+ <include name="config/product*.xml"/>
+ <include name="config/release*.xml"/>
+ <include name="release"/>
+ <include name="shared/**"/>
+ </tarfileset>
+ </tar>
+ <echo message="${end.source.tar.log.message}"/>
+
+ <echo message="${begin.source.gtar.log.message}"/>
+ <gzip destfile="${dist.base.source}/${src.dist.name}.tar.gz"
+ src="${dist.base.source}/${src.dist.name}.tar"/>
+ <delete file="${dist.base.source}/${src.dist.name}.tar"/>
+ <delete dir="${dist.name}"/>
+ <checksum fileext=".md5">
+ <fileset dir="${dist.base.source}/">
+ <include name="**/*"/>
+ <exclude name="**/*.asc"/>
+ <exclude name="**/*.md5"/>
+ </fileset>
+ </checksum>
+ <checksum fileext=".sha1"
+ algorithm="SHA">
+ <fileset dir="${dist.base.source}/">
+ <include name="**/*"/>
+ <exclude name="**/*.asc"/>
+ <exclude name="**/*.md5"/>
+ </fileset>
+ </checksum>
+ <echo message="${end.source.gtar.log.message}"/>
+
+ <echo message="${end.distribute.source.log.message}"/>
+ </target>
+
+
+ <target name="distribute"
+ depends="distribute_binaries,distribute_source"
+ description="--> create binary and source component distributions">
+ <echo message="${notify.distribute.log.message}"/>
+ </target>
+
+
+ <target name="main"
+ depends="clean,distribute"
+ description="--> clean, build, verify, document, distribute [default]">
+ <echo message="${notify.main.log.message}"/>
+ </target>
+
+</project>
+
diff --git a/pki/linux/ocsp-ui/build_linux b/pki/linux/ocsp-ui/build_linux
new file mode 100755
index 000000000..8b4629672
--- /dev/null
+++ b/pki/linux/ocsp-ui/build_linux
@@ -0,0 +1,38 @@
+#!/bin/bash
+# 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.
+#
+# (C) 2007 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+# Always switch into the base directory of this
+# shell script prior to executing it so that all
+# of its output is written to this directory
+cd `dirname $0`
+
+# Retrieve the directory name housing this component
+PWD=`pwd`
+
+# Set Linux component-specific environment variables
+LINUX_BUILD_SCRIPT=`basename $0`
+export LINUX_BUILD_SCRIPT
+LINUX_COMPONENT=`basename ${PWD}`
+export LINUX_COMPONENT
+LINUX_SPECFILE="pki-ocsp-ui.spec"
+export LINUX_SPECFILE
+
+# Invoke the shared Linux PKI build script
+config-ext/build_linux_pki $@
+
diff --git a/pki/linux/ocsp-ui/config-ext/build_linux_pki b/pki/linux/ocsp-ui/config-ext/build_linux_pki
new file mode 100755
index 000000000..d9ea91e8c
--- /dev/null
+++ b/pki/linux/ocsp-ui/config-ext/build_linux_pki
@@ -0,0 +1,318 @@
+#!/bin/bash
+# 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.
+#
+# (C) 2007 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+# Always switch into the base directory above this
+# shared shell script prior to executing it so that
+# all of its output is written to this directory
+cd `dirname $0`/..
+
+# Set pre-defined variables
+#
+# NOTE: Variables prefixed with "LINUX" are defined in the invoking script.
+# Variables prefixed with "PKI" are defined in this shared script.
+# Variables containing no prefix are reserved for the generated script.
+#
+PKI_ABORT_SCRIPT="false"
+PKI_BASEDIR="../../.."
+PKI_BUILD_XML=build.xml
+PKI_DIR=pki
+PKI_LINUX_DIR=linux
+PKI_RELEASE_DIR=release
+PKI_RELEASE_SCRIPT=release
+PKI_SHARED_SCRIPT=`basename $0`
+PKI_SRC_DIR=base
+
+# Check the values of the passed-in environment variables
+if [ "${LINUX_BUILD_SCRIPT}" == "" ]; then
+ printf "ERROR: The 'LINUX_BUILD_SCRIPT' environment variable is undefined!\n"
+ PKI_ABORT_SCRIPT="true"
+fi
+if [ "${LINUX_COMPONENT}" == "" ]; then
+ printf "ERROR: The 'LINUX_COMPONENT' environment variable is undefined!\n"
+ PKI_ABORT_SCRIPT="true"
+fi
+if [ "${LINUX_SPECFILE}" == "" ]; then
+ printf "ERROR: The 'LINUX_SPECFILE' environment variable is undefined!\n"
+ PKI_ABORT_SCRIPT="true"
+fi
+if [ "${PKI_ABORT_SCRIPT}" == "true" ]; then
+ printf "\n"
+ printf "The '${PKI_SHARED_SCRIPT}' shared build script MUST be invoked by "
+ printf "a\nPKI component-specific build script (e. g. - '${LINUX_BUILD_SCRIPT}')\n"
+ printf "which defines ALL environment variables prefixed by 'LINUX'!\n"
+ exit 255
+fi
+
+# Compute remaining variables by assigning their values from the specfile
+PKI_SOURCE_CODE_URL="https://pki-svn.fedora.redhat.com/svn/pki/trunk/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}"
+PKI_PRODUCT_UI_PREFIX=`grep " base_ui_prefix" ${LINUX_SPECFILE} | awk '{ print $3; }'`
+PKI_PRODUCT_PREFIX=`grep " base_prefix" ${LINUX_SPECFILE} | awk '{ print $3; }'`
+PKI_PRODUCT=`grep " base_component" ${LINUX_SPECFILE} | awk '{ print $3; }'`
+if [ "${PKI_PRODUCT_UI_PREFIX}" != "" ]; then
+ PKI_PRODUCT_BUILD_XML="${PKI_BUILD_XML}"
+ PKI_PRODUCT_NAME="${PKI_PRODUCT_PREFIX}-${PKI_PRODUCT}"
+ PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_LINUX_DIR}/${LINUX_COMPONENT}"
+elif [ "${PKI_PRODUCT_PREFIX}" != "" ]; then
+ PKI_PRODUCT_BUILD_XML="${PKI_BASEDIR}/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}/${PKI_BUILD_XML}"
+ PKI_PRODUCT_NAME="${PKI_PRODUCT_PREFIX}-${PKI_PRODUCT}"
+ PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}"
+else
+ PKI_PRODUCT_BUILD_XML="${PKI_BASEDIR}/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}/${PKI_BUILD_XML}"
+ PKI_PRODUCT_NAME="${PKI_PRODUCT}"
+ PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}"
+fi
+PKI_RELEASE_ROOT="${PKI_BASEDIR}/${PKI_RELEASE_DIR}/${PKI_PRODUCT_SOURCE_PATH}"
+PKI_SOURCE_CODE_LOCAL_REPOSITORY="`pwd`/${PKI_BASEDIR}/${PKI_PRODUCT_SOURCE_PATH}"
+
+# Always check that local source code for this PKI component is available
+if [ ! -d "${PKI_SOURCE_CODE_LOCAL_REPOSITORY}" ]; then
+ printf "Please checkout the '${LINUX_COMPONENT}' source code from:\n\n"
+ printf " '${PKI_SOURCE_CODE_URL}'\n\n"
+ printf "to:\n\n"
+ printf " '${PKI_SOURCE_CODE_LOCAL_REPOSITORY}'\n\n"
+ exit 255
+fi
+
+# Define awk scripts
+check_targets='
+BEGIN {
+ success = "false";
+}
+
+{
+ while( getline < FILENAME > 0 ) {
+ if( substr( $0, 0, 80 ) ~ "target name" ) {
+ start = substr( $0,
+ match( $0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ if( build_target == target ) {
+ success = "true";
+ }
+ }
+ }
+}
+
+END {
+ printf( "%s", success );
+}'
+
+display_targets='{
+ while( getline < FILENAME > 0 ) {
+ if( substr( $0, 0, 80 ) ~ "target name" ) {
+ start = substr( $0,
+ match( $0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ }
+ if( substr( $0, 0, 80 ) ~ "description" ) {
+ start = substr( $0,
+ match( $0, "\"" ) + 1 );
+ description[target] = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ printf( "'%20s' %s\n", target, description[target] );
+ }
+ }
+}'
+
+# Provide a usage function
+usage() {
+ if [ $# -gt 0 ] ; then
+ echo
+ echo "$1"
+ fi
+ echo
+ echo "Usage: ${LINUX_BUILD_SCRIPT} [target]"
+ echo
+ echo " where [target] is one of the optional values:"
+ echo
+ echo " help --> display '${PKI_PRODUCT_NAME}' usage statement"
+ awk "$display_targets" ${PKI_PRODUCT_BUILD_XML}
+ echo
+ exit 255
+}
+
+# Verify that the appropriate number of
+# command-line parameters have been entered
+# and that a valid target has been specified
+if [ $# -eq 0 ] ; then
+ RELEASE_TARGET=main
+ BUILD_TARGET=""
+elif [ $# -eq 1 ] ; then
+ if [ "$1" == "help" ]; then
+ usage
+ else
+ SUCCESS=`awk -v build_target=$1 "$check_targets" ${PKI_PRODUCT_BUILD_XML}`
+ if [ "${SUCCESS}" == "false" ]; then
+ usage "ERROR: Invalid target '$1' specified for '${PKI_PRODUCT_NAME}'!"
+ else
+ RELEASE_TARGET=local
+ BUILD_TARGET="$1"
+ fi
+ fi
+elif [ $# -gt 1 ] ; then
+ usage "ERROR: Too many parameters specified for '${PKI_PRODUCT_NAME}'!"
+fi
+
+# This script may ONLY be run on Linux!
+PKI_OS=`uname`
+if [ "${PKI_OS}" != "Linux" ]; then
+ printf "The '${LINUX_BUILD_SCRIPT}' script is ONLY executable on a 'Linux' machine!\n"
+ exit 255
+fi
+
+# Always start with a new release root directory
+rm -rf ${PKI_RELEASE_ROOT}
+mkdir -p ${PKI_RELEASE_ROOT}
+
+# Copy the source code to the release root
+cd ${PKI_BASEDIR}
+find ${PKI_PRODUCT_SOURCE_PATH} -name .svn -prune -o -name *.swp -prune -o -print | cpio -pdum ${PKI_RELEASE_DIR} > /dev/null 2>&1
+cd - > /dev/null 2>&1
+
+# Remove unused files
+rm -rf ${PKI_RELEASE_ROOT}/build_*
+rm -rf ${PKI_RELEASE_ROOT}/*.spec
+if [ -d ${PKI_RELEASE_ROOT}/config-ext ]; then
+ rm -rf ${PKI_RELEASE_ROOT}/config-ext
+fi
+
+# Create the default spec file
+cp ${LINUX_SPECFILE} ${PKI_RELEASE_ROOT}/${PKI_PRODUCT_NAME}.spec
+
+# Use bash-specific syntax to create the default build script
+cat >> ${PKI_RELEASE_ROOT}/${PKI_RELEASE_SCRIPT} << END_OF_SCRIPT
+#!/bin/bash
+
+#####################################################################
+### DO NOT EDIT! This script has been automatically generated! ###
+#####################################################################
+
+# Always switch into the base directory of this
+# shell script prior to executing it so that all
+# of its output is written to this directory
+cd \`dirname \$0\`
+
+# Set pre-defined variables
+BUILD_SCRIPT=\`basename \$0\`
+BUILD_XML=${PKI_BUILD_XML}
+SPECFILE=${PKI_PRODUCT_NAME}.spec
+
+# Define awk scripts
+check_targets='
+BEGIN {
+ success = "false";
+}
+
+{
+ while( getline < FILENAME > 0 ) {
+ if( substr( \$0, 0, 80 ) ~ "target name" ) {
+ start = substr( \$0,
+ match( \$0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ if( build_target == target ) {
+ success = "true";
+ }
+ }
+ }
+}
+
+END {
+ printf( "%s", success );
+}'
+
+display_targets='{
+ while( getline < FILENAME > 0 ) {
+ if( substr( \$0, 0, 80 ) ~ "target name" ) {
+ start = substr( \$0,
+ match( \$0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ }
+ if( substr( \$0, 0, 80 ) ~ "description" ) {
+ start = substr( \$0,
+ match( \$0, "\"" ) + 1 );
+ description[target] = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ printf( "'%20s' %s\n", target, description[target] );
+ }
+ }
+}'
+
+# Provide a usage function
+usage() {
+ if [ \$# -gt 0 ] ; then
+ echo
+ echo "\$1"
+ fi
+ echo
+ echo "Usage: \${BUILD_SCRIPT} [target]"
+ echo
+ echo " where [target] is one of the optional values:"
+ echo
+ echo " help --> display '${PKI_PRODUCT_NAME}' usage statement"
+ awk "\$display_targets" \${BUILD_XML}
+ echo
+ exit 255
+}
+
+# Verify that the appropriate number of
+# command-line parameters have been entered
+# and that a valid target has been specified
+if [ \$# -eq 0 ] ; then
+ RELEASE_TARGET=main
+ BUILD_TARGET=main
+elif [ \$# -eq 1 ] ; then
+ if [ "\$1" == "help" ]; then
+ usage
+ else
+ SUCCESS=\`awk -v build_target=\$1 "\$check_targets" \${BUILD_XML}\`
+ if [ "\${SUCCESS}" == "false" ]; then
+ usage "ERROR: Invalid target '\$1' specified for '${PKI_PRODUCT_NAME}'!"
+ else
+ RELEASE_TARGET=local
+ BUILD_TARGET="\$1"
+ fi
+ fi
+elif [ \$# -gt 1 ] ; then
+ usage "ERROR: Too many parameters specified for '${PKI_PRODUCT_NAME}'!"
+fi
+
+# This script may ONLY be run on Linux!
+OS=\`uname\`
+if [ "\${OS}" != "Linux" ]; then
+ printf "The '\${BUILD_SCRIPT}' script is ONLY executable on a 'Linux' machine!\n"
+ exit 255
+fi
+
+ant -f config/release.xml -Dbasedir=. -Dspecfile=\${SPECFILE} -Dtarget=\${BUILD_TARGET} \${RELEASE_TARGET}
+
+END_OF_SCRIPT
+chmod 00755 ${PKI_RELEASE_ROOT}/${PKI_RELEASE_SCRIPT}
+
+cd ${PKI_RELEASE_ROOT}
+./${PKI_RELEASE_SCRIPT} ${BUILD_TARGET}
+
diff --git a/pki/linux/ocsp-ui/config/product.xml b/pki/linux/ocsp-ui/config/product.xml
new file mode 100644
index 000000000..33caf48ed
--- /dev/null
+++ b/pki/linux/ocsp-ui/config/product.xml
@@ -0,0 +1,305 @@
+<!-- ### 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 ### -->
+<project name="product.xml" default="main" basedir=".">
+
+ <!-- Set up properties based upon the user's default Ant configuration -->
+ <property file=".ant.properties"/>
+ <property file="${user.home}/.ant.properties"/>
+ <property environment="env"/>
+
+
+ <!-- Check for required properties passed-in via the build scripts -->
+ <fail message="The '-Dspecfile=SPECFILE' property MUST always be specified!"
+ unless="specfile"/>
+
+
+ <!-- Set up optional properties passed-in via the build scripts -->
+ <property name="basedir" value=""/>
+ <property name="dirsec" value=""/>
+ <property name="target" value=""/>
+
+
+ <!-- Set up properties obtained from the spec file -->
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="Name">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_product\s+(.*)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="spec.product.ui.prefix">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_ui_prefix\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="product.prefix">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_prefix\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="product">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_component\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <!-- if "spec.product.ui.prefix" is "" or "linux", -->
+ <!-- set "product.ui.prefix" to ""; otherwise -->
+ <!-- set "product.ui.prefix" to "spec.product.ui.prefix" -->
+ <condition property="product.ui.prefix"
+ value=""
+ else="${spec.product.ui.prefix}">
+ <or>
+ <equals arg1="${spec.product.ui.prefix}"
+ arg2=""/>
+ <equals arg1="${spec.product.ui.prefix}"
+ arg2="linux"/>
+ </or>
+ </condition>
+
+ <!-- "product.name" is of the form "x-y-z" -->
+ <condition property="product.name"
+ value="${product.ui.prefix}-${product.prefix}-${product}">
+ <not>
+ <equals arg1="${product.ui.prefix}"
+ arg2=""/>
+ </not>
+ </condition>
+
+ <!-- "product.name" is of the form "x-y" -->
+ <condition property="product.name"
+ value="${product.prefix}-${product}">
+ <and>
+ <equals arg1="${product.ui.prefix}"
+ arg2=""/>
+ <not>
+ <equals arg1="${product.prefix}"
+ arg2=""/>
+ </not>
+ </and>
+ </condition>
+
+ <!-- "product.name" is of the form "x" -->
+ <condition property="product.name"
+ value="${product}">
+ <and>
+ <equals arg1="${product.ui.prefix}"
+ arg2=""/>
+ <equals arg1="${product.prefix}"
+ arg2=""/>
+ </and>
+ </condition>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="version">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_version\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+
+ <!-- Set up architecture-dependent properties -->
+ <exec executable="uname"
+ failonerror="true"
+ outputproperty="arch">
+ <arg line="-i"/>
+ </exec>
+
+ <!-- Set up architecture-independent properties -->
+ <property name="jar.home" value="/usr/share/java"/>
+ <property name="pki-jar.home" value="${jar.home}/${product.prefix}"/>
+ <property name="jni-jar.home" value="/usr/lib/java"/>
+
+ <!-- Set up properties that control various build options -->
+ <property name="debug" value="true"/>
+ <property name="chmod.fail" value="true"/>
+ <property name="chmod.maxparallel" value="250"/>
+ <property name="deprecation" value="false"/>
+ <property name="optimize" value="true"/>
+
+
+ <!-- Set up properties related to the source tree -->
+ <property name="docs.dir" value="docs"/>
+ <property name="lib.dir" value="lib"/>
+ <property name="src.dir" value="src"/>
+ <property name="test.dir" value="test"/>
+ <property name="etc.dir" value="${src.dir}/etc"/>
+ <property name="script.dir" value="${src.dir}/script"/>
+
+
+ <!-- Set up properties for the release area -->
+ <property name="release.root" value="."/>
+
+
+ <!-- Set up properties for the build area -->
+ <property name="build.dir" value="build"/>
+ <property name="bootstrap.dir" value="bootstrap"/>
+ <property name="build.jars" value="${build.dir}/jars"/>
+ <property name="build.classes" value="${build.dir}/classes"/>
+ <property name="build.lib" value="${build.dir}/lib"/>
+ <property name="build.javadocs" value="${build.dir}/javadocs"/>
+ <property name="build.tests" value="${build.dir}/testcases"/>
+ <property name="build.tests.javadocs" value="${build.dir}/javadocs.test/"/>
+ <property name="manifest.tmp" value="${build.dir}/optional.manifest"/>
+
+
+ <!-- Set up properties for the distribution area -->
+ <property name="dist.name" value="${product.name}-${version}"/>
+ <property name="dist.base" value="dist"/>
+ <property name="dist.base.source" value="${dist.base}/source"/>
+ <property name="dist.base.binaries" value="${dist.base}/binary"/>
+ <property name="dist.dir" value="dist"/>
+ <property name="dist.bin" value="${dist.dir}/bin"/>
+ <property name="dist.lib" value="${dist.dir}/lib"/>
+ <property name="dist.docs" value="${dist.dir}/docs"/>
+ <property name="dist.etc" value="${dist.dir}/etc"/>
+ <property name="src.dist.name" value="${product.name}-${version}"/>
+ <property name="src.dist.dir" value="dist-src"/>
+ <property name="src.dist.src" value="${src.dist.dir}/src"/>
+ <property name="src.dist.docs" value="${src.dist.dir}/docs"/>
+ <property name="src.dist.lib" value="${src.dist.dir}/lib"/>
+
+
+ <!-- Set up properties for log messages -->
+ <property name="begin.clean.log.message"
+ value="Removing '${product.name}' component directories ..."/>
+ <property name="empty.clean.log.message"
+ value="Nothing to do!"/>
+ <property name="end.clean.log.message"
+ value="Completed removing '${product.name}' component directories."/>
+ <property name="begin.download.log.message"
+ value="Downloading '${product.name}' dependent components ..."/>
+ <property name="empty.download.log.message"
+ value="Nothing to do!"/>
+ <property name="end.download.log.message"
+ value="Completed downloading '${product.name}' dependent components."/>
+ <property name="begin.compile.java.log.message"
+ value="Compiling '${product.name}' java code from '${src.dir}' into '${build.classes}' ..."/>
+ <property name="empty.compile.java.log.message"
+ value="Nothing to do!"/>
+ <property name="end.compile.java.log.message"
+ value="Completed compiling '${product.name}' java code from '${src.dir}' into '${build.classes}'."/>
+ <property name="begin.build.jars.log.message"
+ value="Generating '${product.name}' jar files ..."/>
+ <property name="empty.build.jars.log.message"
+ value="Nothing to do!"/>
+ <property name="end.build.jars.log.message"
+ value="Completed generating '${product.name}' jar files."/>
+ <property name="begin.build.jni.headers.log.message"
+ value="Generating '${product.name}' java header files ..."/>
+ <property name="empty.build.jni.headers.log.message"
+ value="Nothing to do!"/>
+ <property name="end.build.jni.headers.log.message"
+ value="Completed generating '${product.name}' java header files."/>
+ <property name="notify.build.log.message"
+ value="Built classes, jars, and jni headers for the '${product.name}' component."/>
+ <property name="begin.compile.junit.tests.log.message"
+ value="Compiling '${product.name}' junit tests from '${test.dir}' into '${build.tests}' ..."/>
+ <property name="empty.compile.junit.tests.log.message"
+ value="Nothing to do!"/>
+ <property name="end.compile.junit.tests.log.message"
+ value="Completed compiling '${product.name}' junit tests from '${test.dir}' into '${build.tests}'."/>
+ <property name="begin.run.junit.tests.log.message"
+ value="Executing '${product.name}' tests ..."/>
+ <property name="empty.run.junit.tests.log.message"
+ value="Nothing to do!"/>
+ <property name="end.run.junit.tests.log.message"
+ value="Completed executing '${product.name}' tests."/>
+ <property name="notify.verify.log.message"
+ value="Verified the '${product.name}' component."/>
+ <property name="begin.clean.javadocs.log.message"
+ value="Removing '${product.name}' javadocs directory ..."/>
+ <property name="empty.clean.javadocs.log.message"
+ value="Nothing to do!"/>
+ <property name="end.clean.javadocs.log.message"
+ value="Completed removing '${product.name}' javadocs directory."/>
+ <property name="begin.compose.javadocs.log.message"
+ value="Composing '${product.name}' javadocs ..."/>
+ <property name="empty.compose.javadocs.log.message"
+ value="Nothing to do!"/>
+ <property name="end.compose.javadocs.log.message"
+ value="Completed composing '${product.name}' javadocs."/>
+ <property name="notify.document.log.message"
+ value="Documented '${product.name}' javadocs."/>
+ <property name="begin.distribute.binaries.log.message"
+ value="Creating '${product.name}' binary distributions ..."/>
+ <property name="begin.binary.wrappers.log.message"
+ value=" Creating '${product.name}' binary wrappers ..."/>
+ <property name="empty.binary.wrappers.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.wrappers.log.message"
+ value=" Completed creating '${product.name}' binary wrappers."/>
+ <property name="begin.binary.zip.log.message"
+ value=" Creating '${product.name}' binary zip files ..."/>
+ <property name="empty.binary.zip.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.zip.log.message"
+ value=" Completed creating '${product.name}' binary zip files."/>
+ <property name="begin.binary.tar.log.message"
+ value=" Creating '${product.name}' binary tar files ..."/>
+ <property name="empty.binary.tar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.tar.log.message"
+ value=" Completed creating '${product.name}' binary tar files."/>
+ <property name="begin.binary.gtar.log.message"
+ value=" Creating '${product.name}' binary gzip files ..."/>
+ <property name="empty.binary.gtar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.gtar.log.message"
+ value=" Completed creating '${product.name}' binary gzip files."/>
+ <property name="end.distribute.binaries.log.message"
+ value="Completed creating '${product.name}' binary distributions."/>
+ <property name="begin.distribute.source.log.message"
+ value="Creating '${product.name}' source distributions ..."/>
+ <property name="begin.source.zip.log.message"
+ value=" Creating '${product.name}' source zip files ..."/>
+ <property name="empty.source.zip.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.source.zip.log.message"
+ value=" Completed creating '${product.name}' source zip files."/>
+ <property name="begin.source.tar.log.message"
+ value=" Creating '${product.name}' source tar files ..."/>
+ <property name="empty.source.tar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.source.tar.log.message"
+ value=" Completed creating '${product.name}' source tar files."/>
+ <property name="begin.source.gtar.log.message"
+ value=" Creating '${product.name}' source gzip files ..."/>
+ <property name="empty.source.gtar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.source.gtar.log.message"
+ value=" Completed creating '${product.name}' source gzip files."/>
+ <property name="end.distribute.source.log.message"
+ value="Completed creating '${product.name}' source distributions."/>
+ <property name="notify.distribute.log.message"
+ value="Distributed '${product.name}' distribution packages."/>
+ <property name="notify.main.log.message"
+ value="Built, verified, documented, and distributed a fresh '${product.name}' component."/>
+
+</project>
+
diff --git a/pki/linux/ocsp-ui/config/release.xml b/pki/linux/ocsp-ui/config/release.xml
new file mode 100644
index 000000000..fc43aaeb7
--- /dev/null
+++ b/pki/linux/ocsp-ui/config/release.xml
@@ -0,0 +1,86 @@
+<!-- ### 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 ### -->
+<project name="release.xml" default="main" basedir="${basedir}">
+
+ <echo message="Importing shared properties ..."/>
+ <import file="product.xml"/>
+ <import file="product-ext.xml" optional="true"/>
+ <import file="release-ext.xml" optional="true"/>
+ <echo message="Completed importing shared properties."/>
+
+
+ <target name="local"
+ depends=""
+ description="--> Generate this target locally">
+ <echo message="Generating the '${product.name}' target locally ..."/>
+ <exec executable="ant" dir="${release.root}">
+ <arg value="-Dspecfile=${product.name}.spec"/>
+ <arg value="-Ddirsec=${dirsec}"/>
+ <arg value="${target}"/>
+ </exec>
+ <echo message="Completed generating the '${product.name}' target locally."/>
+ </target>
+
+
+ <target name="main"
+ depends=""
+ description="--> Generate component RPMS and SRPMS">
+ <echo message="Generating '${product.name}' RPMS and SRPMS ..."/>
+
+ <exec executable="pwd"
+ failonerror="true"
+ outputproperty="top.dir"/>
+ <echo message="Established the '${top.dir}' top-level directory."/>
+
+ <echo message="Creating the '${product.name}' source distribution ..."/>
+ <exec executable="ant"
+ dir="${release.root}">
+ <arg value="-Dspecfile=${product.name}.spec"/>
+ <arg value="-Ddirsec=${dirsec}"/>
+ <arg value="distribute_source"/>
+ </exec>
+ <echo message="Completed creating the '${product.name}' source distribution."/>
+
+ <echo message="Creating '${product.name}' RPM directories ..."/>
+ <mkdir dir="${release.root}/dist/rpmpkg"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/SOURCES"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/RPMS"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/SRPMS"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/SPECS"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/BUILD"/>
+ <echo message="Completed creating '${product.name}' RPM directories."/>
+
+ <echo message="Building '${product.name}' RPMS and SRPMS ..."/>
+ <exec executable="rpmbuild"
+ dir="${release.root}">
+ <arg value="--define"/>
+ <arg value="_topdir ${top.dir}/${release.root}/dist/rpmpkg"/>
+ <arg value="-ta"/>
+ <arg value="${top.dir}/${release.root}/dist/source/${product.name}-${version}.tar.gz"/>
+ </exec>
+ <echo message="Completed building '${product.name}' RPMS and SRPMS."/>
+
+ <echo message="Removing various '${product.name}' RPM directories and files ..."/>
+ <delete dir="${release.root}/dist/rpmpkg/BUILD"/>
+ <echo message="Completed removing various '${product.name}' RPM directories and files."/>
+
+ <echo message="Completed generating '${product.name}' RPMS and SRPMS."/>
+ </target>
+
+</project>
+
diff --git a/pki/linux/ocsp-ui/pki-ocsp-ui.spec b/pki/linux/ocsp-ui/pki-ocsp-ui.spec
new file mode 100644
index 000000000..8c9d62529
--- /dev/null
+++ b/pki/linux/ocsp-ui/pki-ocsp-ui.spec
@@ -0,0 +1,227 @@
+# 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.
+#
+# (C) 2007 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+###############################################################################
+### D E F I N I T I O N S ###
+###############################################################################
+
+## Entity Definitions
+%define base_entity Dogtag
+%define base_prefix pki
+%define base_ui_prefix linux
+
+## Product Definitions
+%define base_system Certificate System
+%define base_product Online Certificate Status Protocol User Interface
+%define base_component ocsp-ui
+%define base_pki %{base_entity} %{base_system}
+
+## Package Header Definitions
+%define base_name %{base_prefix}-%{base_component}
+%define base_version 1.0.0
+%define base_release 1
+%define base_group System Environment/Base
+%define base_vendor Red Hat, Inc.
+%define base_license GPLv2 with exceptions
+%define base_packager %{base_vendor} <http://bugzilla.redhat.com/bugzilla>
+%define base_summary %{base_pki} - %{base_product}
+%define base_url http://pki-svn.fedora.redhat.com/wiki/PKI_Documentation
+
+## Helper Definitions
+%define pki_ca %{base_entity} Certificate Authority
+%define pki_drm %{base_entity} Data Recovery Manager
+%define pki_ds Fedora Directory Server
+%define pki_ocsp %{base_entity} Online Certificate Status Protocol Manager
+%define pki_ra %{base_entity} Registration Authority
+%define pki_tks %{base_entity} Token Key Service
+%define pki_tps %{base_entity} Token Processing System
+
+## Don't build the debug packages
+%define debug_package %{nil}
+
+
+##===================##
+## Linux Definitions ##
+##===================##
+%ifos Linux
+## A distribution model is required on certain Linux operating systems!
+##
+## check for a pre-defined distribution model
+%define undefined_distro %(test "%{dist}"="" && echo 1 || echo 0)
+%if %{undefined_distro}
+%define is_fedora %(test -e /etc/fedora-release && echo 1 || echo 0)
+%if %{is_fedora}
+## define a default distribution model on Fedora Linux
+%define dist_prefix .fc
+%define dist_version %(echo `rpm -qf --qf='%{VERSION}' /etc/fedora-release` | tr -d [A-Za-z])
+%define dist %{dist_prefix}%{dist_version}
+%else
+%define is_redhat %(test -e /etc/redhat-release && echo 1 || echo 0)
+%if %{is_redhat}
+## define a default distribution model on Red Hat Linux
+%define dist_prefix .el
+%define dist_version %(echo `rpm -qf --qf='%{VERSION}' /etc/redhat-release` | tr -d [A-Za-z])
+%define dist %{dist_prefix}%{dist_version}
+%endif
+%endif
+%endif
+%endif
+
+
+
+###############################################################################
+### P A C K A G E H E A D E R ###
+###############################################################################
+
+Name: %{base_name}
+Version: %{base_version}
+Release: %{base_release}%{?dist}
+Summary: %{base_summary}
+Vendor: %{base_vendor}
+URL: %{base_url}
+License: %{base_license}
+Packager: %{base_packager}
+Group: %{base_group}
+
+
+## Without AutoReqProv: no, rpmbuild finds all sorts of crazy
+## dependencies that we don't care about, and refuses to install
+AutoReqProv: no
+
+BuildArch: noarch
+BuildRoot: %{_builddir}/%{base_name}-root
+
+
+## NOTE: This spec file may require a specific JDK, "gcc", and/or "gcc-c++"
+## packages as well as the "rpm" and "rpm-build" packages.
+##
+## Technically, "ant" should not need to be in "BuildRequires" since
+## it is the Java equivalent of "make" (and/or "Autotools").
+##
+BuildRequires: ant >= 1.6.2
+
+## Without Requires something, rpmbuild will abort!
+Requires: bash >= 3.0
+Provides: %{base_prefix}-%{base_component}
+
+
+## This package is non-relocatable!
+#Prefix:
+
+Source0: %{base_name}-%{base_version}.tar.gz
+
+## This package currently contains no patches!
+#Patch0:
+
+
+%description
+%{base_pki} is an enterprise software system designed
+to manage enterprise Public Key Infrastructure (PKI) deployments.
+
+The %{base_entity} %{base_product} contains the graphical
+user interface for the %{pki_ocsp}.
+
+
+
+###############################################################################
+### P R E P A R A T I O N & S E T U P ###
+###############################################################################
+
+## On Linux systems, prep and setup expect there to be a Source file
+## in the /usr/src/redhat/SOURCES directory - it will be unpacked
+## in the _builddir (not BuildRoot)
+%prep
+
+
+%setup -q
+
+
+## This package currently contains no patches!
+#%patch0
+# patches
+
+
+
+###############################################################################
+### B U I L D P R O C E S S ###
+###############################################################################
+
+%build
+ant -Dspecfile=%{base_name}.spec
+
+
+
+###############################################################################
+### I N S T A L L A T I O N P R O C E S S ###
+###############################################################################
+
+%install
+cd dist/binary
+unzip %{name}-%{version}.zip -d ${RPM_BUILD_ROOT}
+
+
+
+###############################################################################
+### C L E A N U P P R O C E S S ###
+###############################################################################
+
+%clean
+rm -rf ${RPM_BUILD_ROOT}
+
+
+
+###############################################################################
+### P R E & P O S T I N S T A L L / U N I N S T A L L S C R I P T S ###
+###############################################################################
+
+## This package currently contains no pre-installation process!
+#%pre
+
+
+## This package currently contains no post-installation process!
+#%post
+
+
+## This package currently contains no pre-uninstallation process!
+#%preun
+
+
+## This package currently contains no post-uninstallation process!
+#%postun
+
+
+
+###############################################################################
+### I N V E N T O R Y O F F I L E S A N D D I R E C T O R I E S ###
+###############################################################################
+
+%files
+%attr(-,root,root) %{_datadir}/doc/%{base_name}-%{base_version}/*
+%attr(-,root,root) %{_datadir}/%{base_prefix}/*
+
+
+
+###############################################################################
+### C H A N G E L O G ###
+###############################################################################
+
+%changelog
+* Tue Feb 19 2008 PKI Team <pki-devel@redhat.com> 1.0.0-1
+- Initial open source version based upon proprietary
+ Red Hat Certificate System (RHCS) 7.3.
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ROOT/WEB-INF/web.xml b/pki/linux/ocsp-ui/shared/webapps/ROOT/WEB-INF/web.xml
new file mode 100644
index 000000000..ed274862b
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ROOT/WEB-INF/web.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- BEGIN COPYRIGHT BLOCK
+ Copyright 2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ END COPYRIGHT BLOCK -->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <display-name>Welcome to Tomcat</display-name>
+ <description>
+ Welcome to Tomcat
+ </description>
+
+</web-app>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ROOT/index.html b/pki/linux/ocsp-ui/shared/webapps/ROOT/index.html
new file mode 100644
index 000000000..4ebf3fe5f
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ROOT/index.html
@@ -0,0 +1,22 @@
+<!-- --- 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 --- -->
+<html>
+<head>
+<meta http-equiv="refresh" content="0; URL=https://[PKI_MACHINE_NAME]:[PKI_SECURE_PORT]/ocsp/services">
+</head>
+</html>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ROOT/index.jsp b/pki/linux/ocsp-ui/shared/webapps/ROOT/index.jsp
new file mode 100644
index 000000000..d3a2276bd
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ROOT/index.jsp
@@ -0,0 +1,13 @@
+<!-- --- BEGIN COPYRIGHT BLOCK ---
+ Copyright (C) 2006 Red Hat, Inc.
+ All rights reserved.
+ --- END COPYRIGHT BLOCK --- -->
+<%
+ String op = request.getParameter("op");
+ if (op == null || op.equals("")) {
+ String redirectURL = "/ca/ee/ca";
+ response.sendRedirect(redirectURL);
+ } else if (op.equals("enroll")) {
+ /* redirect to enrollment servlet */
+ }
+%>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/GenUnexpectedError.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/GenUnexpectedError.template
new file mode 100644
index 000000000..c69aaad1f
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/GenUnexpectedError.template
@@ -0,0 +1,70 @@
+<!-- --- 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 Processing Error
+</TITLE>
+
+<BODY BGCOLOR="white">
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Problem Processing Your Request
+</font>
+
+<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" BACKGROUND="/ca/agent/graphics/hr.gif" >
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="JavaScript">
+var authority = 'Certificate System';
+if (result.fixed.authorityName != null) {
+ authority = result.fixed.authorityName;
+}
+
+document.writeln('<P>');
+document.write('The '+authority+' encountered an unexpected error ');
+document.writeln(' while processing your request.');
+document.writeln(
+ 'The following is a detailed message of the error that occurred.');
+
+document.writeln('<P>');
+document.writeln('<BLOCKQUOTE><B><PRE>');
+if (result.fixed.unexpectedError != null) {
+ document.write(result.fixed.unexpectedError);
+} else {
+ document.write('No further details provided.');
+}
+document.writeln('</PRE></B></BLOCKQUOTE>');
+
+document.writeln('<P>');
+document.writeln(
+ 'Please consult your local administrator for further assistance.');
+document.writeln('The Certificate System logs may provide further information.');
+</SCRIPT>
+
+</font>
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/velocity.properties b/pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/velocity.properties
new file mode 100644
index 000000000..e956f52e8
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/velocity.properties
@@ -0,0 +1,13 @@
+# --- BEGIN COPYRIGHT BLOCK ---
+# Copyright (C) 2006 Red Hat, Inc.
+# All rights reserved.
+# --- END COPYRIGHT BLOCK ---
+#
+resource.loader = file
+file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
+file.resource.loader.path = [PKI_INSTANCE_PATH]/webapps/[PKI_SUBSYSTEM_TYPE]
+file.resource.loader.cache = true
+file.resource.loader.modificationCheckInterval = 2
+input.encoding=UTF-8
+output.encoding=UTF-8
+runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/web.xml b/pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/web.xml
new file mode 100644
index 000000000..5f15c3d0a
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/WEB-INF/web.xml
@@ -0,0 +1,597 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- BEGIN COPYRIGHT BLOCK
+ Copyright (C) 2006 Red Hat, Inc.
+ All rights reserved.
+ END COPYRIGHT BLOCK -->
+<!DOCTYPE web-app
+ PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "file:///usr/share/rhpki/setup/web-app_2_3.dtd">
+<web-app>
+
+ <servlet>
+ <servlet-name>csadmin-wizard</servlet-name>
+ <servlet-class>com.netscape.cms.servlet.wizard.WizardServlet</servlet-class>
+ <init-param>
+ <param-name>properties</param-name>
+ <param-value>/WEB-INF/velocity.properties</param-value>
+ </init-param>
+ <init-param>
+ <param-name>name</param-name>
+ <param-value>OCSP Setup Wizard</param-value>
+ </init-param>
+ <init-param>
+ <param-name>panels</param-name>
+ <param-value>welcome=com.netscape.cms.servlet.csadmin.WelcomePanel,securitydomain=com.netscape.cms.servlet.csadmin.SecurityDomainPanel,securitydomain=com.netscape.cms.servlet.csadmin.DisplayCertChainPanel,subsystem=com.netscape.cms.servlet.csadmin.CreateSubsystemPanel,restorekeys=com.netscape.cms.servlet.csadmin.RestoreKeyCertPanel,databasepanel=com.netscape.cms.servlet.csadmin.DatabasePanel,modulepanel=com.netscape.cms.servlet.csadmin.ModulePanel,config_hsmloginpanel=com.netscape.cms.servlet.csadmin.ConfigHSMLoginPanel,sizepanel=com.netscape.cms.servlet.csadmin.SizePanel,namepanel=com.netscape.cms.servlet.csadmin.NamePanel,certrequestpanel=com.netscape.cms.servlet.csadmin.CertRequestPanel,backupkeys=com.netscape.cms.servlet.csadmin.BackupKeyCertPanel,savepk12=com.netscape.cms.servlet.csadmin.SavePKCS12Panel,adminpanel=com.netscape.cms.servlet.csadmin.AdminPanel,importadmincertpanel=com.netscape.cms.servlet.csadmin.ImportAdminCertPanel,donepanel=com.netscape.cms.servlet.csadmin.DonePanel</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>csadmin-login</servlet-name>
+ <servlet-class>com.netscape.cms.servlet.csadmin.LoginServlet</servlet-class>
+ <init-param>
+ <param-name>properties</param-name>
+ <param-value>/WEB-INF/velocity.properties</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>config-db</servlet-name>
+ <servlet-class>com.netscape.cms.servlet.csadmin.ConfigDatabaseServlet</servlet-class>
+ <init-param>
+ <param-name>properties</param-name>
+ <param-value>/WEB-INF/velocity.properties</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>config-hsm</servlet-name>
+ <servlet-class>com.netscape.cms.servlet.csadmin.ConfigHSMServlet</servlet-class>
+ <init-param>
+ <param-name>properties</param-name>
+ <param-value>/WEB-INF/velocity.properties</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>config-rootca</servlet-name>
+ <servlet-class>com.netscape.cms.servlet.csadmin.ConfigRootCAServlet</servlet-class>
+ <init-param>
+ <param-name>properties</param-name>
+ <param-value>/WEB-INF/velocity.properties</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>config-join</servlet-name>
+ <servlet-class>com.netscape.cms.servlet.csadmin.ConfigJoinServlet</servlet-class>
+ <init-param>
+ <param-name>properties</param-name>
+ <param-value>/WEB-INF/velocity.properties</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>config-clone</servlet-name>
+ <servlet-class>com.netscape.cms.servlet.csadmin.ConfigCloneServlet</servlet-class>
+ <init-param>
+ <param-name>properties</param-name>
+ <param-value>/WEB-INF/velocity.properties</param-value>
+ </init-param>
+ </servlet>
+
+
+ <servlet>
+ <servlet-name> ocspregistry </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.RegistryAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspregistry </param-value> </init-param> <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspacl </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.ACLAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspacl </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ </servlet>
+ <servlet>
+ <servlet-name> ocspjobsScheduler </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.JobsAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspjobsScheduler </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspug </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.UsrGrpAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspug </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ </servlet>
+ <servlet>
+ <servlet-name> ocspserver </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.CMSAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspserver </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocsplog </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.LogAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocsplog </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ </servlet>
+ <servlet>
+ <servlet-name> ocspauths </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.AuthAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspauths </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspstart </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.base.CMSStartServlet </servlet-class>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> cfgPath </param-name>
+ <param-value> [PKI_INSTANCE_PATH]/conf/CS.cfg </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspstart </param-value> </init-param>
+ <load-on-startup> 1 </load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspocsp </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.admin.OCSPAdminServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspocsp </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspReadCheckCertPage </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.base.DisplayHtmlServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> htmlPath </param-name>
+ <param-value> /ocsp/CheckCert.html </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspReadCheckCertPage </param-value> </init-param>
+ <init-param><param-name> unauthorizedTemplate </param-name>
+ <param-value> /agent/GenUnauthorized.template </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspindex </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.base.IndexServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspindex </param-value> </init-param>
+ <init-param><param-name> template </param-name>
+ <param-value> /agent/index.template </param-value> </init-param>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ </servlet>
+ <servlet>
+ <servlet-name> ocspReadAddCRLPage </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.base.DisplayHtmlServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> htmlPath </param-name>
+ <param-value> /agent/ocsp/AddCRL.html </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspReadAddCRLPage </param-value> </init-param>
+ <init-param><param-name> unauthorizedTemplate </param-name>
+ <param-value> /agent/GenUnauthorized.template </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspGetOCSPInfo </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.ocsp.GetOCSPInfo </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspGetOCSPInfo </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.ocsp.info </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ <init-param><param-name> templatePath </param-name>
+ <param-value> /agent/ocsp/getOCSPInfo.template </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspListCAs </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.ocsp.ListCAServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspListCAs </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.ocsp.cas </param-value> </init-param>
+ <init-param><param-name> templatePath </param-name>
+ <param-value> /agent/ocsp/listCAs.template </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspAddCRL </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.ocsp.AddCRLServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspAddCRL </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.ocsp.crl </param-value> </init-param>
+ <init-param><param-name> templatePath </param-name>
+ <param-value> /agent/ocsp/addCRL.template </param-value> </init-param>
+ </servlet>
+ <servlet>
+ <servlet-name> ocspports </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.base.PortsServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspports </param-value> </init-param>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> false </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> ee </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspGetConfigEntries </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.csadmin.GetConfigEntries </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> false </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspGetConfigEntries </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> TokenAuth </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.clone.configuration </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspCheckCert </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.ocsp.CheckCertServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspCheckCert </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.ocsp.certificate </param-value> </init-param>
+ <init-param><param-name> templatePath </param-name>
+ <param-value> /agent/ocsp/checkCert.template </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspAddCA </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.ocsp.AddCAServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspAddCA </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.ocsp.ca </param-value> </init-param>
+ <init-param><param-name> templatePath </param-name>
+ <param-value> /agent/ocsp/addCA.template </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspReadAddCAPage </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.base.DisplayHtmlServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> agent </param-value> </init-param>
+ <init-param><param-name> htmlPath </param-name>
+ <param-value> /agent/ocsp/AddCA.html </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspReadAddCAPage </param-value> </init-param>
+ <init-param><param-name> unauthorizedTemplate </param-name>
+ <param-value> /agent/GenUnauthorized.template </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspheader </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.base.IndexServlet </servlet-class>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspheader </param-value> </init-param>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> true </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> certUserDBAuthMgr </param-value> </init-param>
+ <init-param><param-name> template </param-name>
+ <param-value> /agent/header.template </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> eeocspAddCRL </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.ocsp.AddCRLServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> false </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> eeocspAddCRL </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.ee.crl </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> services </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.csadmin.MainPageServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> false </param-value> </init-param>
+ <init-param><param-name> authorityId </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> services </param-value> </init-param>
+ <init-param><param-name> templatePath </param-name>
+ <param-value> /services.template </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> ee </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspOCSP </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.ocsp.OCSPServlet </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> false </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspOCSP </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.ee.request.ocsp </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspDownloadPKCS12 </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.csadmin.DownloadPKCS12 </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> false </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspDownloadPKCS12 </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> ee </param-value> </init-param>
+ <init-param><param-name> AuthMgr </param-name>
+ <param-value> TokenAuth </param-value> </init-param>
+ <init-param><param-name> AuthzMgr </param-name>
+ <param-value> BasicAclAuthz </param-value> </init-param>
+ <init-param><param-name> resourceID </param-name>
+ <param-value> certServer.clone.configuration </param-value> </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name> ocspGetTokenInfo </servlet-name>
+ <servlet-class> com.netscape.cms.servlet.csadmin.GetTokenInfo </servlet-class>
+ <init-param><param-name> GetClientCert </param-name>
+ <param-value> false </param-value> </init-param>
+ <init-param><param-name> authority </param-name>
+ <param-value> ocsp </param-value> </init-param>
+ <init-param><param-name> ID </param-name>
+ <param-value> ocspGetTokenInfo </param-value> </init-param>
+ <init-param><param-name> interface </param-name>
+ <param-value> ee </param-value> </init-param>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name> ocspregistry </servlet-name>
+ <url-pattern> /registry </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspacl </servlet-name>
+ <url-pattern> /acl </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspjobsScheduler </servlet-name>
+ <url-pattern> /jobsScheduler </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspug </servlet-name>
+ <url-pattern> /ug </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspserver </servlet-name>
+ <url-pattern> /server </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocsplog </servlet-name>
+ <url-pattern> /log </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspauths </servlet-name>
+ <url-pattern> /auths </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspstart </servlet-name>
+ <url-pattern> /start </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspocsp </servlet-name>
+ <url-pattern> /ocsp </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspReadCheckCertPage </servlet-name>
+ <url-pattern> /agent/ocsp/checkCert.html </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspindex </servlet-name>
+ <url-pattern> /agent/index </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspReadAddCRLPage </servlet-name>
+ <url-pattern> /agent/ocsp/addCRL.html </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspGetOCSPInfo </servlet-name>
+ <url-pattern> /agent/ocsp/getOCSPInfo </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspListCAs </servlet-name>
+ <url-pattern> /agent/ocsp/listCAs </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspAddCRL </servlet-name>
+ <url-pattern> /agent/ocsp/addCRL </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspports </servlet-name>
+ <url-pattern> /ee/ocsp/ports </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspCheckCert </servlet-name>
+ <url-pattern> /agent/ocsp/checkCert </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspAddCA </servlet-name>
+ <url-pattern> /agent/ocsp/addCA </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspReadAddCAPage </servlet-name>
+ <url-pattern> /agent/ocsp/addCA.html </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspheader </servlet-name>
+ <url-pattern> /agent/header </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> eeocspAddCRL </servlet-name>
+ <url-pattern> /ee/ocsp/addCRL </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspOCSP </servlet-name>
+ <url-pattern> /ee/ocsp </url-pattern>
+ </servlet-mapping>
+
+
+
+ <servlet-mapping>
+ <servlet-name>csadmin-wizard</servlet-name>
+ <url-pattern>/admin/console/config/wizard</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>csadmin-login</servlet-name>
+ <url-pattern>/admin/console/config/login</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspGetConfigEntries </servlet-name>
+ <url-pattern> /admin/ocsp/getConfigEntries </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> services </servlet-name>
+ <url-pattern> /services </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspDownloadPKCS12 </servlet-name>
+ <url-pattern> /admin/console/config/savepkcs12 </url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name> ocspGetTokenInfo </servlet-name>
+ <url-pattern> /ee/ocsp/getTokenInfo </url-pattern>
+ </servlet-mapping>
+</web-app>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenError.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenError.template
new file mode 100644
index 000000000..f0cca1ea8
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenError.template
@@ -0,0 +1,80 @@
+<!-- --- 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 Processing Error
+</TITLE>
+
+<BODY BGCOLOR="white">
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Problem Processing Your Request
+</font>
+
+<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" BACKGROUND="/ca/agent/graphics/hr.gif" >
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="JavaScript">
+
+document.writeln('<P>');
+document.write('The '+result.fixed.authorityName+' ');
+document.writeln('encountered a problem while processing your request. ');
+document.writeln(
+ 'The following is a detailed message of the error that occurred.');
+
+document.writeln('<P>');
+document.writeln('<BLOCKQUOTE><B><PRE>');
+if (result.fixed.errorDetails != null) {
+ document.write(result.fixed.errorDetails);
+} else {
+ document.write('No further details provided.');
+}
+document.writeln('</PRE></B></BLOCKQUOTE>');
+
+if (result != null && result.recordSet != null && result.recordSet.length > 0){
+ document.writeln('<P>');
+ document.write('Additional Information:');
+ document.writeln('<P>');
+ document.write('<BLOCKQUOTE><B><PRE>');
+ document.writeln('<UL>');
+ for (var i = 0; i < result.recordSet.length; i++) {
+ if (result.recordSet[i].errorDescription != null) {
+ document.writeln(result.recordSet[i].errorDescription);
+ }
+ }
+ document.writeln('</UL>');
+ document.write('</PRE></B></BLOCKQUOTE>');
+}
+</SCRIPT>
+
+<P>
+Please consult your local administrator for further assistance.
+The Certificate System logs may provide further information.
+
+</font>
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenPending.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenPending.template
new file mode 100644
index 000000000..0ff5f4383
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenPending.template
@@ -0,0 +1,63 @@
+<!-- --- 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 Request Pending
+</TITLE>
+
+<BODY bgcolor="white">
+
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Request Successfully Submitted
+</font>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="JavaScript">
+var authority = 'Certificate Managment System';
+if (result.fixed.authorityName != null)
+ authority = result.fixed.authorityName;
+document.writeln('<P>');
+document.write('Congratulations, your request has been successfully ');
+document.write('submitted to the '+authority+'. ');
+document.write('Your request will be processed when an authorized agent ');
+document.writeln('verifies and validates the information in your request.');
+
+document.writeln('<P>');
+document.write('Your request ID is ');
+if (result.fixed.requestId != null) {
+ document.write('<B>'+result.fixed.requestId+'</B>.');
+ document.writeln('<P>');
+ document.write('Your can check on the status of your request with ');
+ document.write('an authorized agent or local administrator ');
+ document.writeln('by referring to this request ID.');
+} else {
+ document.write('<B>not provided.</B> ');
+ document.write('<P>');
+ document.writeln('Please consult your local administrator for assistance.');
+}
+</SCRIPT>
+
+</font>
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenRejected.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenRejected.template
new file mode 100644
index 000000000..a5dd68f49
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenRejected.template
@@ -0,0 +1,84 @@
+<!-- --- 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 Request Rejected
+</TITLE>
+
+<BODY bgcolor="white">
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Request Rejected
+</font>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="JavaScript">
+
+var authority = 'Certificate System';
+if (result.fixed.authorityName != null) {
+ authority = result.fixed.authorityName;
+}
+
+document.writeln('<P>');
+document.write('Your request has been rejected by the '+authority+'. ' );
+document.write('This may indicate that some attributes of the request ');
+document.write('violate the policies of this '+authority+'. ');
+
+document.writeln('<P>');
+document.writeln('Violation details: ');
+
+document.writeln('<P>');
+document.writeln('<BLOCKQUOTE><B><PRE>');
+if (result == null || result.recordSet == null || result.recordSet.length == 0){
+ document.writeln('No further details provided.');
+}
+else {
+ document.writeln('<UL>');
+ for (var i = 0; i < result.recordSet.length; i++) {
+ if (result.recordSet[i].policyMessage != null) {
+ document.writeln(result.recordSet[i].policyMessage);
+ }
+ }
+ document.writeln('</UL>');
+}
+document.writeln('</PRE></B></BLOCKQUOTE>');
+
+document.writeln('<P>');
+document.write('Your request ID is ');
+if (result.fixed.requestId == null) {
+ document.write('<B>not provided</B>.');
+ document.writeln('<P>');
+ document.write(
+ 'Please consult your local administrator for further assistance.');
+} else {
+ document.write('<B>'+result.fixed.requestId+'</B>. ');
+ document.writeln('<P>');
+ document.write(
+ 'You can contact an authorized agent or local administrator for ');
+ document.writeln('further assistance by referring to the request ID.');
+}
+</SCRIPT>
+
+</font>
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSuccess.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSuccess.template
new file mode 100644
index 000000000..9a0ead814
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSuccess.template
@@ -0,0 +1,46 @@
+<!-- --- 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>
+<!-- This template is intended to be replaced by request specific results ! -->
+<CMS_TEMPLATE>
+
+<TITLE>
+Generic Request Success
+</TITLE>
+
+<BODY BGCOLOR=white>
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Request Successfully Submited
+</font>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="Javascript">
+var authority = 'Certificate System';
+if (request.fixed.authorityName != null)
+ authority = request.fixed.authorityName;
+
+document.writeln('<P>');
+document.write('Congratulations, your request has been successfully ');
+document.write('submitted and processed by the '+authority+'.');
+</SCRIPT>
+
+</font>
+</body>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSvcPending.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSvcPending.template
new file mode 100644
index 000000000..f639a39a9
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenSvcPending.template
@@ -0,0 +1,63 @@
+<!-- --- 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 Request Svc Pending
+</TITLE>
+
+<BODY bgcolor="white">
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Request Successfully Submitted
+</font>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="JavaScript">
+document.writeln('<P>');
+document.write('Your request has been successfully submitted and processed ');
+document.writeln('by the '+result.fixed.authorityName+'.');
+document.write('The '+result.fixed.authorityName+' is waiting for a remote ');
+if (result.fixed.remoteAuthorityName != null)
+ document.write(result.fixed.remoteAuthorityName);
+else
+ document.write('Certificate Manager or Data Recovery manager');
+document.write(' to fill your request.');
+
+document.writeln('<P>');
+document.write('Your request ID is ');
+if (result.fixed.requestId != null) {
+ document.write('<B>'+result.fixed.requestId+'</B>.');
+ document.write('<P>');
+ document.write('Your can check on status of your request with an '+
+ 'authorized agent or local administrator by referring '+
+ 'to this request ID.');
+} else {
+ document.write('not provided. ');
+ document.writeln('Please consult your local administrator for assistance.');
+}
+</SCRIPT>
+
+
+</font>
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnauthorized.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnauthorized.template
new file mode 100644
index 000000000..c29372843
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnauthorized.template
@@ -0,0 +1,44 @@
+<!-- --- 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>
+<!-- This template is intended to be replaced by request specific results ! -->
+<CMS_TEMPLATE>
+
+<TITLE>
+Generic Unauthorized
+</TITLE>
+
+<BODY BGCOLOR=white>
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Unauthorized Access
+</font>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="Javascript">
+document.writeln('<P>');
+document.write('You are not authorized for this operation.');
+document.write('<BR>');
+document.write('If you think this is an error please contact your ');
+document.writeln('local administrator for further assistance.');
+</SCRIPT>
+
+</font>
+</body>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnexpectedError.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnexpectedError.template
new file mode 100644
index 000000000..c69aaad1f
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/GenUnexpectedError.template
@@ -0,0 +1,70 @@
+<!-- --- 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 Processing Error
+</TITLE>
+
+<BODY BGCOLOR="white">
+
+<font size="+1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+Problem Processing Your Request
+</font>
+
+<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" BACKGROUND="/ca/agent/graphics/hr.gif" >
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+
+<font size="-1" face="PrimaSans BT, Verdana, Arial, Helvetica, sans-serif">
+
+<SCRIPT LANGUAGE="JavaScript">
+var authority = 'Certificate System';
+if (result.fixed.authorityName != null) {
+ authority = result.fixed.authorityName;
+}
+
+document.writeln('<P>');
+document.write('The '+authority+' encountered an unexpected error ');
+document.writeln(' while processing your request.');
+document.writeln(
+ 'The following is a detailed message of the error that occurred.');
+
+document.writeln('<P>');
+document.writeln('<BLOCKQUOTE><B><PRE>');
+if (result.fixed.unexpectedError != null) {
+ document.write(result.fixed.unexpectedError);
+} else {
+ document.write('No further details provided.');
+}
+document.writeln('</PRE></B></BLOCKQUOTE>');
+
+document.writeln('<P>');
+document.writeln(
+ 'Please consult your local administrator for further assistance.');
+document.writeln('The Certificate System logs may provide further information.');
+</SCRIPT>
+
+</font>
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/cms-funcs.js b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/cms-funcs.js
new file mode 100644
index 000000000..473fb1795
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/cms-funcs.js
@@ -0,0 +1,539 @@
+// --- 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 ---
+
+
+//<!--
+
+
+function checkClientTime()
+{
+ var speed;
+ var server_date = new Date(serverdate);
+ var client_date = new Date();
+ var zone = client_date.getTimezoneOffset();
+ var timediff = 0;
+
+ var serverutc = server_date.getTime();
+ var clientutc = client_date.getTime();
+
+ var offset = clientutc - serverutc;
+ if (offset >0) {
+ speed = 'fast';
+ } else {
+ speed = 'slow';
+ }
+ timediff = Math.round(Math.abs(offset/1000/60));
+
+ if (timediff > 10) {
+ msg = 'Your computer\'s clock is '+ timediff+ ' minutes '+ speed +
+ '\n\nYou may encounter problems using your certificate\n' +
+ 'as your clock is set incorrectly.\n\n' +
+ 'According to the server, the time is:\n ' + server_date +
+ '\n\nPlease correct your clock before proceeding with enrollment'+
+ '\n\nYour timezone is set to ' + (-zone/60) +' hours relative to GMT.\n' +
+ 'If you change your timezone, you may need to restart your browser\n'+
+ 'before continuing.';
+ alert(msg);
+ return false;
+ }
+ return true;
+}
+
+
+
+
+function doubleQuotes(componentName)
+{
+ for (i=0; i < componentName.length; i++) {
+ if (componentName.charAt(i) == '"') {
+ return true;
+ }
+ }
+ return false;
+}
+
+function escapeDNComponent(str)
+{
+ var outStr = "";
+ var escapeValue = false;
+
+ // Do we need to escape any characters
+ for (i=0; i < str.length; i++) {
+ c = str.charAt(i);
+ if (c == ',' || c == '=' || c == '+' || c == '<' ||
+ c == '>' || c == '#' || c == ';' || c == '\r' ||
+ c == '\n') {
+ escapeValue = true;
+ break;
+ }
+ }
+
+ if (escapeValue == true) {
+ outStr += '"';
+ outStr += str;
+ outStr += '"';
+ } else {
+ outStr += str;
+ }
+ return outStr;
+}
+
+function formulateDN(form, distinguishedName)
+{
+ // Note: The alerts about double quotes are here to avoid
+ // problems with the code dealing with quoting and escaping in the
+ // Netscape Directory Server 1.0 implementation.
+ with (form) {
+ distinguishedName.value = '';
+ if (form.E != null) {
+ if (E.value != '') {
+ if (doubleQuotes(E.value) == true) {
+ alert('Double quotes are not allowed in the E-mail field');
+ E.value = '';
+ E.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'E=' + escapeDNComponent(E.value);
+ }
+ }
+ if (form.CN!= null) {
+ if (CN.value != '') {
+ if (doubleQuotes(CN.value) == true) {
+ alert('Double quotes are not allowed in Common Name field');
+ CN.value = '';
+ CN.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'CN=' + escapeDNComponent(CN.value);
+ }
+ }
+ if (form.UID1 != null) {
+ if (UID1.value != '') {
+ if (doubleQuotes(UID1.value) == true) {
+ alert('Double quotes are not allowed in the user id field');
+ UID1.value = '';
+ UID1.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'UID=' + escapeDNComponent(UID1.value);
+ }
+ }
+ if (form.OU != null) {
+ if (OU.value != '') {
+ if (doubleQuotes(OU.value) == true) {
+ alert('Double quotes are not allowed in Org Unit field');
+ OU.value = '';
+ OU.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'OU=' + escapeDNComponent(OU.value);
+ }
+ }
+ if (form.O != null) {
+ if (O.value != '') {
+ if (doubleQuotes(O.value) == true) {
+ alert('Double quotes are not allowed in Organization field.');
+ O.value = '';
+ O.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'O=' + escapeDNComponent(O.value);
+ }
+ }
+ if (form.L != null) {
+ if (L.value != '') {
+ if (doubleQuotes(L.value) == true) {
+ alert('Double quotes are not allowed in Locality field.');
+ L.value = '';
+ L.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'L=' + escapeDNComponent(L.value);
+ }
+ }
+ if (form.ST != null) {
+ if (ST.value != '') {
+ if (doubleQuotes(ST.value) == true) {
+ alert('Double quotes are not allowed in State field.');
+ ST.value = '';
+ ST.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'ST=' + escapeDNComponent(ST.value);
+ }
+ }
+ if (form.C != null) {
+ if (C.value != '') {
+ if (doubleQuotes(C.value) == true) {
+ alert('Double quotes are not allowed in Country field.');
+ C.value = '';
+ C.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'C=' + escapeDNComponent(C.value);
+ }
+ }
+ }
+}
+
+function isValidIssuerDN(form)
+{
+ // Note: The check here is to avoid a bug in Netscape Navigator 3.0 and 3.01
+ // that are triggered on formation of the nickname on import of a CA cert if
+ // that cert does not contain an OU or O component.
+ if ((form.OU.value == '') && (form.O.value == '')) {
+ alert("You must enter an Organization Unit or an Organization.");
+ return false;
+ } else {
+ return true;
+ }
+}
+
+function isValidAdminDN(form)
+{
+ // Note: The check here is to avoid a bug in Netscape Navigator 3.0 and 3.01
+ // that are triggered on formation of the nickname on import of a personal cert if
+ // that cert does not contain a common name.
+
+ if (form.CN.value == '') {
+ alert("You must enter a Common Name.");
+ return false;
+ } else {
+ return true;
+ }
+}
+
+function isValidCSR(form)
+{
+ // Note: the checks here are of mixed origin. Some are required for Navigator
+ // and Communicator. The CSR field checks are to avoid server side rejection of the
+ // submission. These checks can be split up to be different for different types of
+ // certificates.
+
+ formulateDN(form, form.subject);
+ // DEBUG
+ //alert(form.subject);
+
+ with (form) {
+ if (email != null) {
+ if (E.value == "" && email.checked) {
+ alert("E-mail certificates must include an E-mail address.");
+ return false;
+ }
+ }
+ if (CN.value == "") {
+ alert("You must supply your name for the certificate.");
+ return false;
+ }
+ return true;
+ }
+}
+
+function isNumber(string, radix) {
+ var i = 0;
+ var legalDigits;
+ if (radix == null || radix == 10) {
+ legalDigits = "0123456789";
+ } else if (radix == 16) {
+ legalDigits = "0123456789abcdefABCDEF:";
+ } else {
+ return false;
+ }
+ for(; i < string.length; ++i) {
+ if (string.charAt(i) != ' ')
+ break;
+ }
+ if (string.charAt(i) == '+' || string.charAt(i) == '-' ) {
+ ++i;
+ }
+ if (radix == 16 && i < string.length - 2 &&
+ string.charAt(i) == '0' &&
+ (string.charAt(i+1) == 'x' || string.charAt(i+1) == 'X') &&
+ legalDigits.indexOf(string.charAt(i+2)) != -1) {
+ i += 3;
+ }
+ for(; i < string.length; ++i) {
+ if (legalDigits.indexOf(string.charAt(i)) == -1)
+ break;
+ }
+ for(; i < string.length; ++i) {
+ if (string.charAt(i) != ' ')
+ return false;
+ }
+ return true;
+}
+
+function dateForm(name)
+{
+ var i;
+ document.write('<FORM NAME=\"'+ name +'\">');
+ document.write('<SELECT NAME=\"day\"><OPTION VALUE=0> ');
+ for (i=1; i <=31; ++i)
+ document.write('<OPTION VALUE='+i+'>'+i);
+ document.write('</SELECT>');
+ document.write('<SELECT NAME=\"month\">'+
+ '<OPTION VALUE=13> '+
+ '<OPTION VALUE=0>January'+
+ '<OPTION VALUE=1>February'+
+ '<OPTION VALUE=2>March'+
+ '<OPTION VALUE=3>April'+
+ '<OPTION VALUE=4>May'+
+ '<OPTION VALUE=5>June'+
+ '<OPTION VALUE=6>July'+
+ '<OPTION VALUE=7>August'+
+ '<OPTION VALUE=8>September'+
+ '<OPTION VALUE=9>October'+
+ '<OPTION VALUE=10>November'+
+ '<OPTION VALUE=11>December'+
+ '</SELECT>'
+ );
+
+ document.write('<SELECT NAME=\"year\"><OPTION VALUE=0> ');
+ for (i=1996; i <=2006; ++i)
+ document.write('<OPTION VALUE='+i+'>'+i);
+ document.write('</SELECT>');
+ document.write('</FORM>');
+}
+
+function dateIsEmpty(form)
+{
+ return form.day.selectedIndex == 0 &&
+ form.month.selectedIndex == 0 &&
+ form.year.selectedIndex == 0;
+}
+
+
+function convertDate(form, fieldName)
+{
+ var date;
+ var day = form.day.options[form.day.selectedIndex].value;
+ var month = form.month.options[form.month.selectedIndex].value;
+ var year = form.year.options[form.year.selectedIndex].value;
+ date = new Date(year,month,day);
+
+ // see if normalization was required
+ if (date.getMonth() != month || date.getDate() != day ) {
+ alert(fieldName + " is invalid");
+ return null;
+ }
+ else
+ return Math.round(date.getTime() / 1000);
+}
+
+function daysToSeconds(days){
+ return 3600 * 24 * days;
+}
+
+// encloses value in double quotes preceding all embedded double quotes with \
+function escapeValue(value)
+{
+ var result;
+ var fromIndex = 0, toIndex = 0;
+
+ // kludgy work-around for indexOf JavaScript bug on empty string
+ if (value == "")
+ return '\"\"';
+
+ result = '\"';
+ while ((toIndex = value.indexOf('\"',fromIndex)) != -1) {
+ result += value.substring(fromIndex,toIndex);
+ result += '\\"';
+ fromIndex = toIndex + 1;
+ }
+ result += value.substring(fromIndex,value.length);
+ result += '\"';
+ return result;
+}
+
+// encloses value in double quotes preceding all embedded double quotes and
+// backslashes with backslash
+function escapeValueJSString(value)
+{
+ var result = "";
+
+ // Do we need to escape any characters
+ for (i=0; i < value.length; i++) {
+ c = value.charAt(i);
+ if (c == '\\' | c == '"') {
+ result += '\\';
+ }
+ result += c;
+ }
+ return '\"' + result + '\"';
+}
+
+function escapeValueRfc1779(value)
+{
+ var result = "";
+
+ // Do we need to escape any characters
+ for (i=0; i < value.length; i++) {
+ c = value.charAt(i);
+ if (c == ',' || c == '=' || c == '+' || c == '<' ||
+ c == '>' || c == '#' || c == ';' || c == '\r' ||
+ c == '\n' || c == '\\' | c == '"') {
+ result += '\\';
+ }
+ result += c;
+ }
+ return result;
+}
+
+// helper function to construct name component(pattern)
+function makeComponent(list,tag,value,asPattern)
+{
+ var last = list.length;
+ if (asPattern) {
+ list[last] = (value == "") ? "*" : (tag+"="+escapeValueRfc1779(value));
+ }
+ else if (value != "")
+ list[last] = tag+"="+escapeValueRfc1779(value);
+}
+
+// If asPattern is false formulates the RFC 1779 format subject name
+// from the component parts skipping all components with blank values,
+// otherwise builds RFC 1779-like matching pattern from components
+function computeNameCriterion(form)
+{
+ var asPattern = form.match[1].checked;
+ var result = new Array;
+
+ with (form) {
+ // The order of clauses here determines how components are ordered
+ // in the name sent in the client's request. A site may wish to
+ // re-order the clauses here if their conventions produce names
+ // with components in a different order.
+ makeComponent(result,"E",E.value,asPattern);
+ makeComponent(result,"CN",CN.value,asPattern);
+ makeComponent(result,"UID",UID.value,asPattern);
+ makeComponent(result,"OU",OU.value,asPattern);
+ makeComponent(result,"O",O.value,asPattern);
+ makeComponent(result,"L",L.value,asPattern);
+ makeComponent(result,"ST",ST.value,asPattern);
+ makeComponent(result,"C",C.value,asPattern);
+ }
+ if (result.length == 0)
+ return asPattern ? "0 == 0" : "0 == 1";
+ else
+ return "subject" + ( asPattern ? " ~= " : " == ") +
+ escapeValue(result.join(', '));
+}
+
+function booleanCrit(crit,radioArg)
+{
+ for (var i = 0; i < radioArg.length; ++i ){
+ if( radioArg[i].checked ) {
+ if (radioArg[i].value.length != 0) {
+ crit[crit.length] = radioArg[i].name + " == " + radioArg[i].value;
+ }
+ return;
+ }
+ }
+}
+
+function isHTTPEscapeChar(c)
+{
+ if (c == '%' || c == '#' || c == '+' || c == '=' || c == '\n' ||
+ c == '\r' || c == '\t' || c == ';' || c == '&' ||
+ c == '>') {
+ return true;
+ }
+
+ return false;
+}
+
+function produceHTTPEscapedString(inString)
+{
+ table = new Object();
+ table["%"] = "25";
+ table["#"] = "23";
+ table["+"] = "2B";
+ table["="] = "3D";
+ table["\n"] = "0A";
+ table["\r"] = "0D";
+ table["\t"] = "09";
+ table[";"] = "3B";
+ table["&"] = "26";
+ table[">"] = "3E";
+
+ outString = "";
+
+ for (i=0; i < inString.length; i++) {
+ if (inString.charAt(i) == ' ') {
+ outString += '+';
+ } else {
+ if (isHTTPEscapeChar(inString.charAt(i))) {
+ outString += "%" + table[inString.substring(i, i+1)];
+ } else {
+ outString += inString.charAt(i);
+ }
+ }
+ }
+
+ return outString;
+}
+
+// strips (optional) spaces and 0[xX] prefix at the beginning of s
+function stripPrefix(s)
+{
+ var i;
+ for(i = 0; i < s.length - 1; ++i) {
+ if (s.charAt(i) != ' ' )
+ break;
+ }
+ if (s.charAt(i) == '0' && (s.charAt(i+1) == 'x' || s.charAt(i+1) == 'X')) {
+ return s.substring(i+2,s.length);
+ } else {
+ return s.substring(i,s.length);;
+ }
+}
+
+// removes colons from value and returns the result
+// used as helper to convert colon-separated hexadecimal numbers
+// to regular numbers
+function removeColons(value)
+{
+ var result = "";
+
+ for (i=0; i < value.length; i++) {
+ c = value.charAt(i);
+ if (c != ':' ){
+ result += c;
+ }
+ }
+ return result;
+}
+
+function navMajorVersion()
+{
+ return parseInt(navigator.appVersion.substring(0, navigator.appVersion.indexOf(".")));
+}
+//-->
+
+
+
+
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/funcs.js b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/funcs.js
new file mode 100644
index 000000000..daef83d17
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/funcs.js
@@ -0,0 +1,686 @@
+// --- 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 ---
+
+//<!--
+function doubleQuotes(componentName)
+{
+ for (i=0; i < componentName.length; i++) {
+ if (componentName.charAt(i) == '"') {
+ return true;
+ }
+ }
+ return false;
+}
+
+function escapeDNComponent(str)
+{
+ var outStr = "";
+ var escapeValue = false;
+
+ // Do we need to escape any characters
+ for (i=0; i < str.length; i++) {
+ c = str.charAt(i);
+ if (c == ',' || c == '=' || c == '+' || c == '<' ||
+ c == '>' || c == '#' || c == ';' || c == '\r' ||
+ c == '\n') {
+ escapeValue = true;
+ break;
+ }
+ }
+
+ if (escapeValue == true) {
+ outStr += '"';
+ outStr += str;
+ outStr += '"';
+ } else {
+ outStr += str;
+ }
+ return outStr;
+}
+
+function formulateDN(form, distinguishedName)
+{
+ // Note: The alerts about double quotes are here to avoid
+ // problems with the code dealing with quoting and escaping in the
+ // Netscape Directory Server 1.0 implementation.
+ with (form) {
+ distinguishedName.value = '';
+ if (form.eMail != null) {
+ if (eMail.value != '') {
+ if (doubleQuotes(eMail.value) == true) {
+ alert('Double quotes are not allowed in the E-mail field');
+ eMail.value = '';
+ eMail.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'E=' + escapeDNComponent(eMail.value);
+ }
+ }
+ if (form.commonName != null) {
+ if (commonName.value != '') {
+ if (doubleQuotes(commonName.value) == true) {
+ alert('Double quotes are not allowed in Common Name field');
+ commonName.value = '';
+ commonName.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'CN=' + escapeDNComponent(commonName.value);
+ }
+ }
+ if (form.userID != null) {
+ if (userID.value != '') {
+ if (doubleQuotes(userID.value) == true) {
+ alert('Double quotes are not allowed in the user id field');
+ userID.value = '';
+ userID.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'UID=' + escapeDNComponent(userID.value);
+ }
+ }
+ if (form.orgUnit != null) {
+ if (orgUnit.value != '') {
+ if (doubleQuotes(orgUnit.value) == true) {
+ alert('Double quotes are not allowed in Org Unit field');
+ orgUnit.value = '';
+ orgUnit.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'OU=' + escapeDNComponent(orgUnit.value);
+ }
+ }
+ if (form.org != null) {
+ if (org.value != '') {
+ if (doubleQuotes(org.value) == true) {
+ alert('Double quotes are not allowed in Organization field.');
+ org.value = '';
+ org.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'O=' + escapeDNComponent(org.value);
+ }
+ }
+ if (form.locality != null) {
+ if (locality.value != '') {
+ if (doubleQuotes(locality.value) == true) {
+ alert('Double quotes are not allowed in Locality field.');
+ locality.value = '';
+ locality.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'L=' + escapeDNComponent(locality.value);
+ }
+ }
+ if (form.state != null) {
+ if (state.value != '') {
+ if (doubleQuotes(state.value) == true) {
+ alert('Double quotes are not allowed in State field.');
+ state.value = '';
+ state.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'ST=' + escapeDNComponent(state.value);
+ }
+ }
+ if (form.country != null) {
+ if (country.value != '') {
+ if (doubleQuotes(country.value) == true) {
+ alert('Double quotes are not allowed in Country field.');
+ country.value = '';
+ country.focus();
+ return;
+ }
+ if (distinguishedName.value != '') distinguishedName.value += ', ';
+ distinguishedName.value += 'C=' + escapeDNComponent(country.value);
+ }
+ }
+ }
+}
+
+function isValidIssuerDN(form)
+{
+ // Note: The check here is to avoid a bug in Netscape Navigator 3.0 and 3.01
+ // that are triggered on formation of the nickname on import of a CA cert if
+ // that cert does not contain an OU or O component.
+ if ((form.orgUnit.value == '') && (form.org.value == '')) {
+ alert("You must enter an Organization Unit or an Organization.");
+ return false;
+ } else {
+ return true;
+ }
+}
+
+function isValidAdminDN(form)
+{
+ // Note: The check here is to avoid a bug in Netscape Navigator 3.0 and 3.01
+ // that are triggered on formation of the nickname on import of a personal cert if
+ // that cert does not contain a common name.
+
+ if (form.commonName.value == '') {
+ alert("You must enter a Common Name.");
+ return false;
+ } else {
+ return true;
+ }
+}
+
+function isValidCSR(form)
+{
+ // Note: the checks here are of mixed origin. Some are required for Navigator
+ // and Communicator. The CSR field checks are to avoid server side rejection of the
+ // submission. These checks can be split up to be different for different types of
+ // certificates.
+
+ formulateDN(form, form.subject);
+
+ with (form) {
+ if (isEmailCert != null) {
+ if (eMail.value == "" && isEmailCert.checked) {
+ alert("E-mail certificates must include an E-mail address.");
+ return false;
+ }
+ }
+ if (commonName.value == "") {
+ alert("You must supply your name for the certificate.");
+ return false;
+ }
+ if (csrRequestorName.value == "") {
+ csrRequestorName.value = commonName.value;
+ }
+ if (csrRequestorPhone.value == "" && csrRequestorEmail.value == "") {
+ alert("You must supply a contact phone number or e-mail address.");
+ return false;
+ }
+ return true;
+ }
+}
+
+function isNegative(string) {
+ if (string.charAt(0) == '-')
+ return true;
+ else
+ return false;
+}
+
+function isNumber(string, radix) {
+ var i = 0;
+ var legalDigits;
+ if (radix == null || radix == 10) {
+ legalDigits = "0123456789";
+ } else if (radix == 16) {
+ legalDigits = "0123456789abcdefABCDEF:";
+ } else {
+ return false;
+ }
+ for(; i < string.length; ++i) {
+ if (string.charAt(i) != ' ')
+ break;
+ }
+ if (string.charAt(i) == '+' || string.charAt(i) == '-' ) {
+ ++i;
+ }
+ if (radix == 16 && i < string.length - 2 &&
+ string.charAt(i) == '0' &&
+ (string.charAt(i+1) == 'x' || string.charAt(i+1) == 'X') &&
+ legalDigits.indexOf(string.charAt(i+2)) != -1) {
+ i += 3;
+ }
+ for(; i < string.length; ++i) {
+ if (legalDigits.indexOf(string.charAt(i)) == -1)
+ break;
+ }
+ for(; i < string.length; ++i) {
+ if (string.charAt(i) != ' ')
+ return false;
+ }
+ return true;
+}
+
+function isDecimalNumber(string) {
+ var i = 0;
+ var legalDigits = "0123456789";
+
+ for (; i < string.length; i++) {
+ if (string.charAt(i) != ' ')
+ break;
+ }
+ if (i < string.length &&
+ legalDigits.indexOf(string.charAt(i)) != -1) {
+ i++;
+ } else
+ return false;
+
+ for (; i < string.length; i++) {
+ if (legalDigits.indexOf(string.charAt(i)) == -1)
+ break;
+ }
+ for (; i < string.length; i++) {
+ if (string.charAt(i) != ' ')
+ return false;
+ }
+
+ return true;
+}
+
+function isHexNumber(string) {
+ var i = 0;
+ var legalDigits = "0123456789abcdefABCDEF";
+
+ for (; i < string.length; i++) {
+ if (string.charAt(i) != ' ')
+ break;
+ }
+ if (i < string.length - 2 &&
+ string.charAt(i) == '0' &&
+ (string.charAt(i+1) == 'x' || string.charAt(i+1) == 'X') &&
+ legalDigits.indexOf(string.charAt(i+2)) != -1) {
+ i += 3;
+ } else
+ return false;
+
+ for (; i < string.length; i++) {
+ if (legalDigits.indexOf(string.charAt(i)) == -1)
+ break;
+ }
+ for (; i < string.length; i++) {
+ if (string.charAt(i) != ' ')
+ return false;
+ }
+
+ return true;
+}
+
+function trim(string) {
+ var i, k, newString;
+
+ for (i = 0; i < string.length; i++) {
+ if (string.charAt(i) != ' ' )
+ break;
+ }
+ for (k = string.length - 1; k > i; k--) {
+ if (string.charAt(k) != ' ' )
+ break;
+ }
+ k++;
+
+ if (k > i)
+ newString = string.substring(i, k);
+ else
+ newString = null;
+
+ return newString;
+}
+
+
+function dateForm(name)
+{
+ var i;
+ document.write('<FORM NAME=\"'+ name +'\">');
+ document.write('<SELECT NAME=\"day\"><OPTION VALUE=0> ');
+ for (i=1; i <=31; ++i)
+ document.write('<OPTION VALUE='+i+'>'+i);
+ document.write('</SELECT>');
+ document.write('<SELECT NAME=\"month\">'+
+ '<OPTION VALUE=13> '+
+ '<OPTION VALUE=0>January'+
+ '<OPTION VALUE=1>February'+
+ '<OPTION VALUE=2>March'+
+ '<OPTION VALUE=3>April'+
+ '<OPTION VALUE=4>May'+
+ '<OPTION VALUE=5>June'+
+ '<OPTION VALUE=6>July'+
+ '<OPTION VALUE=7>August'+
+ '<OPTION VALUE=8>September'+
+ '<OPTION VALUE=9>October'+
+ '<OPTION VALUE=10>November'+
+ '<OPTION VALUE=11>December'+
+ '</SELECT>'
+ );
+
+ document.write('<SELECT NAME=\"year\"><OPTION VALUE=0> ');
+ for (i=1996; i <=2006; ++i)
+ document.write('<OPTION VALUE='+i+'>'+i);
+ document.write('</SELECT>');
+ document.write('</FORM>');
+}
+
+function dateIsEmpty(form)
+{
+ return form.day.selectedIndex == 0 &&
+ form.month.selectedIndex == 0 &&
+ form.year.selectedIndex == 0;
+}
+
+
+function convertDate(form, fieldName)
+{
+ var date;
+ var day = form.day.options[form.day.selectedIndex].value;
+ var month = form.month.options[form.month.selectedIndex].value;
+ var year = form.year.options[form.year.selectedIndex].value;
+ date = new Date(year,month,day);
+
+ // see if normalization was required
+ if (date.getMonth() != month || date.getDate() != day || year == 0) {
+ alert(fieldName + " is invalid");
+ return null;
+ }
+ else
+ return date.getTime();
+// return Math.round(date.getTime() / 1000);
+}
+
+function daysToSeconds(days){
+ return 3600 * 24 * days;
+}
+
+// encloses value in double quotes preceding all embedded double quotes with \
+function escapeValue(value)
+{
+ var result;
+ var fromIndex = 0, toIndex = 0;
+
+ // kludgy work-around for indexOf JavaScript bug on empty string
+ if (value == "")
+ return '\"\"';
+
+ result = '\"';
+ while ((toIndex = value.indexOf('\"',fromIndex)) != -1) {
+ result += value.substring(fromIndex,toIndex);
+ result += '\\"';
+ fromIndex = toIndex + 1;
+ }
+ result += value.substring(fromIndex,value.length);
+ result += '\"';
+ return result;
+}
+
+// encloses value in double quotes preceding all embedded double quotes and
+// backslashes with backslash
+function escapeValueJSString(value)
+{
+ var result = "";
+
+ // Do we need to escape any characters
+ for (i=0; i < value.length; i++) {
+ c = value.charAt(i);
+ if (c == '\\' | c == '"') {
+ result += '\\';
+ }
+ result += c;
+ }
+ return '\"' + result + '\"';
+}
+
+function escapeValueRfc1779(value)
+{
+ var result = "";
+
+ // Do we need to escape any characters
+ for (i=0; i < value.length; i++) {
+ c = value.charAt(i);
+ if (c == ',' || c == '=' || c == '+' || c == '<' ||
+ c == '>' || c == '#' || c == ';' || c == '\r' ||
+ c == '\n' || c == '\\' || c == '"') {
+ result += '\\';
+ }
+ result += c;
+ }
+ return result;
+}
+
+// helper function to construct name component(pattern)
+function makeComponent(list,tag,value,asPattern)
+{
+ var last = list.length;
+// if (asPattern) {
+// list[last] = (value == "") ? "*" : (tag+"="+escapeValueRfc1779(value));
+// }
+// else if (value != "")
+ if (value != "") {
+ list[last] = tag+"="+escapeValueRfc1779(value);
+// } else if (!asPattern) {
+// list[last] = tag+"=*";
+ }
+// alert("asPattern = " + asPattern);
+}
+
+// If asPattern is false formulates the RFC 1779 format subject name
+// from the component parts skipping all components with blank values,
+// otherwise builds RFC 1779-like matching pattern from components
+function computeNameCriterion(form)
+{
+ var asPattern = form.match[1].checked;
+ var result = new Array;
+
+ with (form) {
+ // The order of clauses here determines how components are ordered
+ // in the name sent in the client's request. A site may wish to
+ // re-order the clauses here if their conventions produce names
+ // with components in a different order.
+ makeComponent(result,"E",eMail.value,asPattern);
+ makeComponent(result,"CN",commonName.value,asPattern);
+ makeComponent(result,"UID",userID.value,asPattern);
+ makeComponent(result,"OU",orgUnit.value,asPattern);
+ makeComponent(result,"O",org.value,asPattern);
+ makeComponent(result,"L",locality.value,asPattern);
+ makeComponent(result,"ST",state.value,asPattern);
+ makeComponent(result,"C",country.value,asPattern);
+ }
+ if (result.length == 0)
+// return asPattern ? "0 == 0" : "0 == 1";
+ return "(x509Cert.subject=*)";
+ else {
+ return "(x509Cert.subject" + (asPattern ? "~=" : "=") + escapeValue(nsjoin(result,",")) + ")";
+ }
+// escapeValue(result.join(', '));
+}
+
+// helper function to construct name component(pattern)
+function makeComponentFilter(list,tag,value,asPattern)
+{
+ var last = list.length;
+ if (value != "") {
+ if (asPattern) {
+ list[last] = "(x509Cert.subject=*"+tag+"=*"+
+ escapeValueRfc1779(value)+"*)";
+ } else {
+ // exact match (either the end, or appended with ",")
+ list[last] = "(|(x509Cert.subject=*"+tag+"="+
+ escapeValueRfc1779(value)+",*)"
+ +"(x509Cert.subject=*"+tag+"="+
+ escapeValueRfc1779(value)+"))";
+ }
+ }
+}
+
+function computeNameFilter(form)
+{
+ var asPattern = form.match[1].checked;
+ var result = new Array;
+
+ with (form) {
+ // The order of clauses here determines how components are ordered
+ // in the name sent in the client's request. A site may wish to
+ // re-order the clauses here if their conventions produce names
+ // with components in a different order.
+ makeComponentFilter(result,"E",eMail.value,asPattern);
+ makeComponentFilter(result,"CN",commonName.value,asPattern);
+ makeComponentFilter(result,"UID",userID.value,asPattern);
+ makeComponentFilter(result,"OU",orgUnit.value,asPattern);
+ makeComponentFilter(result,"O",org.value,asPattern);
+ makeComponentFilter(result,"L",locality.value,asPattern);
+ makeComponentFilter(result,"ST",state.value,asPattern);
+ makeComponentFilter(result,"C",country.value,asPattern);
+ }
+ if (result.length == 0) {
+ return "(x509Cert.subject=*)";
+ } else {
+ if (asPattern) {
+ return "(|" + nsjoin(result,"") + ")";
+ } else {
+ return "(&" + nsjoin(result,"") + ")";
+ }
+ }
+}
+
+function booleanCrit(crit,radioArg)
+{
+ for (var i = 0; i < radioArg.length; ++i ){
+ if( radioArg[i].checked ) {
+ if (radioArg[i].value.length != 0) {
+ crit[crit.length] = radioArg[i].name + " == " + radioArg[i].value;
+ }
+ return;
+ }
+ }
+}
+
+function isHTTPEscapeChar(c)
+{
+ if (c == '%' || c == '#' || c == '+' || c == '=' || c == '\n' ||
+ c == '\r' || c == '\t' || c == ';' || c == '&' ||
+ c == '>') {
+ return true;
+ }
+
+ return false;
+}
+
+function produceHTTPEscapedString(inString)
+{
+ table = new Object();
+ table["%"] = "25";
+ table["#"] = "23";
+ table["+"] = "2B";
+ table["="] = "3D";
+ table["\n"] = "0A";
+ table["\r"] = "0D";
+ table["\t"] = "09";
+ table[";"] = "3B";
+ table["&"] = "26";
+ table[">"] = "3E";
+
+ outString = "";
+
+ for (i=0; i < inString.length; i++) {
+ if (inString.charAt(i) == ' ') {
+ outString += '+';
+ } else {
+ if (isHTTPEscapeChar(inString.charAt(i))) {
+ outString += "%" + table[inString.substring(i, i+1)];
+ } else {
+ outString += inString.charAt(i);
+ }
+ }
+ }
+
+ return outString;
+}
+
+function isHex(string)
+{
+ if (string.charAt(0) == '0' &&
+ (string.charAt(1) == 'x' || string.charAt(1) == 'X')) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+function writeError(errorDetails)
+{
+ document.write("<center><h2><b>" +
+ "Problem Processing Your Request" +
+ "</b></h2></center><p>" +
+ "The service encountered a problem " +
+ "when processing your request. This problem may " +
+ "indicate a flaw in the form used to submit your " +
+ "request or the values that were entered into the form." +
+ "The following message supplies more information " +
+ "about the error that occurred.<p>");
+ document.write("<blockquote><b><pre>");
+ if (errorDetails != null) {
+ document.write(errorDetails);
+ } else {
+ document.write("Unable to provide details. " +
+ "Contact Administrator.");
+ }
+ document.write("</pre></b></blockquote>");
+ if (result.header.errorDescription != null) {
+ document.write('<p>Additional Information:<p>');
+ document.write('<blockquote><b>');
+ document.write(result.header.errorDescription);
+ document.write('</b></blockquote>');
+ }
+ document.write("<p>");
+ document.write("Please consult your local administrator for " +
+ "further assistance.");
+ document.write("The certificate server's log may provide " +
+ "further information.");
+}
+
+// strips (optional) spaces and 0[xX] prefix at the beginning of s
+function stripPrefix(s)
+{
+ var i;
+ for(i = 0; i < s.length - 1; ++i) {
+ if (s.charAt(i) != ' ' )
+ break;
+ }
+ if (s.charAt(i) == '0' && (s.charAt(i+1) == 'x' || s.charAt(i+1) == 'X')) {
+ return s.substring(i+2,s.length);
+ } else {
+ return s.substring(i,s.length);;
+ }
+}
+
+// removes colons from value and returns the result
+// used as helper to convert colon-separated hexadecimal numbers
+// to regular numbers
+function removeColons(value)
+{
+ var result = "";
+
+ for (i=0; i < value.length; i++) {
+ c = value.charAt(i);
+ if (c != ':' ){
+ result += c;
+ }
+ }
+ return result;
+}
+
+// Replacement for the array.join() function which isn't in MSIE 3.0
+
+function nsjoin(array,str) {
+ val = "";
+ for (i=0; i<array.length; i++) {
+ val = val + array[i];
+ if (i < (array.length-1)) val = val+str;
+ }
+ return val;
+}
+//-->
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgLeftTab.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgLeftTab.gif
new file mode 100644
index 000000000..35a76c859
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgLeftTab.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgRightTab.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgRightTab.gif
new file mode 100644
index 000000000..a519bc759
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/dgRightTab.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/goto-tall.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/goto-tall.gif
new file mode 100644
index 000000000..6eea3ef5c
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/goto-tall.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/graphics.tmp b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/graphics.tmp
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/graphics.tmp
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/gray90.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/gray90.gif
new file mode 100644
index 000000000..c6f811102
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/gray90.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/hr.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/hr.gif
new file mode 100644
index 000000000..14f8acf92
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/hr.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgLeftTab.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgLeftTab.gif
new file mode 100644
index 000000000..a78fbc89d
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgLeftTab.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgRightTab.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgRightTab.gif
new file mode 100644
index 000000000..71852402d
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/lgRightTab.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/spacer.gif b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/spacer.gif
new file mode 100644
index 000000000..13acffe53
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/graphics/spacer.gif
Binary files differ
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/header.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/header.template
new file mode 100644
index 000000000..4396a67bb
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/header.template
@@ -0,0 +1,89 @@
+<!-- --- 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>Header</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body onResize=location.reload() bgcolor="#CCCCCC" link="#FFFFFF" vlink="#FFFFFF" alink="#CCCCFF">
+<table border="0" width="100%" cellspacing="0" cellpadding="0" bgcolor="#666699">
+ <tr>
+ <td>
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td>
+ <table border="0" cellspacing="12" cellpadding="0" width="100%">
+ <tr>
+ <td><font size="-1" face="PrimaSans BT, Verdana, sans-serif" color="white">Dogtag<font color="#999999" size="-2">&reg;</font><b><br>
+ Certificate<br>System</b></font><font size="+1" face="PrimaSans BT, Verdana, sans-serif" color="white"><b></b></font></td>
+ <td></td>
+ <td><font size="+1" face="PrimaSans BT, Verdana, sans-serif" color="white">Agent Services</font> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><img src="/ocsp/agent/graphics/spacer.gif" width="12" height="21"></td>
+<SCRIPT LANGUAGE="JavaScript">
+ for (var i = 0; i < result.recordSet.length; ++i) {
+ if (result.recordSet[i].id == header.selected) {
+ document.write('<td><img src="/ocsp/agent/graphics/lgLeftTab.gif" width="13" height="21"></td>');
+ document.write('<td bgcolor="#cccccc" nowrap>');
+ } else {
+ document.write('<td><img src="/ocsp/agent/graphics/dgLeftTab.gif" width="13" height="21"></td>');
+ document.write('<td bgcolor="#999999" nowrap>');
+ }
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.recordSet[i].type == "CertificateAuthority") {
+ type = "Certificate Manager";
+ } else if (result.recordSet[i].type == "KeyRecoveryAuthority") {
+ type = "Data Recovery Manager";
+ } else if (result.recordSet[i].type == "OCSPAuthority") {
+ type = "Online Certificate Status Manager";
+ } else if (result.recordSet[i].type == "RegistrationAuthority") {
+ type = "Registration Manager";
+ }
+ if (result.recordSet[i].id == header.selected) {
+ document.write('<b>' + type + '</b>');
+ } else {
+ document.write('<a href="../' +
+ result.recordSet[i].id +
+ '/index.html" target="_top">' +
+ type + '</a>');
+ }
+ document.write('</font></td>');
+ if (result.recordSet[i].id == header.selected) {
+ document.write('<td><img src="/ocsp/agent/graphics/lgRightTab.gif" width="16" height="21"></td>');
+ } else {
+ document.write('<td><img src="/ocsp/agent/graphics/dgRightTab.gif" width="16" height="21"></td>');
+ }
+ }
+</SCRIPT>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+</body>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/helpfun.js b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/helpfun.js
new file mode 100644
index 000000000..14a80bb95
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/helpfun.js
@@ -0,0 +1,35 @@
+// --- 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 ---
+
+function help(helptopic) {
+
+ var HelpWin=window.open("","MyWin", "toolbar=no,directories=no,menubar=no,status=no,scrollbars=yes,resizable=yes,width=500,height=500");
+
+ HelpWin.location = helptopic;
+ HelpWin.focus();
+
+}
+
+function helpstatus(helpline) {
+
+ window.status = helpline;
+
+ return true;
+
+}
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.html
new file mode 100644
index 000000000..d9873116c
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.html
@@ -0,0 +1,20 @@
+<!-- --- 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 --- -->
+<HTML>
+<meta http-equiv="Refresh" content="0;URL=/index">
+</HTML>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.template
new file mode 100644
index 000000000..4995377d7
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/index.template
@@ -0,0 +1,149 @@
+<!-- --- 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>Index</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF" link="#666699" vlink="#666699" alink="#333366">
+<table border="0" width="100%" cellspacing="0" cellpadding="6">
+ <tr bgcolor="#666699">
+ <td width=25%>
+ <table border="0" cellspacing="0" cellpadding="6">
+ <tr>
+ <td nowrap><font size="-1" face="PrimaSans BT, Verdana, sans-serif" color="white">Dogtag<b>&reg;<br>
+ Certificate<br>System</b></font> </td>
+ </tr>
+ </table>
+ </td>
+ <td width=65% nowrap><font size="+1" face="PrimaSans BT, Verdana, sans-serif" color="white">Agent Services</font></td>
+ <td width="10%">&nbsp;</td>
+ </tr>
+ <tr valign="TOP">
+ <td>&nbsp;</td>
+ <td>
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr valign="TOP">
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ </tr>
+<SCRIPT LANGUAGE="JavaScript">
+function displayError()
+{
+ document.write("<center><h2><b>" +
+ "Problem Processing Your Request" +
+ "</b></h2></center><p>" +
+ "The service encountered a problem " +
+ "when processing your request. This problem may " +
+ "indicate a flaw in the form used to submit your " +
+ "request or the values that were entered into the form." +
+ "The following message supplies more information " +
+ "about the error that occurred.<p>");
+ document.write("<blockquote><b><pre>");
+ if (result.header.errorDetails != null) {
+ document.write(result.header.errorDetails);
+ } else {
+ document.write("Unable to provide details. " +
+ "Contact Administrator.");
+ }
+ document.write("</pre></b></blockquote>");
+ if (result.header.errorDescription != null) {
+ document.write('<p>Additional Information:<p>');
+ document.write('<blockquote><b>');
+ document.write(result.header.errorDescription);
+ document.write('</b></blockquote>');
+ }
+ document.write("<p>");
+ document.write("Please consult your local administrator for " +
+ "further assistance.");
+ document.write("The certificate server's log may provide " +
+ "further information.");
+}
+
+if (result.header.errorDetails != null) {
+ displayError();
+} else {
+ var displayServices = 'true';
+ for (var i = 0; i < result.recordSet.length; ++i) {
+ document.write('<tr valign="TOP">');
+ document.write('<td>');
+ document.write('<img src="/graphics/goto-tall.gif" width="10" height="15">&nbsp;</td>');
+ document.write('<td>');
+ document.write('<font face="PrimaSans BT, Verdana, sans-serif">');
+ document.write('<a href="');
+ document.write(result.recordSet[i].id + '/index.html');
+ if (result.recordSet[i].type == "RegistrationAuthority") {
+ document.write('">Registration Manager Agent Services</a></font>');
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br>');
+ document.write('The operations available through this menu are used to process certificate requests, revoke certificates, and update information in the directory server.');
+ } else if (result.recordSet[i].type == "CertificateAuthority") {
+ document.write('">Certificate Manager Agent Services</a></font>');
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br>');
+ document.write('The operations available through this menu are used to process certificate requests, revoke certificates, and update information in the directory server.');
+ } else if (result.recordSet[i].type == "OCSPAuthority") {
+ displayServices = 'false';
+ document.write('">Online Certificate Status Manager Agent Services</a></font>');
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br>');
+ document.write('The operations available through this menu are used to check certificate status.');
+ } else if (result.recordSet[i].type == "KeyRecoveryAuthority") {
+ displayServices = 'false';
+ document.write('">Data Recovery Manager Agent Services</a></font>');
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br>');
+ document.write('The operations available through this menu are used to process key requests, and recover keys.');
+ } else {
+ document.write('">Internal Error</a></font>');
+ }
+ document.write('</font></td></tr>');
+ }
+}
+document.write('<tr valign="TOP">');
+document.write('<td>&nbsp;</td>');
+document.write('<td>&nbsp;</td>');
+document.write('</tr>');
+if (displayServices== 'true')
+{
+ document.write('<tr valign="TOP">');
+ document.write('<TD><IMG src="/graphics/goto-tall.gif" width="10" height="15"></TD>');
+ document.write('<TD><FONT face="PrimaSans BT, Verdana, sans-serif">');
+ document.write('<A href="ports">Services Summary</A></FONT></TD>');
+ document.write('</tr>');
+}
+document.write('<TR valign="TOP">');
+document.write('<TD> </TD>');
+document.write('<TD> </TD>');
+document.write('</tr>');
+document.write('</table>');
+document.write('</td>');
+document.write('<td>&nbsp;</td>');
+document.write('</tr>');
+document.write('<tr valign="TOP">');
+document.write('<td>&nbsp;</td>');
+document.write('<td><font size="-1" face="PrimaSans BT, Verdana, sans-serif">');
+document.write('&copy; 2001 Sun Microsystems, Inc. Used by permission. &copy; 2005 Red Hat, Inc.. All rights reserved.');
+document.write('</font></td>');
+document.write('<td>&nbsp;</td>');
+document.write('</tr>');
+
+</SCRIPT>
+
+</table>
+</body>
+</html>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCA.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCA.html
new file mode 100644
index 000000000..b221f10e8
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCA.html
@@ -0,0 +1,68 @@
+<!-- --- 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>Add Certificate Authority</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+</HEAD>
+
+<body bgcolor="#FFFFFF" link="#666699" vlink="#666699" alink="#333366">
+<font size="+1" face="PrimaSans BT, Verdana, sans-serif">Add Certificate Authority<br></font>
+<font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+Use this form to add the certificate chain of a Certificate Authority whose CRL will be accepted by this OCSP Authority.</font>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+
+<FORM ACTION="/ocsp/agent/ocsp/addCA" METHOD=POST>
+
+<table border="0" cellspacing="2" cellpadding="2">
+ <tr>
+ <td valign="top">
+ <font size="-1" face="PrimaSans BT, Verdana, sans-serif">Base 64 encoded certificate (including header and footer):</font>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <textarea cols="50" rows="20" name="cert"></textarea>
+ </td>
+ </tr>
+</table>
+
+<p>
+<br>
+<TABLE cellpadding="6" cellspacing="0" border="0" width="100%" BACKGROUND="/graphics/gray90.gif">
+ <TR>
+ <TD align="right" bgcolor="#e5e5e5">
+ <INPUT TYPE="submit" VALUE="Add" width="72">&nbsp;&nbsp;
+ <font size=-1 face="PrimaSans BT, Verdana, sans-serif"></font>&nbsp;
+ <font size=-1 face="PrimaSans BT, Verdana, sans-serif"></font>&nbsp;&nbsp;&nbsp;
+ <INPUT TYPE="button" VALUE="Help" width="72"
+ onClick="help('/manual/agent_guide/ocspagt.htm#Identifying a CA to Online Certificate Status Manager')">
+ </TD>
+ </TR>
+</TABLE>
+
+</FORM>
+</BODY>
+
+</HTML>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCRL.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCRL.html
new file mode 100644
index 000000000..97e6b8978
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/AddCRL.html
@@ -0,0 +1,81 @@
+<!-- --- 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>Add Certificate Revocation List</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+</HEAD>
+
+<body bgcolor="#FFFFFF" link="#666699" vlink="#666699" alink="#333366">
+<font size="+1" face="PrimaSans BT, Verdana, sans-serif">Add Certificate Revocation List<br></font>
+<font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+Use this form to add the certificate revocation list of a Certificate Authority.</font>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+
+<FORM ACTION="/ocsp/agent/ocsp/addCRL" METHOD=POST>
+
+<table border="0" cellspacing="2" cellpadding="2">
+ <tr>
+ <td valign="top">
+ <font size="-1" face="PrimaSans BT, Verdana, sans-serif">Base 64 encoded Certificate revocation list (including header and footer):</font>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <textarea cols="50" rows="20" name="crl"></textarea>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" align="right">
+ <font size="-1" face="PrimaSans BT, Verdana, sans-serif"></font>
+ </td>
+ <td valign="top">
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" align="right">
+ <font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br></font>
+ </td>
+ <td></td>
+ </tr>
+</table>
+
+<p>
+<br>
+<TABLE cellpadding="6" cellspacing="0" border="0" width="100%" BACKGROUND="/graphics/gray90.gif">
+ <TR>
+ <TD align="right" bgcolor="#e5e5e5">
+ <INPUT TYPE="submit" VALUE="Add" width="72">&nbsp;&nbsp;
+ <font size=-1 face="PrimaSans BT, Verdana, sans-serif"></font>&nbsp;
+ <font size=-1 face="PrimaSans BT, Verdana, sans-serif"></font>&nbsp;&nbsp;&nbsp;
+ <INPUT TYPE="button" VALUE="Help" width="72"
+ onClick="help('/manual/agent_guide/ocspagt.htm#Adding a CRL to Online Certificate Status Manager')">
+ </TD>
+ </TR>
+</TABLE>
+
+</FORM>
+</BODY>
+
+</HTML>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/CheckCert.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/CheckCert.html
new file mode 100644
index 000000000..03e706e3a
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/CheckCert.html
@@ -0,0 +1,68 @@
+<!-- --- 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>Check Certificate Status</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+</HEAD>
+
+<body bgcolor="#FFFFFF" link="#666699" vlink="#666699" alink="#333366">
+<font size="+1" face="PrimaSans BT, Verdana, sans-serif">Check Certificate Status<br></font>
+<font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+Use this form to confirm the status of a certificate.</font>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+
+<FORM ACTION="/ocsp/agent/ocsp/checkCert" METHOD=POST>
+
+<table border="0" cellspacing="2" cellpadding="2">
+ <tr>
+ <td valign="top">
+ <font size="-1" face="PrimaSans BT, Verdana, sans-serif">Base 64 encoded certificate:</font>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <textarea cols="50" rows="20" name="cert"></textarea>
+ </td>
+ </tr>
+</table>
+
+<p>
+<br>
+<TABLE cellpadding="6" cellspacing="0" border="0" width="100%" BACKGROUND="/graphics/gray90.gif">
+ <TR>
+ <TD align="right" bgcolor="#e5e5e5">
+ <INPUT TYPE="submit" VALUE="Check" width="72">&nbsp;&nbsp;
+ <font size=-1 face="PrimaSans BT, Verdana, sans-serif"></font>&nbsp;
+ <font size=-1 face="PrimaSans BT, Verdana, sans-serif"></font>&nbsp;&nbsp;&nbsp;
+ <INPUT TYPE="button" VALUE="Help" width="72"
+ onClick="help('/manual/agent_guide/ocspagt.htm#Checking the Revocation Status of a Certificate')">
+ </TD>
+ </TR>
+</TABLE>
+
+</FORM>
+</BODY>
+
+</HTML>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCA.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCA.template
new file mode 100644
index 000000000..8ce61e83b
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCA.template
@@ -0,0 +1,59 @@
+<!-- --- 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>Adding Certificate Authority</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+if (navigator.appName == "Microsoft Internet Explorer") {
+ document.writeln('<META HTTP-EQUIV="Pragma" CONTENT="no-cache">');
+}
+//-->
+</SCRIPT>
+</head>
+
+<CMS_TEMPLATE>
+
+<body bgcolor="#FFFFFF" link="#6666CC" vlink="#6666CC" alink="#333399">
+<font face="PrimaSans BT, Verdana, sans-serif" size="+1">
+Adding Certificate Authority
+</font><br>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+<br>
+
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+ document.writeln('Certificate authority is added');
+ if (result.header.error != null) {
+ document.write('\nAdditional information:\n ');
+ document.writeln(result.header.error);
+ }
+//-->
+</SCRIPT>
+
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCRL.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCRL.template
new file mode 100644
index 000000000..a7e160418
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/addCRL.template
@@ -0,0 +1,59 @@
+<!-- --- 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>Adding Certificate Revocation List</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+if (navigator.appName == "Microsoft Internet Explorer") {
+ document.writeln('<META HTTP-EQUIV="Pragma" CONTENT="no-cache">');
+}
+//-->
+</SCRIPT>
+</head>
+
+<CMS_TEMPLATE>
+
+<body bgcolor="#FFFFFF" link="#6666CC" vlink="#6666CC" alink="#333399">
+<font face="PrimaSans BT, Verdana, sans-serif" size="+1">
+Adding Certificate Revocation List
+</font><br>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+<br>
+
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+ document.writeln('Certificate revocation list is added');
+ if (result.header.error != null) {
+ document.write('\nAdditional information:\n ');
+ document.writeln(result.header.error);
+ }
+//-->
+</SCRIPT>
+
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/checkCert.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/checkCert.template
new file mode 100644
index 000000000..b9cffede1
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/checkCert.template
@@ -0,0 +1,79 @@
+<!-- --- 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>Check Certificate Status</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+if (navigator.appName == "Microsoft Internet Explorer") {
+ document.writeln('<META HTTP-EQUIV="Pragma" CONTENT="no-cache">');
+}
+//-->
+</SCRIPT>
+</head>
+
+<CMS_TEMPLATE>
+
+<body bgcolor="#FFFFFF" link="#6666CC" vlink="#6666CC" alink="#333399">
+<font face="PrimaSans BT, Verdana, sans-serif" size="+1">
+Online Certificate Status
+</font><br>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+<br>
+
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+ 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 status summary</font></td></tr></table>');
+
+ document.writeln('<table border="0" cellspacing="2" cellpadding="2" width="100%">');
+ document.writeln('<tr><td align="left" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Status: ' + result.header.status + '</font></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr><td align="left" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Serial Number: ' + result.header.serialno + '</font></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr><td align="left" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Issuer DN: ' + result.header.issuerDN + '</font></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr><td align="left" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Subject DN: ' + result.header.subjectDN + '</font></td>');
+ document.writeln('</tr>');
+
+ document.writeln('</table>');
+ document.writeln('</td></tr></table>');
+//-->
+</SCRIPT>
+
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCA.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCA.html
new file mode 100644
index 000000000..afb888caf
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCA.html
@@ -0,0 +1,32 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<frameset cols="140,1*" border="0" frameborder="NO">
+ <frame src="menuAddCA.html" scrolling="NO" noresize frameborder="NO" name="left">
+ <frame src="addCA.html" marginwidth="16" marginheight="16" frameborder="NO" noresize name="content">
+</frameset>
+<noframes><body bgcolor="#FFFFFF">
+</body></noframes>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCRL.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCRL.html
new file mode 100644
index 000000000..28be03545
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameAddCRL.html
@@ -0,0 +1,32 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<frameset cols="140,1*" border="0" frameborder="NO">
+ <frame src="menuAddCRL.html" scrolling="NO" noresize frameborder="NO" name="left">
+ <frame src="addCRL.html" marginwidth="16" marginheight="16" frameborder="NO" noresize name="content">
+</frameset>
+<noframes><body bgcolor="#FFFFFF">
+</body></noframes>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameCheckCert.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameCheckCert.html
new file mode 100644
index 000000000..21335c8a0
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameCheckCert.html
@@ -0,0 +1,32 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<frameset cols="140,1*" border="0" frameborder="NO">
+ <frame src="menuCheckCert.html" scrolling="NO" noresize frameborder="NO" name="left">
+ <frame src="CheckCert.html" marginwidth="16" marginheight="16" frameborder="NO" noresize name="content">
+</frameset>
+<noframes><body bgcolor="#FFFFFF">
+</body></noframes>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameListCA.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameListCA.html
new file mode 100644
index 000000000..90530fd42
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameListCA.html
@@ -0,0 +1,32 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<frameset cols="140,1*" border="0" frameborder="NO">
+ <frame src="menuListCA.html" scrolling="NO" noresize frameborder="NO" name="left">
+ <frame src="/ocsp/agent/ocsp/listCAs" marginwidth="16" marginheight="16" frameborder="NO" noresize name="content">
+</frameset>
+<noframes><body bgcolor="#FFFFFF">
+</body></noframes>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameOCSP.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameOCSP.html
new file mode 100644
index 000000000..00fad0f36
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameOCSP.html
@@ -0,0 +1,32 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<frameset cols="140,1*" border="0" frameborder="NO">
+ <frame src="menuOCSP.html" scrolling="NO" noresize frameborder="NO" name="left">
+ <frame src="/ocsp/agent/ocsp/getOCSPInfo" marginwidth="16" marginheight="16" frameborder="NO" noresize name="content">
+</frameset>
+<noframes><body bgcolor="#FFFFFF">
+</body></noframes>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameStats.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameStats.html
new file mode 100644
index 000000000..8efa27a78
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/frameStats.html
@@ -0,0 +1,32 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<frameset cols="140,1*" border="0" frameborder="NO">
+ <frame src="menuStats.html" scrolling="NO" noresize frameborder="NO" name="left">
+ <frame src="/getStats" marginwidth="16" marginheight="16" frameborder="NO" noresize name="content">
+</frameset>
+<noframes><body bgcolor="#FFFFFF">
+</body></noframes>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getOCSPInfo.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getOCSPInfo.template
new file mode 100644
index 000000000..4cbf9f714
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getOCSPInfo.template
@@ -0,0 +1,118 @@
+<!-- --- 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 CRL</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+if (navigator.appName == "Microsoft Internet Explorer") {
+ document.writeln('<META HTTP-EQUIV="Pragma" CONTENT="no-cache">');
+}
+//-->
+</SCRIPT>
+</head>
+
+<CMS_TEMPLATE>
+
+<body bgcolor="#FFFFFF" link="#6666CC" vlink="#6666CC" alink="#333399">
+<font face="PrimaSans BT, Verdana, sans-serif" size="+1">
+OCSP Service
+</font><br>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+<br>
+
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+ 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('Detailed Information (Since Startup)</font></td></tr></table>');
+
+ document.writeln('<table border="0" cellspacing="2" cellpadding="2" width="100%">');
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('OCSP Responses:</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.header.numReq+'</font></td></tr>');
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Total Signed Response Data (in bytes):</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.header.totalData+'</font></td></tr>');
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Processing Time (in ms):</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln((result.header.totalSec-result.header.totalSignSec)+'</font></td></tr>');
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Signing Time (in ms):</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.header.totalSignSec+'</font></td></tr>');
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Total Time (in ms):</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.header.totalSec+'</font></td></tr>');
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Signing Time Per Response (in ms):</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.header.numReq == '0') {
+ document.writeln(result.header.numReq+'</font></td></tr>');
+ } else {
+ document.writeln((result.header.totalSignSec/result.header.numReq)+'</font></td></tr>');
+ }
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Total Time Per Response (in ms):</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.header.numReq == '0') {
+ document.writeln(result.header.numReq+'</font></td></tr>');
+ } else {
+ document.writeln((result.header.totalSec/result.header.numReq)+'</font></td></tr>');
+ }
+ document.writeln('<tr><td align="right" width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('Responses Per Second:</font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.header.ReqSec+'</font></td></tr>');
+ document.writeln('</table><br>');
+
+//-->
+</SCRIPT>
+
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getStats.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getStats.template
new file mode 100644
index 000000000..c6f56b1f7
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/getStats.template
@@ -0,0 +1,141 @@
+<!-- --- 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 CRL</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+if (navigator.appName == "Microsoft Internet Explorer") {
+ document.writeln('<META HTTP-EQUIV="Pragma" CONTENT="no-cache">');
+}
+//-->
+</SCRIPT>
+</head>
+
+<CMS_TEMPLATE>
+
+<body bgcolor="#FFFFFF" link="#6666CC" vlink="#6666CC" alink="#333399">
+<font face="PrimaSans BT, Verdana, sans-serif" size="+1">
+Statistics
+</font><br>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+<br>
+
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+ document.writeln('<table border="0" cellspacing="0" cellpadding="0" 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('Detailed Information (Start Time <b>' + header.startTime + '</b>, Current Time: <b>' + header.curTime + '</b>)</font></td><td align=right><a href="getStats?op=clear">Clear Statistics</a></td></tr></table>');
+
+ document.writeln('<table border="0" cellspacing="2" cellpadding="2" width="100%">');
+ document.writeln('<tr>');
+ document.writeln('<td width="40%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b>Action</b></font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b># of operations</b></font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b>Time Taken (in msec)</b></font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b>Min</b></font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b>Max</b></font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b>Std Dev</b></font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b>Avg</b></font></td>');
+ document.writeln('<td align="left">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<b>Percentage</b></font></td>');
+ document.writeln('</tr>');
+ for (var i = 0; i <= recordCount; i++) {
+ if (result.recordSet[i].name.charAt(0) == '-') {
+ document.writeln('<tr><td>');
+ } else {
+ document.writeln('<tr bgcolor="#cccccc"><td>');
+ }
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.recordSet[i].name + '</font></td>');
+ document.writeln('<td>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.recordSet[i].noOfOp+'</font></td>');
+ document.writeln('<td>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.recordSet[i].timeTaken+'</font></td>');
+ document.writeln('<td>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.recordSet[i].max == -1) {
+ document.writeln('-</font></td>');
+ } else {
+ document.writeln(result.recordSet[i].min+'</font></td>');
+ }
+ document.writeln('<td>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.recordSet[i].max == -1) {
+ document.writeln('-</font></td>');
+ } else {
+ document.writeln(result.recordSet[i].max+'</font></td>');
+ }
+ document.writeln('<td>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.recordSet[i].stddev == -1) {
+ document.writeln('-</font></td>');
+ } else {
+ document.writeln(result.recordSet[i].stddev+'</font></td>');
+ }
+ document.writeln('<td>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.recordSet[i].noOfOp == 0) {
+ document.writeln('-');
+ } else {
+ document.writeln(Math.round(100*(result.recordSet[i].avg))/100);
+ }
+ document.writeln('</font></td>');
+ document.writeln('<td>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ if (result.recordSet[i].noOfOp == 0) {
+ document.writeln('-');
+ } else {
+ document.writeln(Math.round(100*(result.recordSet[i].percentage))/100 + '%');
+ }
+ document.writeln('</font></td>');
+ document.writeln('</tr>');
+ }
+ document.writeln('</table><br>');
+
+//-->
+</SCRIPT>
+
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/index.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/index.html
new file mode 100644
index 000000000..2736b25cb
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/index.html
@@ -0,0 +1,32 @@
+<!-- --- 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>Online Certificate Status Authority</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<frameset rows="105,1*" frameborder="NO" border="0" cols="*">
+ <frame src="/ocsp/agent/header?selected=ocsp" name="top" frameborder="NO" noresize scrolling="NO" marginwidth="0" marginheight="0">
+ <frame src="frameListCA.html" scrolling="NO" noresize frameborder="NO" marginwidth="0" marginheight="0" name="middle">
+</frameset>
+<noframes><body bgcolor="#FFFFFF">
+</body></noframes>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/listCAs.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/listCAs.template
new file mode 100644
index 000000000..1cccf9e08
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/listCAs.template
@@ -0,0 +1,116 @@
+<!-- --- 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>List Certificate Authorities</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript" SRC="/helpfun.js"></SCRIPT>
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+if (navigator.appName == "Microsoft Internet Explorer") {
+ document.writeln('<META HTTP-EQUIV="Pragma" CONTENT="no-cache">');
+}
+//-->
+</SCRIPT>
+</head>
+
+<CMS_TEMPLATE>
+
+<body bgcolor="#FFFFFF" link="#6666CC" vlink="#6666CC" alink="#333399">
+<font face="PrimaSans BT, Verdana, sans-serif" size="+1">
+List Certificate Authorities
+</font><br>
+<table border="0" cellspacing="0" cellpadding="0" background="/graphics/hr.gif" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+<br>
+
+<SCRIPT LANGUAGE="JavaScript">
+<!--
+ 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('Server Status</font></td></tr></table>');
+
+ document.writeln('<table border="0" cellspacing="2" cellpadding="2" width="100%">');
+ document.writeln('<tr>');
+ document.writeln('<td align="left" width="5%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<li>Number of pending updates:' + header.stateCount);
+ document.writeln('</font></td>');
+ document.writeln('</tr>');
+
+ document.writeln('</table>');
+
+ 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 Authorities</font></td></tr></table>');
+
+ document.writeln('<table border="0" cellspacing="2" cellpadding="2" width="100%">');
+
+ for(var i = 0; i < result.recordSet.length; ++i ) {
+ document.writeln('<tr>');
+ document.writeln('<td align="left"><b>');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln(result.recordSet[i].Id);
+ document.writeln('</font></b></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr>');
+ document.writeln('<td align="left" width="5%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<li>CRL Number:' + result.recordSet[i].CRLNumber);
+ document.writeln('</font></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr>');
+ document.writeln('<td align="left" width="5%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<li>This Update:' + result.recordSet[i].ThisUpdate);
+ document.writeln('</font></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr>');
+ document.writeln('<td align="left" width="5%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<li>Next Update:' + result.recordSet[i].NextUpdate);
+ document.writeln('</font></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr>');
+ document.writeln('<td align="left" width="5%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<li>Number of Revoked Certificates:' + result.recordSet[i].NumRevoked);
+ document.writeln('</font></td>');
+ document.writeln('</tr>');
+ document.writeln('<tr>');
+ document.writeln('<td align="left" width="5%">');
+ document.writeln('<font size=-1 face="PrimaSans BT, Verdana, sans-serif">');
+ document.writeln('<li>Requests Served Since Startup:' + result.recordSet[i].ReqCount);
+ document.writeln('</font></td>');
+ document.writeln('</tr>');
+ }
+ document.writeln('</table>');
+ document.writeln('</td></tr></table>');
+//-->
+</SCRIPT>
+
+</BODY>
+</HTML>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCA.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCA.html
new file mode 100644
index 000000000..6b4419f78
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCA.html
@@ -0,0 +1,50 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#CCCCCC" link="#FFFFFF" vlink="#FFFFFF" alink="#333399">
+ <table border="0" cellspacing="4" cellpadding="4" width="100%">
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameListCA.html" target="middle"><b>List Certificate Authorities</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="white"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCA.html" target="middle"><b><font color=black>Add Certificate Authority</font></b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCRL.html" target="middle"><b>Add Certificate Revocation List</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameCheckCert.html" target="middle"><b>Check Certificate Status</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameOCSP.html" target="middle"><b>OCSP Service</b></a></font></td>
+ </tr>
+ </table>
+</body>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCRL.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCRL.html
new file mode 100644
index 000000000..7da3025e3
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuAddCRL.html
@@ -0,0 +1,50 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#CCCCCC" link="#FFFFFF" vlink="#FFFFFF" alink="#333399">
+ <table border="0" cellspacing="4" cellpadding="4" width="100%">
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameListCA.html" target="middle"><b>List Certificate Authorities</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCA.html" target="middle"><b>Add Certificate Authority</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="white"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCRL.html" target="middle"><b><font color=black>Add Certificate Revocation List</font></b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameCheckCert.html" target="middle"><b>Check Certificate Status</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameOCSP.html" target="middle"><b>OCSP Service</b></a></font></td>
+ </tr>
+ </table>
+</body>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuCheckCert.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuCheckCert.html
new file mode 100644
index 000000000..2e4773a28
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuCheckCert.html
@@ -0,0 +1,50 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#CCCCCC" link="#FFFFFF" vlink="#FFFFFF" alink="#333399">
+ <table border="0" cellspacing="4" cellpadding="4" width="100%">
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameListCA.html" target="middle"><b>List Certificate Authorities</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCA.html" target="middle"><b>Add Certificate Authority</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCRL.html" target="middle"><b>Add Certificate Revocation List</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="white"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameCheckCert.html" target="middle"><b><font color=black>Check Certificate Status</font></b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameOCSP.html" target="middle"><b>OCSP Service</b></a></font></td>
+ </tr>
+ </table>
+</body>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuListCA.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuListCA.html
new file mode 100644
index 000000000..ac99b752a
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuListCA.html
@@ -0,0 +1,50 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#CCCCCC" link="#FFFFFF" vlink="#FFFFFF" alink="#333399">
+ <table border="0" cellspacing="4" cellpadding="4" width="100%">
+ <tr>
+ <td bgcolor="white"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="/ocsp/agent/ocsp/listCAs" target="content"><b><font color=black>List Certificate Authorities</font></b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCA.html" target="middle"><b>Add Certificate Authority</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCRL.html" target="middle"><b>Add Certificate Revocation List</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameCheckCert.html" target="middle"><b>Check Certificate Status</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameOCSP.html" target="middle"><b>OCSP Service</b></a></font></td>
+ </tr>
+ </table>
+</body>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuOCSP.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuOCSP.html
new file mode 100644
index 000000000..b019fe81f
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuOCSP.html
@@ -0,0 +1,50 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#CCCCCC" link="#FFFFFF" vlink="#FFFFFF" alink="#333399">
+ <table border="0" cellspacing="4" cellpadding="4" width="100%">
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameListCA.html" target="middle"><b>List Certificate Authorities</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCA.html" target="middle"><b>Add Certificate Authority</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCRL.html" target="middle"><b>Add Certificate Revocation List</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameCheckCert.html" target="middle"><b>Check Certificate Status</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="white"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameOCSP.html" target="middle"><b><font color=black>OCSP Service</font></b></a></font></td>
+ </tr>
+ </table>
+</body>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuStats.html b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuStats.html
new file mode 100644
index 000000000..f86dd059e
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ocsp/menuStats.html
@@ -0,0 +1,54 @@
+<!-- --- 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>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#CCCCCC" link="#FFFFFF" vlink="#FFFFFF" alink="#333399">
+ <table border="0" cellspacing="4" cellpadding="4" width="100%">
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameListCA.html" target="middle"><b>List Certificate Authorities</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCA.html" target="middle"><b>Add Certificate Authority</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameAddCRL.html" target="middle"><b>Add Certificate Revocation List</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameCheckCert.html" target="middle"><b>Check Certificate Status</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="#999999"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameOCSP.html" target="middle"><b>OCSP Service</b></a></font></td>
+ </tr>
+ <tr>
+ <td bgcolor="white"><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ <a href="frameStats.html" target="middle"><b><font color=black>Statistics</font></b></a></font></td>
+ </tr>
+ </table>
+</body>
+</html>
+
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ports.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ports.template
new file mode 100644
index 000000000..d2bd028aa
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/agent/ports.template
@@ -0,0 +1,130 @@
+<!-- --- 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>Index</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF" link="#666699" vlink="#666699" alink="#333366">
+<table border="0" width="100%" cellspacing="0" cellpadding="6">
+ <tr bgcolor="#666699">
+ <td width=25%>
+ <table border="0" cellspacing="0" cellpadding="6">
+ <tr>
+ <td nowrap><font size="-1" face="PrimaSans BT, Verdana, sans-serif" color="white">Dogtag<b>&reg;<br>
+ Certificate<br>System</b></font> </td>
+ </tr>
+ </table>
+ </td>
+ <td width=65% nowrap><font size="+1" face="PrimaSans BT, Verdana, sans-serif" color="white">Services Summary</font></td>
+ <td width="10%">&nbsp;</td>
+ </tr>
+ <tr valign="TOP">
+ <td>&nbsp;</td>
+ <td>
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr valign="TOP">
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ </tr>
+<SCRIPT LANGUAGE="JavaScript">
+function displayError()
+{
+ document.write("<center><h2><b>" +
+ "Problem Processing Your Request" +
+ "</b></h2></center><p>" +
+ "The service encountered a problem " +
+ "when processing your request. This problem may " +
+ "indicate a flaw in the form used to submit your " +
+ "request or the values that were entered into the form." +
+ "The following message supplies more information " +
+ "about the error that occurred.<p>");
+ document.write("<blockquote><b><pre>");
+ if (result.header.errorDetails != null) {
+ document.write(result.header.errorDetails);
+ } else {
+ document.write("Unable to provide details. " +
+ "Contact Administrator.");
+ }
+ document.write("</pre></b></blockquote>");
+ if (result.header.errorDescription != null) {
+ document.write('<p>Additional Information:<p>');
+ document.write('<blockquote><b>');
+ document.write(result.header.errorDescription);
+ document.write('</b></blockquote>');
+ }
+ document.write("<p>");
+ document.write("Please consult your local administrator for " +
+ "further assistance.");
+ document.write("The certificate server's log may provide " +
+ "further information.");
+}
+
+if (result.header.errorDetails != null) {
+ displayError();
+} else {
+ for (var i = 0; i < result.recordSet.length; ++i) {
+ if (result.recordSet[i].port == -1)
+ continue;
+ document.write('<tr valign="TOP">');
+ document.write('<td>');
+ document.write('<img src="/ca/agent/graphics/goto-tall.gif" width="10" height="15">&nbsp;</td>');
+ document.write('<td>');
+ document.write('<font face="PrimaSans BT, Verdana, sans-serif">');
+ document.write('<a href="');
+ document.write(result.recordSet[i].prefix + "://" +
+ result.header.hostname + ":" +
+ result.recordSet[i].port);
+ if (result.recordSet[i].type == "eeGateway.http.port") {
+ document.write('">End Users Services</a></font>');
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br>');
+ } else if (result.recordSet[i].type == "eeGateway.https.port") {
+ document.write('">SSL End Users Services</a></font>');
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br>');
+ } else if (result.recordSet[i].type == "agentGateway.https.port") {
+ document.write('">Agent Services</a></font>');
+ document.write('<font size="-1" face="PrimaSans BT, Verdana, sans-serif"><br>');
+ } else {
+ document.write('">Internal Error</a></font>');
+ }
+ document.write('</font></td></tr>');
+ }
+}
+</SCRIPT>
+ <tr valign="TOP">
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ </tr>
+ </table>
+ </td>
+ <td>&nbsp;</td>
+ </tr>
+ <tr valign="TOP">
+ <td>&nbsp;</td>
+ <td><font size="-1" face="PrimaSans BT, Verdana, sans-serif">
+ &copy; 2001 Sun Microsystems, Inc. Used by permission.
+ &copy; 2005 Red Hat, Inc.. All rights reserved.
+ </font></td>
+ <td>&nbsp;</td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/pki/linux/ocsp-ui/shared/webapps/ocsp/services.template b/pki/linux/ocsp-ui/shared/webapps/ocsp/services.template
new file mode 100644
index 000000000..0f326e0df
--- /dev/null
+++ b/pki/linux/ocsp-ui/shared/webapps/ocsp/services.template
@@ -0,0 +1,111 @@
+<!-- --- 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>Certificate System</title>
+ <link rel="shortcut icon" href="img/favicon.ico" />
+ <link rel="stylesheet" href="admin/console/css/pki-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">
+
+<div id="header">
+ <a href="http://pki-svn.fedora.redhat.com/" title="Visit pki-svn.fedora.redhat.com for more information about Dogtag products and services"><img src="admin/console/img/logo_header.gif" alt="Dogtag" width="37" height="31" id="myLogo" /></a><a href="/" title="Dogtag Network homepage">Dogtag Certificate System</a>
+ <div id="account">
+ <dl><dt><span></span></dt><dd></dd></dl>
+ </div>
+</div>
+
+<div id="mainNavOuter">
+<div id="mainNav">
+
+<div id="mainNavInner">
+
+
+<ul>
+<li id="mainFirst-active">Certificate System</li>
+</ul>
+
+</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">
+Certificate System Services Page
+</font><br>
+<p>
+</font>
+<p>
+<center>
+<table border="0" cellspacing="0" cellpadding="0">
+<tr valign="TOP">
+<td>&nbsp;</td>
+<td>&nbsp;</td>
+</tr>
+<script language=javascript>
+for (var i=0; i<result.recordSet.length; ++i) {
+ document.write('<tr valign="TOP">');
+ document.write('<td>');
+ document.write('<td>');
+ document.write('<font size=4 face="PrimaSans BT, Verdana, sans-serif">');
+ document.write('<li><a href="');
+ document.write(result.recordSet[i].prefix + "://" +
+ result.recordSet[i].host + ":" + result.recordSet[i].port + "/"+
+ result.recordSet[i].uri);
+ if (result.recordSet[i].type == "admin") {
+ document.write('">Admin Services</a></font>');
+ } else if (result.recordSet[i].type == "agent") {
+ document.write('">Agent Services</a></font>');
+ } else if (result.recordSet[i].type == "ee") {
+ document.write('">SSL End Users Services</a></font>');
+ }
+
+ document.write('</font></td></tr>');
+}
+</script>
+<tr valign="TOP">
+<td>&nbsp;</td>
+<td>&nbsp;</td>
+</tr>
+</table>
+</center>
+ <div id="footer">
+ Copyright &#169; 2002-06 Red Hat, Inc. All rights reserved. <a href="http://www.redhat.com/">http://www.redhat.com</a>
+ </div>
+
+</body>
+</html>