Update of /cvsroot/neuclear/neuclear-commons/src/test-cactus/org/neuclear/commons/crypto/passphraseagents
In directory sc8-pr-cvs1:/tmp/cvs-serv18566/src/test-cactus/org/neuclear/commons/crypto/passphraseagents
Added Files:
MockPassphraseServlet.java ServletPassPhraseAgentTest.java
Log Message:
Added ServletPassPhraseAgent which uses ThreadLocal to transfer the passphrase to the signer.
Added ServletSignerFactory, which builds Signers for use within servlets based on parameters in the Servlets
Init parameters in web.xml
Updated SQLContext to use ThreadLocal
Added jakarta cactus unit tests to neuclear-commons to test the 2 new features above.
Added use of the new features in neuclear-commons to the servilets within neuclear-id and added
configuration parameters in web.xml
--- NEW FILE: MockPassphraseServlet.java ---
package org.neuclear.commons.crypto.passphraseagents;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import java.io.IOException;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Dec 14, 2003
* Time: 2:06:29 PM
* To change this template use Options | File Templates.
*/
public class MockPassphraseServlet extends HttpServlet implements PassPhraseAgent{
public MockPassphraseServlet() {
this.agent = new ServletPassPhraseAgent();
}
protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
agent.setRequest(httpServletRequest);
}
public char[] getPassPhrase(String name) {
return agent.getPassPhrase(name); //To change body of implemented methods use Options | File Templates.
}
private ServletPassPhraseAgent agent;
}
--- NEW FILE: ServletPassPhraseAgentTest.java ---
package org.neuclear.commons.crypto.passphraseagents;
import org.apache.cactus.ServletTestCase;
import org.apache.cactus.WebRequest;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.crypto.signers.Signer;
import org.neuclear.commons.crypto.signers.ServletSignerFactory;
import org.neuclear.commons.crypto.signers.TestCaseSigner;
import javax.servlet.ServletException;
import java.security.GeneralSecurityException;
import java.io.IOException;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Dec 14, 2003
* Time: 2:04:24 PM
* To change this template use Options | File Templates.
*/
public class ServletPassPhraseAgentTest extends ServletTestCase {
public void beginGetPassphrase(WebRequest theRequest) throws GeneralSecurityException, NeuClearException {
theRequest.setURL("http://users.neuclear.org", "/test", "/Receiver",
null, null);
theRequest.addParameter("passphrase","test");
}
public void testGetPassphrase() throws ServletException, IOException, GeneralSecurityException, NeuClearException {
MockPassphraseServlet servlet=new MockPassphraseServlet();
servlet.init(config);
servlet.service(request,response);
assertNotNull(servlet.getPassPhrase("bla"));
assertEquals("test",new String(servlet.getPassPhrase("bla")));
}
public void beginNoPassphrase(WebRequest theRequest) throws GeneralSecurityException, NeuClearException {
theRequest.setURL("http://users.neuclear.org", "/test", "/Receiver",
null, null);
}
public void testNoPassphrase() throws ServletException, IOException, GeneralSecurityException, NeuClearException {
MockPassphraseServlet servlet=new MockPassphraseServlet();
servlet.init(config);
servlet.service(request,response);
assertNull(servlet.getPassPhrase("bla"));
}
}
|