Firmar Aplicaciones de Adobe AIR®

Si necesita publicar su código Adobe Flash para sus aplicaciones de AIR, un Certificado Firma de Código con EV es un gran camino por recorrer. Con un Certificado Firma de Código con EV obtendrá todos los beneficios de validación extendida que usted y sus clientes merecen. Sus clientes tendrán la seguridad de saber que su empresa ha pasado a través de los estándares rigurosos de investigación de antecedentes antes de que le fue expedido el certificado, y que dará empleo a un requisito de hardware para ayudar a mantener su clave privada segura.

Comprar un Certificado Firma de Código con EV Hoy!

Comprar

Configuración del JDK de Java para utilizar el eToken

En primer lugar, tendrá que configurar Java para utilizar el token PKCS # 11. Puesto que usted puede estar usando diferentes versiones del entorno de ejecución de Java (JRE) o Java Development Kit (JDK) es probable que tenga que modificar las rutas de carpeta para que coincida con la versión particular instalado en su ordenador. Cambiar los ** para que coincida con la versión específica que está utilizando.

  1. Descargar el JDK (aun si está utilizando una versión de 64 bits de Windows, el JDK requiere el de 32 bits).
    Versión 6, Versión 7, Versión 8.

  2. Abrir la libreta y copiar y pegar los siguientes 2 líneas en el documento y guardar el archivo como C: \ eToken.cfg
    por ejemplo, para JDK 1.6 C:\Program Files (x86)\Java\jdk1.6.0_**\bin
    por ejemplo, para JDK 1.7 C:\Program Files (x86)\Java\jdk1.7.0_**\bin

    Nota: Si está ejecutando una versión de 32 bits de Windows, el JDK de Java se instalará en C:\Program Files\Java\...

    name=eToken
    library=c:\WINDOWS\system32\eTPKCS11.dll

  3. Empezar Wordpad (Inicio > Accesorios > Wordpad) y abrir el archivo java.security de su entorno de ejecución de Java (JRE).
    por ejemplo, C:\Program Files\Java\jre1.7**\lib\security

    Buscar en el archivo (Ctrl + F) para la siguiente línea:

    security.provider.10=sun.security.mscapi.SunMSCAPI

    Si ya no está presente, añadir la siguiente línea después de la línea de arriba:

    security.provider.11=sun.security.pkcs11.SunPKCS11 /etoken.cfg

    Nota: / etoken.cfg es la ruta de acceso al archivo etoken.cfg, y no puede contener una letra de unidad, es decir, debe estar en la misma unidad que la instalación de JDK.

    Cuando Wordpad le pregunta si desea guardar el archivo como un documento de sólo texto, seleccionar "Sí."

  4. En el Explorador de Windows, ir a la carpeta 'C:\Program Files\Java\jdk1.7**\' mantener Mayús y hacer clic derecho en la carpeta bin y seleccionar 'Open Command Prompt here':

    Abra el símbolo del sistema en el Explorador de Windows

  5. Ejecutar el siguiente comando para saber en cuál token símbolo su certificado se almacena:

    keytool -keystore NONE -storetype PKCS11 -list -J-Djava.security.debug=sunpkcs11

    Este comando mostrará una gran cantidad de información. Es necesario desplazarse hasta la parte superior donde se inicia la información, y buscar una línea como esta:

    Slots with tokens: # ("#" será un número, por ejemplo 0 o 2).
    Si el slot utilizado es 0, omitir el paso 6.

    Salida del comando Keytool muestra el número de ranura certificado en el identificador de hardware.

    Retirar el dispositivo eToken de la unidad USB por unos segundos y luego vuelva a enchufarlo ya que sólo le permite ejecutar un comando keytool a la vez.

  6. Abrir el archivo etoken.cfg que usted creó en el paso 2, y cambiar el valor después de 'slot =' para que coincida con el slot de la orden de keytool anterior, y guardar el archivo.

    name=eToken
    library=c:\WINDOWS\system32\eTPKCS11.dll
    slot=0

    Nota: 0 es el slot por defecto, si ha añadido certificados adicionales a la ficha o re-claveado/re-emitido su certificado, puede tener un número diferente de la predeterminada.

  7. Si está utilizando una versión de 64 bits de Windows puede tener problemas al ejecutar el comando ADT porque PKCS11 acceso sólo se admite en la versión de 32 bits de JRE. Si es el caso tendrá que asegurarse de que la ruta indicada para el JRE está apuntando a la versión de 32 bits de Java en lugar de la versión de 64-bit.

    Abrir la Configuración Avanzada del sistema para editar la ruta:
    Inicio > Panel de Control > Sistema > Configuración Avanzada del sistema > haga clic en la ficha Opciones avanzadas > Variables de entorno

    Añada la ruta a la versión de 32 bits del JDK para la versión que está utilizando la línea hasta el final del Valor Variable ruta como se muestra a continuación:
    (Variables de ruta existentes), C:\Program Files\Java\jdk1.6.0_**\bin

    Después de editar ese camino pegarlo en el Valor de la variable y haga clic en Ok.

