Autor Tema: ¿Cómo establezco una conexión segura SSL en mi servlet?  (Leído 3841 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gilanrodas

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 22
  • -Receive: 0
  • Mensajes: 527
  • What Would Jesus Do?
No sé cómo explicar esto, pero lo que quiero es que al ejecutar mi  servlet aparezca "https..." en mi url. ¿Cómo hago eso? ¿Qué tengo que  agregar a mi servlet o qué tengo que hacer para establecer una conexión  segura (SSL) al ejecutar mi Web Site y servlets.
 Estoy usando Netbeans y Tomcat, nada de bases de datos. Son aplicaciones  web básicas. A continuación uno de los servlets en que quiero hacer  esto:
 
 
Citar
/*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
 
 package paginaProtegida;
 import java.io.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
 import java.util.Properties;
 import sun.misc.BASE64Decoder;
 import coreservlets.GzipUtilities;
 
 public class PaginaProtegida extends HttpServlet
 {
     private Properties contrasenias;
     private String archivoContrasenia;
 
         @Override
     public void init(ServletConfig config) throws ServletException
     {
         super.init(config);
         try
         {
             archivoContrasenia =  config.getInitParameter("archivoContrasenia");
             contrasenias = new Properties();
             contrasenias.load(new FileInputStream(archivoContrasenia));
         }
         catch (IOException ioe) { }
     }
     @Override
     public void doGet(HttpServletRequest request, HttpServletResponse  response)
     throws ServletException, IOException
     {
         response.setContentType("text/html");
         PrintWriter out= response.getWriter();
 
         //Para verificar si navegador soporta compresión y enviar la  página comprimida o no
         /*if (GzipUtilities.isGzipSupported(request))
         {
             out = response.getWriter();
             /*out = GzipUtilities.getGzipWriter(response);
             response.setHeader("Content-Encoding", "gzip");
         }
         else
         {
             out = response.getWriter();
         }//Fin comprobación de compresión*/
 
         String autorizacion = request.getHeader("Authorization");
         if ( autorizacion == null)
         {
             pedirContrasenia(response);
         }
         else
         {
             String userInfo = autorizacion.substring(6).trim();
             BASE64Decoder decoder = new BASE64Decoder();
             String nombreYContrasenia = new  String(decoder.decodeBuffer(userInfo));
             int indice = nombreYContrasenia.indexOf(":");
             String usuario = nombreYContrasenia.substring(0, indice);
             String contrasenia = nombreYContrasenia.substring(indice+1);
             String verdaderaContrasenia =  contrasenias.getProperty(usuario);
             if ((verdaderaContrasenia != null) &&  (verdaderaContrasenia.equals(contrasenia)))
             {
                 //response.sendRedirect("Promo.html");
 
                 String titulo = "Producto - Detalles y  especificaciones";
                 try
                 {
 
                     //=========================================
                     //¡¡¡¡¡¡INICIA CÓDIGO PARA PÁGINA WEB!!!!!!
                     //=========================================
 
                     out.println("<html>\n"+
                             "<head>"+
                             "<meta http-equiv=\"Content-Type\"  content=\"text/html; charset=UTF-8\">\n"+
                             "<title>"+titulo+"</title>\n"+
                             "<style type=\"text/css\">\n"+
                             "<!--\n"+
                             "#header {\n"+
                             "width: 100%;\n"+
                             "float: left;\n"+
                             "background-color: #ffd700\n"+
                             "}\n"+
                             "#header h1 {\n"+
                             "float: left;\n"+
                             "font-size: 1em;\n"+
                             "text-indent:-9999px;\n"+
                             "}\n"+
                             "#header h1 a {\n"+
                             "width: 105px;\n"+
                             "height: 105px;\n"+
                             "background: #fff url(imagenes/scribus.png)  top left no-repeat;\n"+
                             "float: left;\n"+
                             "text-decoration: none;\n"+
                             "}\n"+
                             "#header ul {\n"+
                             "float: right;\n"+
                             "list-style: none;\n"+
                             "}\n"+
                             "#header li {\n"+
                             "margin-right: 0.1875em;\n"+
                             "display: inline;\n"+
                             "float: left;\n"+
                             "text-align: center;\n"+
                             "font-size: 1.6em;\n"+
                             "}"+
                             "#header li a {\n"+
                             "display: block;\n"+
                             "padding: 0em 0.625em 0.3125em 0.625em;\n"+
                             "color: #000;\n"+
                             "background-color: #FFD700;\n"+
                             "text-decoration: none;\n"+
                             "}\n"+
                             "#header li a:hover {\n"+
                             "background-color: #FFFF00;\n"+
                             "color: #000;\n"+
                             "}\n"+
                             "-->\n"+
                             "</style>\n"+
                             "</head>\n"+
                             "<body bgcolor=\"FFD700\">\n"+
                             "<div id = \"header\">\n"+
                             "<h1>\n"+
                             "<a href = \"Inicio\" title = \"Regresar a  P&aacute;gina Principal\"></a>\n"+
                             "</h1>\n"+
                             "<ul>\n"+
                             "<li><a href =  \"/Inicio.html\">P&aacute;gina Principal</a></li>\n"+
                             "<li><a href =  \"/Formul.html\">Formulario</a></li>\n"+
                             "<li><a href =  \"mailto:ramiro.garcia@intercom.com.sv&subject=Comentarios\">Comentarios</a></li>\n"+
                             "<li><a href =  \"/PaginaProtegida\">Ingresar</a></li>\n"+
                             "</ul>\n"+
                             "</div>\n"+
                             "    <div><center />\n"+
                             "            <form action=\"Formulario\"  />\n"+
                             "        <strong>Impresor NonCa,  Modelo 2010.</strong><br />\n"+
                             "        <br />\n"+
                                     "Elemento: 01-7<br />\n"+
                                     "<img  src=\"imagenes/printer1.png\" width=\"100\" height=\"100\"  alt=\"printer1\"/><br>\n"+
                                     "<strong>Impresor  </strong><br />\n"+
                                     "NonCA 2010.<br />\n"+
                                     "Inyecci&oacute;n de  Burbuja.</div>\n"+
                             "            <br />\n"+
                             "     -----------------------------------------------------------------------<br>\n"+
                             "        Impresor de Inyecci&oacute;n de  Burbuja, Velocidad de Impresi&oacute;n 11 P&aacute;g. en Negro,  y\n"+
                                     "6 en Color.<br />\n"+
                                      "<strong>Contenido:</strong><br />\n"+
                              "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2  Cartuchos de Prueba, 1 color y 1\n"+
                                     "negro.<br />\n"+
                              "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1  cable de poder.<br />\n"+
                              "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1  cable de conexi&oacute;n tipo USB.<br />\n"+
                              "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1  manual de usuario, en 3 idiomas\n"+
                                     "(Ingl&eacute;s,  Espa&ntilde;ol, Portugu&eacute;s).<br />\n"+
                              "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1  CD de Instalaci&oacute;n. <br />\n"+
                                     "<br />\n"+
                                     "Costo total: $ 35.00 + IVA y gastos  env&iacute;o.<br />\n"+
                                     "los gastos de env&iacute;o  dependen del pa&iacute;s de or&iacute;gen</div>\n"+
                              "------------------------------------------------------------------------<br>\n"+
                             "            Si desea comprar este producto,  clic en el Link:<br />\n"+
                             "<br />\n"+
                             "<input name=\"Completar\"  type=\"submit\" value=\"Completar Formulario\" /><br>\n"+
                              "------------------------------------------------------------------------<br>\n"+
                             "        </form>\n"+
                             "    </div></center>\n"+
                             "    </body>\n"+
                             "</html>");
 
                             //=========================================
                             //¡¡¡¡¡¡FINALIZA CÓDIGO PARA PÁGINA  WEB!!!!!!
                             //=========================================
                 }
                 finally{}
 
             }
             else
             {
                 pedirContrasenia(response);
             }
         }
     }
     private void pedirContrasenia(HttpServletResponse response)
     {
         response.setStatus(response.SC_UNAUTHORIZED);
         response.setHeader("WWW-Authenticate", "BASIC realm = \"Ingrese  su Usuario y Contraseña\"");
     }
 }

 
 ¡Muchas gracias!
 

