|
From: <pe...@us...> - 2003-12-15 14:38:21
|
Update of /cvsroot/neuclear/neuclear-signer/src/java/org/neuclear/signers/standalone
In directory sc8-pr-cvs1:/tmp/cvs-serv5275/src/java/org/neuclear/signers/standalone
Added Files:
StandaloneSigner.java StandaloneSigningServlet.java
Log Message:
Added EnsureHostRequestFilter to commons, to only allow requests from a particular IP
Added a method to optionally show the passphrase box in the SigningServlet. As the default SigningServlet
is intended to be used with a gui passphrase agent, we dont want to display it.
The DemoSigningServlet does display the dialogue.
Added the new neuclear-signer package, which is a standalone web signer using Jetty. The project runs
when built with "maven javaapp". More testing needs to be done as well as a startup wizard.
--- NEW FILE: StandaloneSigner.java ---
package org.neuclear.signers.standalone;
import org.mortbay.http.HttpServer;
import org.mortbay.http.HttpContext;
import org.mortbay.jetty.servlet.ServletHttpContext;
import org.mortbay.jetty.servlet.ServletHandler;
import org.mortbay.jetty.Server;
import org.mortbay.util.InetAddrPort;
import org.mortbay.util.MultiException;
import java.io.IOException;
/**
* Starts a Jetty servlet Engine at port 11870, only listening on localhost.
* with a SigningServlet at http://127.0.0.1:11870/Signer
*/
public class StandaloneSigner {
public static void main(String args[]){
try {
Server server = new Server();
server.addListener(new InetAddrPort("127.0.0.1",11870));
HttpContext context = server.getContext("/");
ServletHandler handler= new ServletHandler();
handler.addServlet("/Signer","org.neuclear.signers.standalone.StandaloneSigningServlet");
context.addHandler(handler);
server.start();
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use Options | File Templates.
} catch (MultiException e) {
e.printStackTrace(); //To change body of catch statement use Options | File Templates.
}
}
}
--- NEW FILE: StandaloneSigningServlet.java ---
package org.neuclear.signers.standalone;
import org.neuclear.signers.servlet.SigningServlet;
import org.neuclear.commons.crypto.signers.Signer;
import org.neuclear.commons.crypto.signers.DefaultSigner;
import org.neuclear.commons.crypto.passphraseagents.GuiDialogAgent;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.servlets.ServletTools;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.security.GeneralSecurityException;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Dec 15, 2003
* Time: 9:20:32 AM
* To change this template use Options | File Templates.
*/
public class StandaloneSigningServlet extends SigningServlet {
protected Signer createSigner(ServletConfig config) throws GeneralSecurityException, NeuClearException, IOException {
return new DefaultSigner(new GuiDialogAgent());
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter writer=response.getWriter();
ServletTools.printHeader(writer, request,"NeuClear Signing Servlet");
}
}
|