Firmar Código a través de la utilidad de línea de comandos de ADT

Antes de ejecutar el comando ADT es una buena idea asegurarse de que está utilizando la versión de 32 bits de Java en lugar de la de 64 bits.

  1. Ir a la carpeta donde ha descargado el SDK de Adobe Air, y ir a la subcarpeta bin.

  2. Hacer una copia de seguridad del archivo adt.bat (por ejemplo, hacer una copia para que dice 'adt - copy.bat').

  3. Editar adt.bat para apuntar a la instalación JDK de 32 bits:

    "C:\Program Files (x86)\Java\jdk1.7.0_05\bin\java.exe" -jar "%~dp0\..\lib\adt.jar" %*

  4. Ejecutar el comando ADT en una sola línea para firmar su aplicación:

    adt -sign -tsa http://timestamp.digicert.com -storetype PKCS11 -providerName SunPKCS11-eToken
    "ruta\a\SuApp.air"

    Si el comando se ejecuta con éxito, debería preguntarle por su contraseña y luego tener una línea en blanco después de terminar y volver a la línea de comandos. El archivo de AIR ya debe estar firmado con éxito por el Certificado Firma de Código con EV.

Seguir los pasos de abajo para usar la herramienta de línea de comandos 'Air Development Tool' para firmar las aplicaciones de Adobe AIR con el Certificado Firma de Código con EV.

Solución de Problemas

Si quiere que ADT liste todos los certificados en el dispositivo, ejecutar el siguiente comando (tenga en cuenta su token debe estar conectado antes de ejecutar este comando):

Opciones de Comando Adicionales Útiles para Keytool y ADT

Para una lista de todos los certificados de la cuenta del usuario actual (esto incluye los certificados personales y certificados firma de código estándar).

keytool -list -storetype Windows-MY

Puede utilizar la opción -alias.

Para una lista de los certificados por parte de su alias, ejecutar el siguiente comando:

keytool -list -keystore NONE -storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg "c:\eToken.cfg"

Con este comando ADT puede especificar un determinado certificado para su uso con '-alias CN=SuEmpresa, Inc.' así:

adt -alias "CN=SuEmpresa, Inc." -storetype PKCS11 -providerName sun.security.pkcs11.SunPKCS11 -tsa http://timestamp.digicert.com "path\to\AIRappToSign"

Mensajes de Error

"Proveedor solicitado no está disponible"
Este mensaje de error puede significar un par de cosas diferentes. En primer lugar, es posible que esté intentando utilizar el comando ADT utilizado la instalación de Java de 64 bits, o no tienes el archivo security.lib configurado correctamente para apuntar al archivo etoken.cfg.

"No se puede generar marca de tiempo: alerta handshake: unrecognized_name"
Esto significa que se le olvidó la línea -tsa

"No se puede generar una cadena de certificados válidos para el firmante"
Esto significa que usted no tiene el certificado de la cadena (es decir, intermedio), y el certificado raíz instalado instalado en su dispositivo, y usted tendrá que reiniciar el dispositivo y clave-re su certificado.

"keytool error: java.security.KeyStoreException: PKCS11 no se encontrado"
Este error se produce al intentar a ejecutar el comando keytool de la instalación de Java de 64 bits (C:\Program Files\Java\jdk**\bin\) en lugar de el de 32 bits (C:\Program Files (x86)\Java\jdk**\bin\).