Description of problem: In RHDS 8.0 console, the certificate request wizard throws a java exception if I do not provide with a string for the country/region field, and does not allow to continue until any string is passed to this country/region field. This field should be optional, the only mandatory field is the cn with the server name field. All other files are expected to be re-written ba CA policies. Version-Release number of selected component (if applicable): Red Hat Enterprise Linux AS release 4 (Nahant Update 5) Linux ms-ds8-1.sjc.redhat.com 2.6.9-55.EL #1 Fri Apr 20 16:35:59 EDT 2007 i686 i686 i386 GNU/Linux alternatives --config java *+ 1 /usr/lib/jvm/jre-1.5.0-ibm/bin/java Red Hat-Directory/8.0.4 B2008.225.2353 ms-ds8-1.sjc.redhat.com:389 (/etc/dirsrv/slapd-ms-ds8-1) rpm -qa | egrep "dirsec|nss|nspr|srvcore|mozldap6|perl-Mozilla-LDAP|redhat-ds|idm-console|redhat-idm" ... fortitude-mod_nss-1.0.6-8el4idm idm-console-framework-1.1.0-7.el4idm redhat-ds-admin-8.0.4-3.el4dsrv dirsec-nss-3.11.7-3.el4idm dirsec-jss-4.2.4-41.el4idm mozldap6-6.0.5-1el4idm dirsec-nss-tools-3.11.7-3.el4idm redhat-idm-console-1.0.0-22.el4idm redhat-ds-base-8.0.4-7.el4dsrv redhat-ds-8.0.0-1.3.el4dsrv dirsec-nspr-4.6.7.1-1.el4idm perl-Mozilla-LDAP-1.5.2-4el4idm mozldap6-tools-6.0.5-1el4idm redhat-ds-console-8.0.0-9.el4dsrv How reproducible: always Steps to Reproduce: 1- Open Directory Server Console, select the Tasks tab, and click Manage Certificates. if first time, in popup window, set security device password 2- in Server Certs tab, click Request 3- in popup window "Certificate Request Wizard", click Next 4- in step 2 out of 4, "Requestor Information", provide with the server name only, all other field left blank (should be allowed, this is legitimate), then click Next. Actual results: nothing in the console, java exception in the shell window that started the console Expected results: allow for only the server name filed in the requestor information fields Additional info: exception: Exception occurred during event dispatching: java.lang.StringIndexOutOfBoundsException at java.lang.String.substring(String.java:1088) at com.netscape.management.client.security.csr.CertRequestInfoPage.validated(Unknown Source) at com.netscape.management.client.security.csr.CertRequestInfoPage.getNextPage(Unknown Source) at com.netscape.management.client.security.CertRequestWizard$PluginWizardPage.nextInvoked(Unknown Source) at com.netscape.management.client.components.WizardNavigator.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1879) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2199) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:450) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:288) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:264) at java.awt.Component.processMouseEvent(Component.java:5529) at javax.swing.JComponent.processMouseEvent(JComponent.java:3148) at java.awt.Component.processEvent(Component.java:5294) at java.awt.Container.processEvent(Container.java:2001) at java.awt.Component.dispatchEventImpl(Component.java:3996) at java.awt.Container.dispatchEventImpl(Container.java:2059) at java.awt.Component.dispatchEvent(Component.java:3844) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4249) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3929) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3859) at java.awt.Container.dispatchEventImpl(Container.java:2045) at java.awt.Window.dispatchEventImpl(Window.java:1810) at java.awt.Component.dispatchEvent(Component.java:3844) at java.awt.EventQueue.dispatchEvent(EventQueue.java:545) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:268) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:187) at java.awt.Dialog$1.run(Dialog.java:572) at java.awt.Dialog.show(Dialog.java:593) at com.netscape.management.client.components.Wizard.show(Unknown Source) at java.awt.Component.show(Component.java:1337) at java.awt.Component.setVisible(Component.java:1290) at com.netscape.management.client.security.CertRequestWizard.setVisible(Unknown Source) at com.netscape.management.client.security.ServerCertificatePane.requestInvoked(Unknown Source) at com.netscape.management.client.security.CertificateListPane$1.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1879) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2199) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:450) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:288) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:264) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:263) at java.awt.Component.processMouseEvent(Component.java:5529) at javax.swing.JComponent.processMouseEvent(JComponent.java:3148) at java.awt.Component.processEvent(Component.java:5294) at java.awt.Container.processEvent(Container.java:2001) at java.awt.Component.dispatchEventImpl(Component.java:3996) at java.awt.Container.dispatchEventImpl(Container.java:2059) at java.awt.Component.dispatchEvent(Component.java:3844) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4249) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3929) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3859) at java.awt.Container.dispatchEventImpl(Container.java:2045) at java.awt.Window.dispatchEventImpl(Window.java:1810) at java.awt.Component.dispatchEvent(Component.java:3844) at java.awt.EventQueue.dispatchEvent(EventQueue.java:545) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:268) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:187) at java.awt.Dialog$1.run(Dialog.java:572) at java.awt.Dialog.show(Dialog.java:593) at com.netscape.management.client.util.AbstractDialog.show(Unknown Source) at com.netscape.management.client.security.CertificateDialog.show(Unknown Source) at java.awt.Component.show(Component.java:1337) at java.awt.Component.setVisible(Component.java:1290) at com.netscape.management.client.security.CertificateDialog.setVisible(Unknown Source)
There is no way for the console to know what the CA policy is. Should all of the fields be optional? Should any of them be required?
Created attachment 329234 [details] diffs
Note that the country and state fields are menu buttons, but you can put the cursor in the field and erase what is there.
Created attachment 329244 [details] cvs commit log Reviewed by: nkinder (Thanks!) Fix Description: Have to make sure the string is long enough before taking the substring Platforms tested: RHEL5 Flag Day: no Doc impact: no
fix verified RHEL 5 DS 8.1 - certificate request successfully generated with only cn. Popup warning asking if you want to continue and that the request may not be accepted by the certificate authority
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2009-0455.html