Bug 480251 - rhds80 console - ssl - csr wizard really wants a country/region string
rhds80 console - ssl - csr wizard really wants a country/region string
Status: CLOSED CURRENTRELEASE
Product: Red Hat Directory Server
Classification: Red Hat
Component: UI - Wizards (Show other bugs)
8.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Rich Megginson
Chandrasekar Kannan
:
Depends On:
Blocks: 249650 FDS1.2.0
  Show dependency treegraph
 
Reported: 2009-01-15 18:18 EST by Marc Sauton
Modified: 2015-01-04 18:35 EST (History)
3 users (show)

See Also:
Fixed In Version: 8.1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-04-29 19:09:25 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
diffs (1.58 KB, patch)
2009-01-16 12:44 EST, Rich Megginson
no flags Details | Diff
cvs commit log (267 bytes, text/plain)
2009-01-16 14:39 EST, Rich Megginson
no flags Details

  None (edit)
Description Marc Sauton 2009-01-15 18:18:07 EST
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)
Comment 1 Rich Megginson 2009-01-15 22:24:01 EST
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?
Comment 2 Rich Megginson 2009-01-16 12:44:26 EST
Created attachment 329234 [details]
diffs
Comment 3 Rich Megginson 2009-01-16 12:45:44 EST
Note that the country and state fields are menu buttons, but you can put the cursor in the field and erase what is there.
Comment 4 Rich Megginson 2009-01-16 14:39:20 EST
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
Comment 5 Jenny Galipeau 2009-03-30 16:30:38 EDT
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
Comment 6 Chandrasekar Kannan 2009-04-29 19:09:25 EDT
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

Note You need to log in before you can comment on or make changes to this bug.