X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=security%2Fplugins%2Forg.argeo.security.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fkeyring%2FKeyringLoginModule.java;fp=security%2Fplugins%2Forg.argeo.security.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fkeyring%2FKeyringLoginModule.java;h=0000000000000000000000000000000000000000;hb=e1c4cc6aaa5a1f536407875bf9cf5799dc0fb54f;hp=ba06f887c068de91a1c671d8391d3ac1a5e1c541;hpb=30fe2e93369b30c5ebb644413fe181e2940192cc;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/keyring/KeyringLoginModule.java b/security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/keyring/KeyringLoginModule.java deleted file mode 100644 index ba06f887c..000000000 --- a/security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/keyring/KeyringLoginModule.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.argeo.security.ui.keyring; - -import java.security.AccessController; -import java.util.Map; -import java.util.Set; - -import javax.security.auth.Subject; -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.PasswordCallback; -import javax.security.auth.login.LoginException; -import javax.security.auth.spi.LoginModule; - -import org.apache.commons.logging.LogConfigurationException; -import org.argeo.util.crypto.PasswordBasedEncryption; - -public class KeyringLoginModule implements LoginModule { - private Subject subject; - private CallbackHandler callbackHandler; - private PasswordBasedEncryption passwordBasedEncryption; - - public void initialize(Subject subject, CallbackHandler callbackHandler, - Map sharedState, Map options) { - this.subject = subject; - if (subject == null) { - subject = Subject.getSubject(AccessController.getContext()); - } - this.callbackHandler = callbackHandler; - } - - public boolean login() throws LoginException { - Set pbes = subject - .getPrivateCredentials(PasswordBasedEncryption.class); - if (pbes.size() > 0) - return true; - PasswordCallback pc = new PasswordCallback("Master password", false); - Callback[] callbacks = { pc }; - try { - callbackHandler.handle(callbacks); - passwordBasedEncryption = new PasswordBasedEncryption( - pc.getPassword()); - } catch (Exception e) { - throw new LogConfigurationException(e); - } - return true; - } - - public boolean commit() throws LoginException { - if (passwordBasedEncryption != null) - subject.getPrivateCredentials(PasswordBasedEncryption.class).add( - passwordBasedEncryption); - return true; - } - - public boolean abort() throws LoginException { - return true; - } - - public boolean logout() throws LoginException { - Set pbes = subject - .getPrivateCredentials(PasswordBasedEncryption.class); - pbes.clear(); - return true; - } - -}