Código de firma de un ejecutable dos veces.

Pregunta corta

¿Cómo puedo obtener información sobre varios certificados de firma de código de un archivo ejecutable (.EXE / .DLL)?

Respuesta esperada

La respuesta final aceptada debe proponer una forma de obtener todos los certificados en C #. El concepto / pseudo código está bien, no espero que escriba la fuente completa.

Para una respuesta intermedia que sugiere una herramienta, por favor veami pregunta en Security.StackExchange.

Pregunta larga

Estoy investigando si podríamos usar varios certificados de firma de código en un complemento (.DLL) para verificar si se ha probado oficialmente o no. Este es el procedimiento:

El DLL del complemento está firmado por el proveedor como cualquier otra aplicaciónel DLL del complemento entra en un laboratorio de pruebas y se somete a un conjunto de pruebasel laboratorio de pruebas firma nuevamente el DLL del complemento para que la aplicación que usa el DLL pueda averiguar si está usando un complemento probado o no

Parece posible firmar una DLL por segunda vez usando

 signtool /v /f <pfx> /as <dll>

Indicaciones de que esto puede haber funcionado:

el archivo aumenta de tamañoLa herramienta imprime un mensaje de éxito.

Sin embargo, hay algunos problemas que muestran la segunda firma:

aunque el Explorador de Windows dice "Lista de firmas", solo muestra un certificadola C#X509Certificate.CreateFromSignedFile()&nbsp;El método solo puede devolver un certificado.

En este momento estoy probando mi código en un archivo EXE en lugar de un archivo DLL, pero eso no debería importar. El EXE ya está firmado con un certificado raíz de confianza y una marca de tiempo. La segunda firma se crea conmi propio certificado siguiendo estos pasos&nbsp;Actualmente sin una marca de tiempo.

Cosas que hice antes de hacer la pregunta:

buscar en Stackoverflow las respuestas existentesbuscar herramientas en Google

La única pregunta relacionada que encontré hasta ahora es¿Cómo se hace un doble signo correctamente con una marca de tiempo?&nbsp;Pero no tiene una respuesta.