summaryrefslogtreecommitdiffstats
path: root/pki/base/console/src
diff options
context:
space:
mode:
authorvakwetu <vakwetu@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2010-11-04 19:36:19 +0000
committervakwetu <vakwetu@c9f7a03b-bd48-0410-a16d-cbbf54688b0b>2010-11-04 19:36:19 +0000
commit01383ff92cecca2169eb5ee7a49eb85621503c4d (patch)
treea452478ede657705679ab0cd5ce4455864b55804 /pki/base/console/src
parent31903443b785bc194abe27e75b5fa6021facabcc (diff)
downloadpki-01383ff92cecca2169eb5ee7a49eb85621503c4d.tar.gz
pki-01383ff92cecca2169eb5ee7a49eb85621503c4d.tar.xz
pki-01383ff92cecca2169eb5ee7a49eb85621503c4d.zip
Bugzilla Bug 451874 - RFE - Java console - Certificate Wizard missing e.c. support
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@1473 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/console/src')
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/config/WMessageDigestPage.java98
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/config/install/InstallWizardInfo.java19
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/config/install/WICertExtensionPage.java1
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/keycert/CertSetupWizardInfo.java13
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertDNPage.java10
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertExtensionPage.java9
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertMessageDigestPage.java38
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/keycert/WExecutePage.java8
-rw-r--r--pki/base/console/src/com/netscape/admin/certsrv/keycert/WKeyPage.java188
-rw-r--r--pki/base/console/src/com/netscape/certsrv/common/ConfigConstants.java2
-rw-r--r--pki/base/console/src/com/netscape/certsrv/common/Constants.java2
-rw-r--r--pki/base/console/src/com/netscape/certsrv/common/ScopeDef.java1
12 files changed, 338 insertions, 51 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/config/WMessageDigestPage.java b/pki/base/console/src/com/netscape/admin/certsrv/config/WMessageDigestPage.java
index be76ef68f..ce0ced102 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/config/WMessageDigestPage.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/config/WMessageDigestPage.java
@@ -41,9 +41,11 @@ import com.netscape.management.client.util.*;
* @see com.netscape.admin.certsrv.config.install
*/
public class WMessageDigestPage extends WizardBasePanel implements IWizardPanel {
- protected JComboBox mRSAHashTypeBox, mDSAHashTypeBox;
+ protected JComboBox mRSAHashTypeBox, mDSAHashTypeBox, mECCHashTypeBox;
+ protected JComboBox mRSASignedByTypeBox, mDSASignedByTypeBox, mECCSignedByTypeBox;
protected String mHelpIndex;
protected String mCAKeyType;
+ protected JTextArea mSignedByTypeLbl;
private static final String HELPINDEX = "install-cert-mda-wizard-help";
public WMessageDigestPage(String panelName) {
@@ -60,11 +62,17 @@ public class WMessageDigestPage extends WizardBasePanel implements IWizardPanel
setBorder(makeTitledBorder(mPanelName));
if (mCAKeyType.equals("RSA")) {
+ mECCHashTypeBox.setVisible(false);
mDSAHashTypeBox.setVisible(false);
mRSAHashTypeBox.setVisible(true);
String sha1 = mResource.getString(mPanelName+"_COMBOBOX_RSAHASHTYPE_VALUE_2");
mRSAHashTypeBox.setSelectedItem(sha1);
+ } else if (mCAKeyType.equals("ECC")) {
+ mECCHashTypeBox.setVisible(true);
+ mDSAHashTypeBox.setVisible(false);
+ mRSAHashTypeBox.setVisible(false);
} else {
+ mECCHashTypeBox.setVisible(false);
mDSAHashTypeBox.setVisible(true);
mRSAHashTypeBox.setVisible(false);
}
@@ -77,6 +85,33 @@ public class WMessageDigestPage extends WizardBasePanel implements IWizardPanel
return true;
}
+ public void enableSignedByFields(boolean enable) {
+ if (!enable) {
+ mRSASignedByTypeBox.setVisible(false);
+ mDSASignedByTypeBox.setVisible(false);
+ mECCSignedByTypeBox.setVisible(false);
+ mSignedByTypeLbl.setVisible(false);
+ return;
+ }
+
+ if (mCAKeyType.equals("RSA")) {
+ mRSASignedByTypeBox.setVisible(true);
+ mDSASignedByTypeBox.setVisible(false);
+ mECCSignedByTypeBox.setVisible(false);
+ } else if (mCAKeyType.equals("ECC")) {
+ mRSASignedByTypeBox.setVisible(false);
+ mDSASignedByTypeBox.setVisible(false);
+ mECCSignedByTypeBox.setVisible(true);
+ } else {
+ mECCSignedByTypeBox.setVisible(false);
+ mDSASignedByTypeBox.setVisible(true);
+ mRSASignedByTypeBox.setVisible(false);
+ }
+
+ mSignedByTypeLbl.setVisible(true);
+ }
+
+
public boolean concludePanel(WizardInfo info) {
return true;
}
@@ -108,6 +143,7 @@ public class WMessageDigestPage extends WizardBasePanel implements IWizardPanel
gbc.insets = new Insets(0, 4*COMPONENT_SPACE, COMPONENT_SPACE,
COMPONENT_SPACE);
gbc.fill = gbc.NONE;
+ gbc.gridwidth = gbc.REMAINDER;
add(mRSAHashTypeBox, gbc);
mDSAHashTypeBox = makeJComboBox("DSAHASHTYPE");
@@ -117,8 +153,19 @@ public class WMessageDigestPage extends WizardBasePanel implements IWizardPanel
gbc.insets = new Insets(0, COMPONENT_SPACE, COMPONENT_SPACE,
COMPONENT_SPACE);
gbc.fill = gbc.NONE;
+ gbc.gridwidth = gbc.REMAINDER;
add(mDSAHashTypeBox, gbc);
+ mECCHashTypeBox = makeJComboBox("ECCHASHTYPE");
+ mECCHashTypeBox.setVisible(false);
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.NORTHWEST;
+ gbc.insets = new Insets(0, COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE);
+ gbc.fill = gbc.NONE;
+ gbc.gridwidth = gbc.REMAINDER;
+ add(mECCHashTypeBox, gbc);
+
JLabel dummy = new JLabel(" ");
CMSAdminUtil.resetGBC(gbc);
gbc.anchor = gbc.WEST;
@@ -127,6 +174,55 @@ public class WMessageDigestPage extends WizardBasePanel implements IWizardPanel
gbc.insets = new Insets(0, 0,COMPONENT_SPACE, COMPONENT_SPACE);
add(dummy, gbc);
+ JLabel dummy2 = new JLabel(" ");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.gridwidth = gbc.REMAINDER;
+ gbc.weightx = 1.0;
+ gbc.insets = new Insets(0, 0,COMPONENT_SPACE, COMPONENT_SPACE);
+ add(dummy2, gbc);
+
+ mSignedByTypeLbl = createTextArea(mResource.getString(
+ mPanelName+"_TEXT_SIGNEDBYTYPE_LABEL"));
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.NORTHWEST;
+ gbc.weightx = 1.0;
+ gbc.weighty = 0.0;
+ gbc.insets = new Insets(COMPONENT_SPACE,COMPONENT_SPACE,
+ COMPONENT_SPACE,COMPONENT_SPACE);
+ gbc.gridwidth = gbc.REMAINDER;
+ add(mSignedByTypeLbl, gbc);
+
+ mRSASignedByTypeBox = makeJComboBox("RSASIGNEDBYTYPE");
+ mRSASignedByTypeBox.setVisible(true);
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.NORTHWEST;
+ gbc.insets = new Insets(0, 4*COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE);
+ gbc.fill = gbc.NONE;
+ gbc.gridwidth = gbc.REMAINDER;
+ add(mRSASignedByTypeBox, gbc);
+
+ mDSASignedByTypeBox = makeJComboBox("DSASIGNEDBYTYPE");
+ mDSASignedByTypeBox.setVisible(false);
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.NORTHWEST;
+ gbc.insets = new Insets(0, COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE);
+ gbc.fill = gbc.NONE;
+ gbc.gridwidth = gbc.REMAINDER;
+ add(mDSASignedByTypeBox, gbc);
+
+ mECCSignedByTypeBox = makeJComboBox("ECCSIGNEDBYTYPE");
+ mECCSignedByTypeBox.setVisible(false);
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.NORTHWEST;
+ gbc.insets = new Insets(0, COMPONENT_SPACE, COMPONENT_SPACE,
+ COMPONENT_SPACE);
+ gbc.fill = gbc.NONE;
+ gbc.gridwidth = gbc.REMAINDER;
+ add(mECCSignedByTypeBox, gbc);
+
JLabel dummy1 = new JLabel(" ");
CMSAdminUtil.resetGBC(gbc);
gbc.anchor = gbc.CENTER;
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/config/install/InstallWizardInfo.java b/pki/base/console/src/com/netscape/admin/certsrv/config/install/InstallWizardInfo.java
index a081bdd3d..a88101cc4 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/config/install/InstallWizardInfo.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/config/install/InstallWizardInfo.java
@@ -833,6 +833,17 @@ public class InstallWizardInfo extends WizardInfo {
return val;
}
+ public String getKeyCurveName() {
+ String val = (String)get(ConfigConstants.PR_KEY_CURVENAME);
+ if (val ==null)
+ val = "nistp521";
+ return val;
+ }
+
+ public void setKeyCurveName(String val) {
+ put(ConfigConstants.PR_KEY_CURVENAME, val);
+ }
+
public String getKeyType() {
String type = (String)get(ConfigConstants.PR_KEY_TYPE);
// work around the historical mistake,
@@ -1405,6 +1416,14 @@ public class InstallWizardInfo extends WizardInfo {
put(ConfigConstants.PR_HASH_TYPE, type);
}
+ public String getSignedByType() {
+ return (String)get(ConfigConstants.PR_SIGNEDBY_TYPE);
+ }
+
+ public void setSignedByType(String type) {
+ put(ConfigConstants.PR_SIGNEDBY_TYPE, type);
+ }
+
public String getCAKeyType() {
return (String)get(ConfigConstants.PR_CA_KEYTYPE);
}
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/config/install/WICertExtensionPage.java b/pki/base/console/src/com/netscape/admin/certsrv/config/install/WICertExtensionPage.java
index 9611be01c..7ba0636fd 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/config/install/WICertExtensionPage.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/config/install/WICertExtensionPage.java
@@ -92,6 +92,7 @@ class WICertExtensionPage extends WBaseCertExtensionPage implements
nvps.add(Constants.PR_TOKEN_NAME, wizardInfo.getTokenName());
nvps.add(Constants.PR_KEY_LENGTH, wizardInfo.getKeyLength());
nvps.add(Constants.PR_KEY_TYPE, wizardInfo.getKeyType());
+ nvps.add(Constants.PR_KEY_CURVENAME, wizardInfo.getKeyCurveName());
addValidityPeriod(wizardInfo, nvps);
if (mBasicCheckBox.isSelected())
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/keycert/CertSetupWizardInfo.java b/pki/base/console/src/com/netscape/admin/certsrv/keycert/CertSetupWizardInfo.java
index 274ce2b5e..81ffc2d0e 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/keycert/CertSetupWizardInfo.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/keycert/CertSetupWizardInfo.java
@@ -165,6 +165,10 @@ public class CertSetupWizardInfo extends WizardInfo {
return (String)get(Constants.PR_KEY_LENGTH);
}
+ public String getKeyCurveName() {
+ return (String)get(Constants.PR_KEY_CURVENAME);
+ }
+
public String getKeyType() {
return (String)get(Constants.PR_KEY_TYPE);
}
@@ -307,6 +311,15 @@ public class CertSetupWizardInfo extends WizardInfo {
put(ConfigConstants.PR_HASH_TYPE, type);
}
+ public String getSignedByType() {
+ return (String)get(ConfigConstants.PR_SIGNEDBY_TYPE);
+ }
+
+ public void setSignedByType(String type) {
+ put(ConfigConstants.PR_SIGNEDBY_TYPE, type);
+ }
+
+
public boolean isLoggedIn() {
String value = (String)get(Constants.PR_LOGGED_IN);
if (value != null && value.equals(Constants.FALSE))
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertDNPage.java b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertDNPage.java
index 455c245da..661b7e469 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertDNPage.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertDNPage.java
@@ -147,8 +147,14 @@ class WCertDNPage extends WBaseDNPage implements IWizardPanel {
}
if (wizardInfo.isNewKey()) {
- nvps.add(Constants.PR_KEY_LENGTH, wizardInfo.getKeyLength());
- nvps.add(Constants.PR_KEY_TYPE, wizardInfo.getKeyType());
+ String type = wizardInfo.getKeyType();
+ if (type.equals("ECC")) {
+ nvps.add(Constants.PR_KEY_CURVENAME, wizardInfo.getKeyCurveName());
+ } else {
+ nvps.add(Constants.PR_KEY_LENGTH, wizardInfo.getKeyLength());
+ }
+
+ nvps.add(Constants.PR_KEY_TYPE, type);
nvps.add(Constants.PR_TOKEN_NAME, wizardInfo.getTokenName());
}
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertExtensionPage.java b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertExtensionPage.java
index 4f5222bb1..b53e200dc 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertExtensionPage.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertExtensionPage.java
@@ -161,8 +161,13 @@ class WCertExtensionPage extends WBaseCertExtensionPage implements
nvps.add(Constants.PR_SUBJECT_NAME, wizardInfo.getSubjectName());
if (wizardInfo.isNewKey()) {
- nvps.add(Constants.PR_KEY_LENGTH, wizardInfo.getKeyLength());
- nvps.add(Constants.PR_KEY_TYPE, wizardInfo.getKeyType());
+ String type = wizardInfo.getKeyType();
+ if (type.equals("ECC")) {
+ nvps.add(Constants.PR_KEY_CURVENAME, wizardInfo.getKeyCurveName());
+ } else {
+ nvps.add(Constants.PR_KEY_LENGTH, wizardInfo.getKeyLength());
+ }
+ nvps.add(Constants.PR_KEY_TYPE, type);
nvps.add(Constants.PR_TOKEN_NAME, wizardInfo.getTokenName());
}
//nvps.add(Constants.PR_VALIDITY_PERIOD, wizardInfo.getValidityPeriod());
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertMessageDigestPage.java b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertMessageDigestPage.java
index bc9018b3f..a378e91d3 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertMessageDigestPage.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WCertMessageDigestPage.java
@@ -57,17 +57,35 @@ class WCertMessageDigestPage extends WMessageDigestPage {
public boolean initializePanel(WizardInfo info) {
CertSetupWizardInfo wizardInfo = (CertSetupWizardInfo)info;
+ String certType = wizardInfo.getCertType();
+
+ mCAKeyType = (String)wizardInfo.get(Constants.PR_KEY_TYPE);
+
if (wizardInfo.getOperationType().equals(wizardInfo.INSTALLTYPE))
return false;
- if ((wizardInfo.getCAType().equals(wizardInfo.SUBORDINATE_CA))
- && !(wizardInfo.isSSLCertLocalCA()))
- return false;
+ if ((wizardInfo.getCAType().equals(wizardInfo.SUBORDINATE_CA))
+ && !(wizardInfo.isSSLCertLocalCA()))
+ return false;
+
if (!wizardInfo.isNewKey())
return false;
- mCAKeyType = (String)wizardInfo.get(Constants.PR_KEY_TYPE);
+ if (wizardInfo.getCAType().equals(wizardInfo.SELF_SIGNED) &&
+ certType.equals(Constants.PR_CA_SIGNING_CERT)) {
+ enableSignedByFields(true);
+ } else {
+ enableSignedByFields(false);
+ }
+
+ if ((!certType.equals(Constants.PR_CA_SIGNING_CERT)) &&
+ (!certType.equals(Constants.PR_OCSP_SIGNING_CERT))) {
+ // (!certType.equals(Constants.PR_KRA_TRANSPORT_CERT))) {
+ // non-signing cert, algorithm specified by CA
+ return false;
+ }
+
return super.initializePanel(info);
}
@@ -75,8 +93,18 @@ class WCertMessageDigestPage extends WMessageDigestPage {
CertSetupWizardInfo wizardInfo = (CertSetupWizardInfo)info;
if (mDSAHashTypeBox.isVisible())
wizardInfo.setHashType((String)mDSAHashTypeBox.getSelectedItem());
- else
+ else if (mECCHashTypeBox.isVisible())
+ wizardInfo.setHashType((String)mECCHashTypeBox.getSelectedItem());
+ else if (mRSAHashTypeBox.isVisible())
wizardInfo.setHashType((String)mRSAHashTypeBox.getSelectedItem());
+
+ if (mDSASignedByTypeBox.isVisible())
+ wizardInfo.setSignedByType((String)mDSASignedByTypeBox.getSelectedItem());
+ else if (mECCSignedByTypeBox.isVisible())
+ wizardInfo.setSignedByType((String)mECCSignedByTypeBox.getSelectedItem());
+ else if (mRSASignedByTypeBox.isVisible())
+ wizardInfo.setSignedByType((String)mRSASignedByTypeBox.getSelectedItem());
+
}
public void callHelp() {
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WExecutePage.java b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WExecutePage.java
index 3e10e634b..109a82e69 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WExecutePage.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WExecutePage.java
@@ -110,8 +110,12 @@ class WExecutePage extends WizardBasePanel implements IWizardPanel {
NameValuePairs nvps = wizardInfo.getNameValuePairs();
- if (wizardInfo.isNewKey())
- nvps.add(ConfigConstants.PR_HASH_TYPE, wizardInfo.getHashType());
+ if (wizardInfo.isNewKey()) {
+ if (wizardInfo.getHashType() != null)
+ nvps.add(ConfigConstants.PR_HASH_TYPE, wizardInfo.getHashType());
+ if (wizardInfo.getSignedByType() != null)
+ nvps.add(ConfigConstants.PR_SIGNEDBY_TYPE, wizardInfo.getSignedByType());
+ }
nvps.add("pathname", dir);
try {
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WKeyPage.java b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WKeyPage.java
index 0216e5902..84852fa4b 100644
--- a/pki/base/console/src/com/netscape/admin/certsrv/keycert/WKeyPage.java
+++ b/pki/base/console/src/com/netscape/admin/certsrv/keycert/WKeyPage.java
@@ -44,12 +44,13 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
private JRadioButton mExistingKeyBtn;
private JRadioButton mNewKeyBtn;
private JComboBox mKeyTypeBox, mDSAKeyTypeBox;
- private JComboBox mKeyLengthBox, mDSAKeyLengthBox;
+ private JComboBox mKeyLengthBox, mDSAKeyLengthBox, mKeyCurveBox;
private JComboBox mTokenBox, mNicknameBox;
private JTextField mKeyLengthText;
- private JLabel keyHeading, keyTypeLbl, keyLengthLbl, unitLbl,
- keyLengthCustomLbl, unit1Lbl, mTokenLbl, mNicknameLbl;
- private JLabel keyLengthCustomText;
+ private JTextField mKeyCurveText;
+ private JLabel keyHeading, keyTypeLbl, keyLengthLbl, keyCurveLbl, unitLbl,
+ unit1Lbl, mTokenLbl, mNicknameLbl;
+ private JLabel keyLengthCustomText, keyCurveCustomText;
private static final String PANELNAME = "KEYWIZARD";
private CertSetupWizardInfo wizardInfo;
private static final String HELPINDEX =
@@ -142,19 +143,12 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
mKeyTypeBox.setVisible(true);
}
- String type = "RSA";
+ String type = (String)mKeyTypeBox.getSelectedItem();
if (mDSAKeyTypeBox.isVisible()) {
type = (String)mDSAKeyTypeBox.getSelectedItem();
}
- if (type.equals("RSA")) {
- mDSAKeyLengthBox.setVisible(false);
- mKeyLengthBox.setVisible(true);
- } else {
- mKeyLengthBox.setVisible(false);
- mDSAKeyLengthBox.setVisible(true);
- }
-
+ setLengthCurveFields(type);
enableKeyLengthFields();
//if (mNewKeyBtn.isSelected() || certType.equals(Constants.PR_OTHER_CERT)) {
@@ -190,7 +184,7 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
}
public boolean validatePanel() {
- if (mKeyLengthText.isEnabled()) {
+ if (mKeyLengthText.isVisible() && mKeyLengthText.isEnabled()) {
String str = mKeyLengthText.getText().trim();
if (str.equals("")) {
setErrorMessage("BLANKLEN");
@@ -209,6 +203,15 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
}
}
+ /*
+ if (mKeyCurveText.isVisible() && mKeyCurveText.isEnabled()) {
+ String str = mKeyCurveText.getText().trim();
+ if (str.equals("")) {
+ setErrorMessage("BLANKCURVE");
+ return false;
+ }
+ }*/
+
return true;
}
@@ -221,18 +224,31 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
if (mKeyLengthBox.isVisible()) {
val = (String)mKeyLengthBox.getSelectedItem();
+ } else if (mKeyCurveBox.isVisible()) {
+ val = (String)mKeyCurveBox.getSelectedItem();
} else {
- if (mDSAKeyLengthBox.isVisible())
- val = (String)mDSAKeyLengthBox.getSelectedItem();
- }
+ if (mDSAKeyLengthBox.isVisible())
+ val = (String)mDSAKeyLengthBox.getSelectedItem();
+ }
if (val.equals("Custom")) {
- wizardInfo.addEntry(Constants.PR_KEY_LENGTH,
- mKeyLengthText.getText().trim());
- nvps.add(Constants.PR_KEY_LENGTH, mKeyLengthText.getText().trim());
+ if (mKeyCurveBox.isVisible()) { // ECC
+ wizardInfo.addEntry(Constants.PR_KEY_CURVENAME,
+ mKeyCurveText.getText().trim());
+ nvps.add(Constants.PR_KEY_CURVENAME, mKeyCurveText.getText().trim());
+ } else {
+ wizardInfo.addEntry(Constants.PR_KEY_LENGTH,
+ mKeyLengthText.getText().trim());
+ nvps.add(Constants.PR_KEY_LENGTH, mKeyLengthText.getText().trim());
+ }
} else {
- wizardInfo.addEntry(Constants.PR_KEY_LENGTH, val.trim());
- nvps.add(Constants.PR_KEY_LENGTH, val.trim());
+ if (mKeyCurveBox.isVisible()) { // ECC
+ wizardInfo.addEntry(Constants.PR_KEY_CURVENAME, val.trim());
+ nvps.add(Constants.PR_KEY_CURVENAME, val.trim());
+ } else {
+ wizardInfo.addEntry(Constants.PR_KEY_LENGTH, val.trim());
+ nvps.add(Constants.PR_KEY_LENGTH, val.trim());
+ }
}
if (mKeyTypeBox.isVisible()) {
@@ -253,9 +269,14 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
nvps.add(Constants.PR_CERTIFICATE_TYPE, certType);
try {
- // validate the key length
- connection.validate(DestDef.DEST_SERVER_ADMIN,
- ScopeDef.SC_KEY_LENGTH, nvps);
+ // validate the key length or curvename
+ if (mKeyCurveBox.isVisible()) { //ECC
+ connection.validate(DestDef.DEST_SERVER_ADMIN,
+ ScopeDef.SC_KEY_CURVENAME, nvps);
+ } else {
+ connection.validate(DestDef.DEST_SERVER_ADMIN,
+ ScopeDef.SC_KEY_LENGTH, nvps);
+ }
NameValuePairs response = null;
if (!mNewKeyBtn.isSelected()) {
@@ -523,6 +544,23 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
add(mDSAKeyLengthBox, gbc);
//panel.add(mDSAKeyLengthBox, gbc);
+ keyCurveLbl = makeJLabel("KEYCURVE");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.CENTER;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(0, 4*COMPONENT_SPACE,COMPONENT_SPACE,
+ COMPONENT_SPACE);
+ add(keyCurveLbl, gbc);
+
+ mKeyCurveBox = makeJComboBox("KEYCURVE");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.NORTHWEST;
+ gbc.fill = gbc.NONE;
+ gbc.gridwidth = gbc.REMAINDER;
+ gbc.insets = new Insets(0, COMPONENT_SPACE,COMPONENT_SPACE,
+ COMPONENT_SPACE);
+ add(mKeyCurveBox, gbc);
+
unitLbl = makeJLabel("UNITS");
CMSAdminUtil.resetGBC(gbc);
gbc.anchor = gbc.CENTER;
@@ -551,6 +589,14 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
COMPONENT_SPACE,COMPONENT_SPACE);
panel1.add(keyLengthCustomText, gbc);
+ keyCurveCustomText = makeJLabel("CUSTOMKEYCURVE");
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(COMPONENT_SPACE, 4*COMPONENT_SPACE,
+ COMPONENT_SPACE,COMPONENT_SPACE);
+ panel1.add(keyCurveCustomText, gbc);
+
mKeyLengthText = makeJTextField(7);
CMSAdminUtil.resetGBC(gbc);
gbc.anchor = gbc.WEST;
@@ -560,6 +606,13 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
panel1.add(mKeyLengthText, gbc);
mActiveColor = mKeyLengthText.getBackground();
+ mKeyCurveText = makeJTextField(7);
+ CMSAdminUtil.resetGBC(gbc);
+ gbc.anchor = gbc.WEST;
+ gbc.fill = gbc.NONE;
+ gbc.insets = new Insets(0, COMPONENT_SPACE, 0, 0);
+ panel1.add(mKeyCurveText, gbc);
+
unit1Lbl = makeJLabel("UNITS");
CMSAdminUtil.resetGBC(gbc);
gbc.anchor = gbc.WEST;
@@ -610,8 +663,50 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
CMSAdminUtil.repaintComp(mTokenLbl);
}
+ public void setLengthCurveFields(String type) {
+ if (type.equals("RSA")) {
+ mDSAKeyLengthBox.setVisible(false);
+ mKeyLengthBox.setVisible(true);
+ mKeyCurveBox.setVisible(false);
+ keyLengthCustomText.setVisible(true);
+ keyCurveCustomText.setVisible(false);
+ keyLengthLbl.setVisible(true);
+ keyCurveLbl.setVisible(false);
+ unit1Lbl.setVisible(true);
+ unitLbl.setVisible(true);
+ mKeyLengthText.setVisible(true);
+ mKeyCurveText.setVisible(false);
+ } else if (type.equals("ECC")) {
+ mDSAKeyLengthBox.setVisible(false);
+ mKeyLengthBox.setVisible(false);
+ mKeyCurveBox.setVisible(true);
+ keyLengthCustomText.setVisible(false);
+ keyCurveCustomText.setVisible(true);
+ keyLengthLbl.setVisible(false);
+ keyCurveLbl.setVisible(true);
+ unit1Lbl.setVisible(false);
+ unitLbl.setVisible(false);
+ mKeyLengthText.setVisible(false);
+ mKeyCurveText.setVisible(true);
+ } else {
+ mDSAKeyLengthBox.setVisible(true);
+ mKeyLengthBox.setVisible(false);
+ mKeyCurveBox.setVisible(false);
+ keyLengthCustomText.setVisible(true);
+ keyCurveCustomText.setVisible(false);
+ keyLengthLbl.setVisible(true);
+ keyCurveLbl.setVisible(false);
+ unit1Lbl.setVisible(true);
+ unitLbl.setVisible(true);
+ mKeyLengthText.setVisible(true);
+ mKeyCurveText.setVisible(false);
+ }
+ }
+
+
public void itemStateChanged(ItemEvent e) {
- if (e.getSource().equals(mKeyLengthBox) ||
+ if (e.getSource().equals(mKeyLengthBox) ||
+ e.getSource().equals(mKeyCurveBox) ||
e.getSource().equals(mDSAKeyLengthBox)) {
enableKeyLengthFields();
} else if (e.getSource().equals(mKeyTypeBox) ||
@@ -621,14 +716,8 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
type = (String)mKeyTypeBox.getSelectedItem();
else if (mDSAKeyTypeBox.isVisible())
type = (String)mDSAKeyTypeBox.getSelectedItem();
-
- if (type.equals("RSA")) {
- mDSAKeyLengthBox.setVisible(false);
- mKeyLengthBox.setVisible(true);
- } else {
- mDSAKeyLengthBox.setVisible(true);
- mKeyLengthBox.setVisible(false);
- }
+
+ setLengthCurveFields(type);
enableKeyLengthFields();
CMSAdminUtil.repaintComp(this);
}
@@ -639,16 +728,27 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
if (mKeyLengthBox.isVisible())
value = (String)mKeyLengthBox.getSelectedItem();
+ else if (mKeyCurveBox.isVisible())
+ value = (String)mKeyCurveBox.getSelectedItem();
else
value = (String)mDSAKeyLengthBox.getSelectedItem();
if (value.equals("Custom") && mNewKeyBtn.isSelected()) {
- enableFields(keyLengthCustomText, mKeyLengthText, true, mActiveColor);
- enableFields(unit1Lbl, null, true, mActiveColor);
+ if (mKeyCurveBox.isVisible()) { //ECC
+ enableFields(keyCurveCustomText, mKeyCurveText, true, mActiveColor);
+ } else {
+ enableFields(keyLengthCustomText, mKeyLengthText, true, mActiveColor);
+ enableFields(unit1Lbl, null, true, mActiveColor);
+ }
} else {
- enableFields(keyLengthCustomText, mKeyLengthText, false,
- getBackground());
- enableFields(unit1Lbl, null, false, getBackground());
+ if (mKeyCurveBox.isVisible()) { //ECC
+ enableFields(keyCurveCustomText, mKeyCurveText, false,
+ getBackground());
+ } else {
+ enableFields(keyLengthCustomText, mKeyLengthText, false,
+ getBackground());
+ enableFields(unit1Lbl, null, false, getBackground());
+ }
}
}
@@ -670,26 +770,36 @@ class WKeyPage extends WizardBasePanel implements IWizardPanel, ItemListener {
keyHeading.setEnabled(enable);
keyTypeLbl.setEnabled(enable);
keyLengthLbl.setEnabled(enable);
+ keyCurveLbl.setEnabled(enable);
unitLbl.setEnabled(enable);
unit1Lbl.setEnabled(enable);
keyLengthCustomText.setEnabled(enable);
+ keyCurveCustomText.setEnabled(enable);
mKeyLengthText.setEnabled(enable);
mKeyLengthText.setEditable(enable);
mKeyLengthText.setBackground(color);
+ mKeyCurveText.setEnabled(enable);
+ mKeyCurveText.setEditable(enable);
+ mKeyCurveText.setBackground(color);
mKeyTypeBox.setEnabled(enable);
mDSAKeyTypeBox.setEnabled(enable);
mKeyLengthBox.setEnabled(enable);
+ mKeyCurveBox.setEnabled(enable);
mDSAKeyLengthBox.setEnabled(enable);
repaintComp(keyHeading);
repaintComp(keyTypeLbl);
repaintComp(keyLengthLbl);
+ repaintComp(keyCurveLbl);
repaintComp(unitLbl);
repaintComp(unit1Lbl);
repaintComp(keyLengthCustomText);
+ repaintComp(keyCurveCustomText);
repaintComp(mKeyLengthText);
+ repaintComp(mKeyCurveText);
repaintComp(mKeyTypeBox);
repaintComp(mDSAKeyTypeBox);
repaintComp(mKeyLengthBox);
+ repaintComp(mKeyCurveBox);
repaintComp(mDSAKeyLengthBox);
}
diff --git a/pki/base/console/src/com/netscape/certsrv/common/ConfigConstants.java b/pki/base/console/src/com/netscape/certsrv/common/ConfigConstants.java
index d8eb6cd8f..437974f13 100644
--- a/pki/base/console/src/com/netscape/certsrv/common/ConfigConstants.java
+++ b/pki/base/console/src/com/netscape/certsrv/common/ConfigConstants.java
@@ -200,6 +200,7 @@ public interface ConfigConstants {
public static final String PR_SSL_SUBJECT_NAME = "sslSubjectName";
public static final String PR_KEY_TYPE = "keyType";
public static final String PR_KEY_LENGTH = "keyLength";
+ public static final String PR_KEY_CURVENAME = "keyCurveName";
public static final String PR_CERT_REQUEST = "certReq";
public static final String PR_REQUEST_ID = "ReqID";
public static final String PR_REQUEST_FORMAT = "ReqFormat";
@@ -272,6 +273,7 @@ public interface ConfigConstants {
public static final String PR_RSA_MIN_KEYLENGTH = "RSAMinKeyLength";
public static final String PR_CA_KEYTYPE = "ca_keyType";
public static final String PR_HASH_TYPE = "hashType";
+ public static final String PR_SIGNEDBY_TYPE = "signedBy";
public static final String PR_NOTAFTER = "notAfter";
public static final String PR_CA_O_COMPONENT = "caOComponent";
public static final String PR_CA_C_COMPONENT = "caCComponent";
diff --git a/pki/base/console/src/com/netscape/certsrv/common/Constants.java b/pki/base/console/src/com/netscape/certsrv/common/Constants.java
index 460ede629..e993efa31 100644
--- a/pki/base/console/src/com/netscape/certsrv/common/Constants.java
+++ b/pki/base/console/src/com/netscape/certsrv/common/Constants.java
@@ -492,6 +492,8 @@ public interface Constants {
public final static String PR_TOKEN_NAME = "tokenName";
public final static String PR_TOKEN_PASSWD = "tokenPwd";
public final static String PR_KEY_LENGTH = "keyLength";
+ public final static String PR_KEY_CURVENAME = "keyCurveName";
+ public static final String PR_SIGNEDBY_TYPE = "signedBy";
public final static String PR_KEY_TYPE = "keyType";
public final static String PR_PQGPARAMS = "pqgParams";
public final static String PR_CERT_REQUEST = "certReq";
diff --git a/pki/base/console/src/com/netscape/certsrv/common/ScopeDef.java b/pki/base/console/src/com/netscape/certsrv/common/ScopeDef.java
index 2c01ef345..b3e4a79a6 100644
--- a/pki/base/console/src/com/netscape/certsrv/common/ScopeDef.java
+++ b/pki/base/console/src/com/netscape/certsrv/common/ScopeDef.java
@@ -170,6 +170,7 @@ public interface ScopeDef {
// Key Pair
public final static String SC_KEY_LENGTH = "keyLength";
+ public final static String SC_KEY_CURVENAME = "keyCurveName";
public final static String SC_CERTIFICATE_EXTENSION = "certificateExt";
public final static String SC_TOKEN_STATUS = "tokenStatus";
public final static String SC_TOKEN_LOGON = "tokenLogon";