Elemento keygen
Si no sabes lo que es un elemento o cómo debes usarlo, te recomiendo leer el tutorial "Tags y atributos en HTML" que puedes encontrar en la sección de tutoriales HTML.
Tabla de contenidos
Descripción
El elemento keygen
representa un campo para la generación de llaves criptográficas. Este elemento es nuevo en HTML5 y ha sido diseñado para ayudar en la generación de llaves usadas en la construcción de certificados firmados digitalmente. La funcionalidad de este elemento es beneficiosa en sistemas de manejo de certificados basados en web.
Básicamente, con este elemento los autores pueden proveer los mecanismos para generar un par de llaves (pública y privada) y enviar la llave pública con el formulario, mientras que la llave privada es guardada en la computadora del usuario. Esto muy probablemente llevará a la generación de un certificado (en el servidor) que el usuario podrá descargar y usar para identificarse cuando sea necesario.
Ejemplos
En este ejemplo, estableceremos un formulario (form
) con un control keygen
usando su configuración por defecto. Cuando el formulario sea enviado, el programa del lado servidor recibirá la llave pública únicamente. La llave privada será guardada en la computadora del usuario.
<form action="../../form-result.php" method="post" target="_blank">
<p>
Generar un par de llaves pública/privada:
<keygen name="llavepublica">
<input type="submit" value="Generar">
</p>
</form>
Atributos
Atributos específicos
autofocus
Un valor booleano que instruye al navegador a establecer el enfoque sobre este control cuando el documento termina de cargarse o cuando el cuadro de diálogo (dialog
) donde el control se encuentra es mostrado. Si el atributo tiene el valor "autofocus" o la cadena vacía (""), o si simplemente está presente, el control debería obtener el enfoque tan pronto como sea posible, luego de que la página o cuadro de diálogo hayan sido cargados.
Ejemplo
<keygen name="llavepublica" autofocus>
challenge
Una cadena que representa una contraseña secreta que será compartida entre el usuario y el servidor. Aunque esta cadena no será usada en la generación del certificado, será empaquetada y enviada al servidor durante el envío del formulario.
La interpretación de las contraseñas challenge está pensada para ser especificada por los emisores de certificados. Ninguna interpretación particular es requerida.
Ejemplo
<form action="../../form-result.php" method="post" target="_blank">
<p>
Generar el par de llaves:
<keygen name="llavepublica" challenge="123456">
<input type="submit" value="Generar">
</p>
</form>
disabled
Un valor booleano que indica si el control se encuentra deshabilitado o no. Si el atributo toma el valor "disabled" o la cadena vacía (""), o si está simplemente presente, el control estará deshabilitado.
Los controles deshabilitados son representados en color gris (si son visibles), son impedidos para interactuar con el usuario y, lo más importante, sus valores (si lo tienen) no son enviados cuando el formulario es despachado.
Ejemplo
<form action="../../form-result.php" method="post" target="_blank">
<p>
Generar llaves:
<keygen name="llavepublica" disabled>
<input type="submit" value="Generar">
</p>
</form>
form
El valor del atributo id
del formulario con el que este control está asociado.
Este atributo es nuevo en HTML5 y ayuda a definir la pertenencia de los controles en formularios anidados o distantes.
Ejemplo
<p>Generación de llaves:</p>
<p><keygen name="llavepublica" form="formulario1"></p>
<form id="formulario1" action="../../form-result.php" method="post" target="_blank">
<p><input type="submit" value="Generar llaves"></p>
</form>
Generación de llaves:
keytype
El algoritmo de encriptación a ser usado en la generación de llaves. Actualmente, el único valor posible (y predeterminado) es rsa
, el cual instruye a los navegadores a usar el algoritmo dessarrollado por RSA Data Security.
Los navegadores no están obligados a soportar un método de encriptación en absoluto. Consecuentemente, algunos navegadores han elegido no soportar la encriptación de llaves. Los autores no deberían confiar en las características de este elemento hasta que el soporte crezca.
Ejemplo
<keygen name="llavepublica" keytype="rsa">
name
Un nombre para el control. Este nombre será enviado por el navegador al agente procesador, emparejado con la llave pública generada. Ambos valores juntos conformarán un par nombre-valor que será utilizado para procesar la información del formulario.
Actualmente, el valor isindex
, antiguamente utilizado de manera especial por algunos navegadores e incluido en el estándar HTML, no está permitido en este atributo.
Ejemplo
<form action="../../form-result.php" method="post" target="_blank">
<p>
Generar llaves:
<keygen name="llave-publica">
<input type="submit" value="Generar">
</p>
</form>
Atributos globales
Para más información acerca de los atributos globales refiérete a esta lista de atributos gloables en HTML5.
Eventos
Eventos globales
Para más información acerca de los eventos globales refiérete a esta lista de eventos globales en HTML5.