Como generar certificados con CA propia

AVISO: Artículo desactualizado, algunas funciones de javascript ya no existen y el tamaño del certificado debe ser como poco de 2048 en adelante.

Por si alguien se pregunta como hacen para generar certificados de la FNMT o de cualquier otra entidad certificadora (CA), aquí dejo un ejemplo:

<form  enctype=”application/x-www-form-urlencoded”  action=”http://example.com/secure/keygen/test.cgi” method=”post”>
<select name=”randomkey” option2048 (alto nivel)/>
<option option1024 (nivel medio)/></option>
<select input type=”text” value=”Default Text” name=”Field1″ />
  • challenge – Specifies the challenge string to be packaged with the public key for use in verification of the form submission. If no challenge string is provided, then it is encoded as an ‘IA5STRING’ of length zero.
  • name – Names the keygen string.

Más información en: http://www.developingwebs.net/htmlcode/keygentag.php y http://www.blooberry.com/indexdot/html/ … keygen.htm

Para que te envíen algo firmado por web:

<script language="javascript">
function signAndSend() {
document.login.firma.value=crypto.signText(document.login.nick.value,"ask");
document.login.submit(); } </script>
<form>
<input type="text" name="nick" />
<input type="hidden" name="firma" />
<input type="submit" onclick="javascript:signAndSend();" value="Entrar" />
</form>

De: http://oasis.dit.upm.es/~jantonio/firmadigital/ (no funciona) en kriptopolis hay otro artículo interesante: http://www.kriptopolis.org/node/1903 (no funciona

Evidentemente, estos certificados generados, no valen para entrar en sitios de la administración, ya que poseen la firma de nuestra propia entidad certificadora y no la de la FNMT que es un organismo oficial.