import com.novell.ldap.LDAPConnection;
import com.novell.ldap.LDAPException;
import com.novell.ldap.LDAPDSConstants;
import com.novell.security.nmas.mgmt.NMASLoginDataMgr;
import com.novell.security.nmas.mgmt.NMASLoginDataException;
import com.novell.security.nmas.mgmt.LoginDataJLdapTransport;
import com.novell.ldap.LDAPJSSESecureSocketFactory;
import java.security.Security;
import javax.swing.*;
public class SetClrPwd
{
private String hostAddress=null;
private int hostPort=0;
private String keyStore=null;
private String loginDN=null;
private String password=null;
private String objectDN=null;
private String secret=null;
SetClrPwd(String host, int port, String path, String lgnDN, String lgnpswd, String objDN, String objpswd) {
hostAddress = host;
hostPort = port;
keyStore = path;
loginDN = lgnDN;
password = lgnpswd;
objectDN = objDN;
secret = objpswd;
}
public void setPassword(JTextArea results)
{
int ldapVersion = LDAPConnection.LDAP_V3;
LDAPConnection ld = null;
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("javax.net.ssl.trustStore", keyStore);
ld = new LDAPConnection(new LDAPJSSESecureSocketFactory());
results.append("Doing an SSL Bind\r\n");
int methodID[] = {0x01};
String tagName = "Clear Password";
try {
ld.connect( hostAddress, hostPort);
ld.bind( ldapVersion, loginDN, password.getBytes() );
results.append( "bind() succeeded\r\n");
NMASLoginDataMgr mgr = new NMASLoginDataMgr(new LoginDataJLdapTransport(ld));
mgr.putLoginSecret("", objectDN, methodID, tagName, secret.getBytes());
results.append("putLoginSecret() succeeded:\r\n");
if ( ld.isConnected() )
{
ld.disconnect();
}
}
catch( LDAPException e )
{
results.append( "Error: " + e.toString() + "\r\n");
}
catch( NMASLoginDataException lde )
{
results.append( "Error: " + lde.toString() + "\r\n");
}
}
}