estoy firmando un exe punto net usando¿Cómo se lee la clave pública de un C# exe firmado
signcode.exe with an spc/pvk combo
El archivo tiene que leer su propia clave pública en tiempo de ejecución con el fin de verificar algunos datos. He bajado por varias avenidas diferentes.
He intentado
X509Certificate executingCert = X509Certificate.CreateFromSignedFile(exe);
executingCert es un valor nulo. Supongo que signcode no está creando un archivo firmado X509, aunque si hay un cambio para cambiar que estoy feliz de ir por ese camino.
editado Resulta que el trabajo anterior .... tuve mi cheque nulo hacia atrás (= = ==!) :)
Assembly asm = Assembly.GetExecutingAssembly();
string exe = asm.Location;
X509Certificate executingCert = X509Certificate.CreateFromSignedFile(exe);
if (executingCert != null)
{
Console.WriteLine("Assembly is signed");
byte[] assemblyKey = executingCert.GetPublicKey();
}
Gracias parece que debería funcionar si puedo ejecutar todo el p/invocando – Fiacc
Esto tiene una respuesta C# http://stackoverflow.com/a/28835034/82410 – Rohit