Firmar Applets
¿Por qué los applet no tienen permiso?
Un Applet por defecto no puede acceder a los recursos del ordenador donde se está visualizando, ni disco duro, ni impresora ni ninguna otra cosa. Tampoco puede establecer conexiones con otros ordenadores que no sean el servidor de dónde viene.
¿Como puedo Firmar un Applets para que me funcione desde el explorador web?

Para firmar un JApplet con lo cual le damos permisos al archivo, para ello tenemos que hacer uso las aplicaciones keytool y jarsigner que vienen por defecto dentro del JDK.
La primera, keytool, genera el certificado para el japplet.
La segunda, jarsigner, nos permite firmar el applet.
Fue útil la respuesta?
LikeDislikeCodigo Probando_Firmar_JApplets.java
JFrame que instanciaremos desde el Japplet
package computrachos; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JOptionPane; /** * * @author Randy_Amaya */ public class Probando_Firmar_JApplets extends javax.swing.JFrame { public Probando_Firmar_JApplets() { initComponents(); Dimension pantalla=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((pantalla.width-this.getPreferredSize().width)/2,(pantalla.height-this.getPreferredSize().height)/2); } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jLabel1 = new javax.swing.JLabel(); ver = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setText("Firmar un JApplets"); ver.setText("Ver"); ver.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { verActionPerformed(evt); } }); jLabel2.setFont(new java.awt.Font("Tahoma", 3, 18)); // NOI18N jLabel2.setText("Computrachos.com | La Comunidad Donde el Conocimiento se Comparte!!!"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 700, Short.MAX_VALUE) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 700, Short.MAX_VALUE) .addComponent(ver, javax.swing.GroupLayout.Alignment.TRAILING)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(ver) .addContainerGap()) ); pack(); }// </editor-fold> private void verActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: JOptionPane.showMessageDialog(null,"Computrachos.com | La Comunidad Donde el Conocimiento se Comparte"); } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Probando_Firmar_JApplets().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JButton ver; // End of variables declaration }Fue útil la respuesta?
LikeDislikeProbando_JApplet.java
Codigo para hacer un JApplet que instancie el JFrame
package computrachos; import javax.swing.JApplet; /** * * @author Randy_Amaya */ public class Probando_JApplet extends JApplet { public void init() { Probando_Firmar_JApplets x=new Probando_Firmar_JApplets(); x.setVisible(true); } }Fue útil la respuesta?
LikeDislikePara que funcione debemos tener nuestro codigo empaquetado en un archivo .jar el cual lo podemos generar desde Eclipse, Bluej o Netbeans.
Pasos para firmar el JApplet:
1. Abrir la terminar de comandos “CMD”
En la terminal de comandos se desplazan con la instrucción “cd” hasta la carpeta del JDK
En mi caso:
cd C:\Program Files (x86)\Java\jdk1.6.0_20\bin + ENTER
2. Teclear la palabra “dir” para verificar si estamos en la carpeta indicada
En mi cado:
dir + ENTER
verán un listado de archivos que en su mayoría son archivos java.exe
3. Procederemos a crear el certificado:
keytool -genkey -alias TUALIAS -validity 365 –v + ENTER
La validez, según hemos puesto, será de 365 días.
Nos pedirá información a las cuales las ingresamos + ENTER:: TUCLAVE123 + ENTER
• Escriba la contraseña del almacén de claves: TUCLAVE123 + ENTER
• Volver a escribir la contraseña nueva: TUCLAVE123 + ENTER
• ¿Cuál es su nombre y apellido? : Computrachos.com + ENTER
• ¿Cuál es el nombre de su unidad de organización? : UTH La Ceiba + ENTER
• ¿Cuál es el nombre de su organización? : UTH + ENTER
• ¿Cuál es el nombre de su ciudad o Localidad? : La Ceiba + ENTER
• ¿Cuál es el nombre de su estado o provincia? : Atlántida + ENTER
• ¿Cuál es el código de país de dos letras de la unidad? : HN + ENTER
• Nos pregunta si los datos ingresados esta correctos : SI + ENTER
• Nos mostrará un mensaje que las claves fueron generadas
•
• Volver a escribir la contraseña nueva: TUCLAVE123 + ENTER
[Almacenando DIRECCCION DONDE SE ALMACENÓ]
Hasta el momento solo hemos creado el certificado, hay que firmar el jar.
4. Para certificar el JAR, arrancamos la aplicación jarsigner para cada uno de los jar incluyendo las librerías externas_
jarsigner.exe C:\Users\Randy_Amaya\Documents\NetBeansProjects\ Computrachos\dist \ Computrachos.jar TUALIAS –verbose + ENTER
Esa mis línea ejecutada desde el cmd
Una vez finalizado para todas las librería .jar ya tenemos firmado nuestros archivos jar.
Fue útil la respuesta?
LikeDislikePróximo paso, es crear un archivo index.html que ejecute el archivo JApplet que esta empaquetado en un archivo .jar
<html> <head> <title>Probando Certificar JAR</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <center> <applet code="computrachos/Probando_JApplet_Computrachos" archive="Computrachos.jar" width="597" height="326"></applet> </center> </body> </html>Para Descargar el Codigo Fuente:
http://data.amayasystems.com/Certificar_JApplet.rar
Fue útil la respuesta?
LikeDislikeSi desean pueden probar el proyecto completo:
http://data.amayasystems.com/certificar_jappet/
Fue útil la respuesta?
LikeDislike