Desconectado Jaru

  • Trade Count: (21)
  • The Communiter-
  • *
  • Thank You
  • -Given: 782
  • -Receive: 1555
  • Mensajes: 13250
  • some text
Re:¿Cómo establezco una conexión segura SSL en mi servlet?
« Respuesta #1 : marzo 17, 2010, 03:24:54 pm »
no tiene que ver mucho con tu codigo, tu servidor debe aceptar y estar configurados para conexiones SSL

vos tenes acceso a la configuracion de tu servidor? sos vos el administrador maximo? o alguiien te da hosting? que tipo de panel de control tenes en tu server?
N/A

Desconectado gilanrodas

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 22
  • -Receive: 0
  • Mensajes: 527
  • What Would Jesus Do?
Re:¿Cómo establezco una conexión segura SSL en mi servlet?
« Respuesta #2 : marzo 17, 2010, 03:38:43 pm »
no tiene que ver mucho con tu codigo, tu servidor debe aceptar y estar configurados para conexiones SSL

vos tenes acceso a la configuracion de tu servidor? sos vos el administrador maximo? o alguiien te da hosting? que tipo de panel de control tenes en tu server?

Fijate que es un trabajo de la universidad. Todo es mediante localhost. Respecto a Panel de Control, no sé, vos. Sólo entro a la carpeta de Tomcat para ejecutar el archivo startup y shutdown para iniciar o detener el servidor web, así que creo que sí, soy el administrador máximo.
La cuestión es que tengo que enviar un proyecto war por correo al catedrático y que, pues, cuando él lo pruebe, que ocupe SSL.
« Última Modificación: marzo 17, 2010, 03:42:34 pm por gilanrodas »

Desconectado Jaru

  • Trade Count: (21)
  • The Communiter-
  • *
  • Thank You
  • -Given: 782
  • -Receive: 1555
  • Mensajes: 13250
  • some text
Re:¿Cómo establezco una conexión segura SSL en mi servlet?
« Respuesta #3 : marzo 17, 2010, 03:43:56 pm »
tu servidor debe estar configurado para ssl.

http://www.google.com/search?client=opera&rls=en&q=tomcat+ssl&sourceid=opera&ie=utf-8&oe=utf-8&safe=on
N/A