aspose file tools*
The moose likes Security and the fly likes read PasswordPolicyResponseValue Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Security
Bookmark "read PasswordPolicyResponseValue " Watch "read PasswordPolicyResponseValue " New topic
Author

read PasswordPolicyResponseValue

Leonardo De Stefano
Greenhorn

Joined: Jan 31, 2002
Posts: 5
Hello. I am trying to obtain whichever days lack so that password expires.
According to I have read the way to know is obtaining a control, doing something like the following thing:
String cn = "cn=user,ou=people";
String password = "password";
LdapContext ldapCtx=null;
Properties env ;
try{
env = new Properties();
env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(javax.naming.Context.PROVIDER_URL, "ldap://localhost:389" );
env.put(javax.naming.Context.SECURITY_AUTHENTICATION, "none");
Control [] ctxCtl = new Control[] {new PasswordPolicyRequestControl()};

ldapCtx = new InitialLdapContext(env,ctxCtl);

ldapCtx.addToEnvironment(javax.naming.Context.SECURITY_AUTHENTICATION, "simple");
ldapCtx.addToEnvironment(javax.naming.Context.SECURITY_PRINCIPAL, cn);
ldapCtx.addToEnvironment(javax.naming.Context.SECURITY_CREDENTIALS,password);

ldapCtx.reconnect(ctxCtl);

}catch(Exception ex){
ex.printStackTrace();
}finally{
BasicControl bc = (BasicControl)ldapCtx.getResponseControls()[0];
}

This returns a control to me (bc), that according to the Link http://mirrors.sunsite.dk/drafts/draft-behera-ldap-password-policy-07.txt has the following structure.
PasswordPolicyResponseValue ::= SEQUENCE {
warning [0] CHOICE {
timeBeforeExpiration [0] INTEGER (0 .. maxInt),
graceLoginsRemaining [1] INTEGER (0 .. maxInt) } OPTIONAL
error [1] ENUMERATED {
passwordExpired (0),
accountLocked (1),
changeAfterReset (2),
passwordModNotAllowed (3),
mustSupplyOldPassword (4),
insufficientPasswordQuality (5),
passwordTooShort (6),
passwordTooYoung (7),
passwordInHistory (8) } OPTIONAL }

The problem is that i cant found the way to interpret these values in my java application.
Somebody could give an example me of like doing this.
P.D.: excuse my English
 
Consider Paul's rocket mass heater.
 
subject: read PasswordPolicyResponseValue