From 82228a346b457c0f7e3eb8b8fb385e05036723c1 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Mon, 20 Nov 2006 06:02:30 +0000
Subject: [PATCH] Update the ldappasswordmodify tool to align the SSL-related arguments with the other LDAP client tools.
---
opends/src/server/org/opends/server/tools/LDAPPasswordModify.java | 81 +++++++++++++++++++++++++++++++++-------
1 files changed, 67 insertions(+), 14 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java b/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
index 7572c20..87d6c11 100644
--- a/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
+++ b/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
@@ -179,7 +179,9 @@
StringArgument ldapHost;
StringArgument newPW;
StringArgument sslKeyStore;
+ StringArgument sslKeyStorePIN;
StringArgument sslTrustStore;
+ StringArgument sslTrustStorePIN;
// Initialize the argument parser.
@@ -269,36 +271,51 @@
sslBlindTrust =
- new BooleanArgument("blindtrust", 'X', "trustAllCertificates",
+ new BooleanArgument("blindtrust", 'X', "trustAll",
MSGID_LDAPPWMOD_DESCRIPTION_BLIND_TRUST);
argParser.addArgument(sslBlindTrust);
sslKeyStore =
- new StringArgument("sslkeystore", 'k', "sslKeyStore", false, false,
- true, "{file}", null, null,
+ new StringArgument("keystorepath", 'K', "keyStorePath", false, false,
+ true, "{keyStorePath}", null, null,
MSGID_LDAPPWMOD_DESCRIPTION_KEYSTORE);
argParser.addArgument(sslKeyStore);
+ sslKeyStorePIN =
+ new StringArgument("keystorepassword", 'W', "keyStorePassword",
+ false, false, true, "{password}", null, null,
+ MSGID_LDAPPWMOD_DESCRIPTION_KEYSTORE_PIN);
+ argParser.addArgument(sslKeyStorePIN);
+
+
sslKeyStorePINFile =
- new FileBasedArgument("sslkeystorepin", 'K', "sslKeyStorePINFile",
- false, false, "{file}", null, null,
+ new FileBasedArgument("keystorepasswordilfe", null,
+ "keyStorePasswordFile", false, false, "{path}",
+ null, null,
MSGID_LDAPPWMOD_DESCRIPTION_KEYSTORE_PINFILE);
argParser.addArgument(sslKeyStorePINFile);
sslTrustStore =
- new StringArgument("ssltruststore", 't', "sslTrustStore", false,
- false, true, "{file}", null, null,
+ new StringArgument("truststorepath", 'P', "trustStorePath", false,
+ false, true, "{trustStorePath}", null, null,
MSGID_LDAPPWMOD_DESCRIPTION_TRUSTSTORE);
argParser.addArgument(sslTrustStore);
+ sslTrustStorePIN =
+ new StringArgument("truststorepassword", null, "trustStorePassword",
+ false, false, true, "{password}", null, null,
+ MSGID_LDAPPWMOD_DESCRIPTION_TRUSTSTORE_PIN);
+ argParser.addArgument(sslTrustStorePIN);
+
+
sslTrustStorePINFile =
- new FileBasedArgument("ssltruststorepin", 'T',
- "sslTrustStorePINFile", false, false, "{file}", null, null,
- MSGID_LDAPPWMOD_DESCRIPTION_TRUSTSTORE_PINFILE);
+ new FileBasedArgument("truststorepasswordfile", null,
+ "trustStorePasswordFile", false, false, "{path}", null,
+ null, MSGID_LDAPPWMOD_DESCRIPTION_TRUSTSTORE_PINFILE);
argParser.addArgument(sslTrustStorePINFile);
@@ -378,6 +395,24 @@
return 1;
}
+ if (sslKeyStorePIN.isPresent() && sslKeyStorePINFile.isPresent())
+ {
+ int msgID = MSGID_TOOL_CONFLICTING_ARGS;
+ String message = getMessage(msgID, sslKeyStorePIN.getLongIdentifier(),
+ sslKeyStorePINFile.getLongIdentifier());
+ err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+
+ if (sslTrustStorePIN.isPresent() && sslTrustStorePINFile.isPresent())
+ {
+ int msgID = MSGID_TOOL_CONFLICTING_ARGS;
+ String message = getMessage(msgID, sslTrustStorePIN.getLongIdentifier(),
+ sslTrustStorePINFile.getLongIdentifier());
+ err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+
// If a bind DN was provided, make sure that a password was given. If a
// password was given, make sure a bind DN was provided. If neither were
@@ -459,14 +494,32 @@
connectionOptions.setVersionNumber(3);
if(connectionOptions.useSSL() || connectionOptions.useStartTLS())
{
+ String keyPIN = null;
+ if (sslKeyStorePIN.isPresent())
+ {
+ keyPIN = sslKeyStorePIN.getValue();
+ }
+ else if (sslKeyStorePINFile.isPresent())
+ {
+ keyPIN = sslKeyStorePINFile.getValue();
+ }
+
+ String trustPIN = null;
+ if (sslTrustStorePIN.isPresent())
+ {
+ trustPIN = sslTrustStorePIN.getValue();
+ }
+ else if (sslTrustStorePINFile.isPresent())
+ {
+ trustPIN = sslTrustStorePINFile.getValue();
+ }
+
try
{
SSLConnectionFactory sslConnectionFactory = new SSLConnectionFactory();
sslConnectionFactory.init(sslBlindTrust.isPresent(),
- sslKeyStore.getValue(),
- sslKeyStorePINFile.getValue(),
- sslTrustStore.getValue(),
- sslTrustStorePINFile.getValue());
+ sslKeyStore.getValue(), keyPIN,
+ sslTrustStore.getValue(), trustPIN);
connectionOptions.setSSLConnectionFactory(sslConnectionFactory);
}
catch (Exception e)
--
Gitblit v1.10.0