55 lines
2.0 KiB
Java
55 lines
2.0 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*
|
|
* Could not load the following classes:
|
|
* javax.baja.security.BICredentials
|
|
* javax.baja.security.BUsernameAndPassword
|
|
*/
|
|
package com.tridium.fox.kerberos;
|
|
|
|
import java.io.IOException;
|
|
import javax.baja.security.BICredentials;
|
|
import javax.baja.security.BUsernameAndPassword;
|
|
import javax.security.auth.callback.Callback;
|
|
import javax.security.auth.callback.CallbackHandler;
|
|
import javax.security.auth.callback.NameCallback;
|
|
import javax.security.auth.callback.PasswordCallback;
|
|
import javax.security.auth.callback.UnsupportedCallbackException;
|
|
|
|
public class KerberosCallbackHandler
|
|
implements CallbackHandler {
|
|
String username = "";
|
|
String password = "";
|
|
|
|
public KerberosCallbackHandler(BICredentials bICredentials) {
|
|
if (bICredentials instanceof BUsernameAndPassword) {
|
|
BUsernameAndPassword bUsernameAndPassword = (BUsernameAndPassword)bICredentials;
|
|
this.username = bUsernameAndPassword.getUsername();
|
|
this.password = bUsernameAndPassword.getPassword().getValue();
|
|
}
|
|
}
|
|
|
|
public KerberosCallbackHandler(String string, String string2) {
|
|
this.username = string;
|
|
this.password = string2;
|
|
}
|
|
|
|
public void handle(Callback[] callbackArray) throws IOException, UnsupportedCallbackException {
|
|
for (int i = 0; i < callbackArray.length; ++i) {
|
|
Callback callback;
|
|
if (callbackArray[i] instanceof NameCallback) {
|
|
callback = (NameCallback)callbackArray[i];
|
|
((NameCallback)callback).setName(this.username);
|
|
continue;
|
|
}
|
|
if (callbackArray[i] instanceof PasswordCallback) {
|
|
callback = (PasswordCallback)callbackArray[i];
|
|
((PasswordCallback)callback).setPassword(this.password.toCharArray());
|
|
continue;
|
|
}
|
|
throw new UnsupportedCallbackException(callbackArray[i], "Unrecognized callback.");
|
|
}
|
|
}
|
|
}
|
|
|