Saltar al contenido

¿Cómo implementa su propio servicio de sellado de tiempo de Authenticode?

Si te encuentras con algún detalle que no entiendes nos puedes dejar un comentario y trataremos de ayudarte lo más rápido posible.

Solución:

Debe escribir un servidor de marca de tiempo HTTP personalizado. Debe seguir las reglas del protocolo de marca de tiempo (TSP) RFC 3161.

Cuando firma su DLL para autenticarse con una herramienta como Signtool.exe del SDK de Windows, puede especificar la URL del servidor de marca de tiempo (con el interruptor /t. Consulte también /tr y /td). A continuación, apuntaría a su servidor.

Consulte aquí en SO para una pregunta relacionada: Marcas de tiempo confiables: comprensión del formato (rfc3161)

y también: Servicios alternativos de sellado de tiempo para Authenticode

Puede desarrollar su propio servicio de sellado de tiempo. Puede escribir un servidor TSP (RFC 3161), pero Authenticode no usa RFC 3161 sino los formatos PKCS#7/PKCS#9 como se describe en el artículo de MSDN (que también puede implementar). Nuestros componentes de SecureBlackbox incluyen un componente de servidor de sellado de tiempo que admite ambos formatos. Actualización: las actualizaciones recientes de Authenticode usan marcas de tiempo estándar RFC 3161.

Pero el problema es obtener el certificado que utilizará para firmar las marcas de tiempo. Este certificado debe ser emitido por una de las CA y, según tengo entendido, existen requisitos estrictos con respecto a los aspectos de administración e infraestructura para ejecutar un servidor de marca de tiempo. En particular, debe tener un hardware de sellado de tiempo seguro. No profundicé en esta pregunta, pero estos aspectos son mucho más complicados que escribir un código.

Aún así, si ejecuta su propia infraestructura PKI (tiene sus propios certificados raíz y certificados CA de confianza), entonces el problema de tener un certificado de marca de tiempo confiable se resuelve automáticamente: puede generar su propio certificado.

Puede configurar su propia autoridad de sellado de tiempo (TSA) compatible con los sellos de tiempo de Authenticode (y/o RFC#3161) utilizando SignServer.

Consulte https://www.signserver.org para obtener las instrucciones de descarga e instalación. En resumen, los pasos importantes son:

  1. Asegúrate de tener los requisitos previos:

    • Java
    • Un servidor de aplicaciones (es decir, WildFly)
    • Apache Ant para implementar
  2. Descargue la versión 4.0 de https://signserver.org o https://sourceforge.net/projects/signserver/files/signserver/4.0/.

  3. Configurar servidor de aplicaciones

    • Para HTTPS (opcional)
    • Para hacer que los servicios web funcionen
    • Parche con las últimas correcciones de seguridad
  4. Configurar la implementación de SignServer

    • Establezca database.name=nodb y database.nodb.location=/an/empty/folder/as/db en conf/signserver_deploy.properties
  5. Implementar SignServer

    • exportar APPSRV_HOME=/opt/wildfly-9/
    • despliegue bin/ant
    • Inicie el servidor de aplicaciones /opt/wildfly-9/bin/standalone.sh
  6. Compruebe que el servidor se inició

    • bin/signserver getstatus breve todo
  7. Configurar un token criptográfico

    • bin/signserver setproperties doc/sample-configs/keystore-crypto-configuration.properties
    • bin / signserver recargar 1
    • bin/signserver getstatus resumen todo
  8. Configurar un firmante de marca de tiempo de muestra

    • bin/signserver setproperties doc/sample-configs/qs_timestamp_configuration.properties
    • bin / signserver recargar 2
    • bin/signserver getstatus resumen todo
  9. Probar el firmante de la marca de tiempo

    • bin/signclient timestamp http://localhost:8080/signserver/process?workerName=TimeStampSigner

Si posees alguna vacilación o capacidad de modernizar nuestro crónica eres capaz de dejar una crónica y con deseo lo interpretaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *