Estaba leyendo What happens when a code signing certificate expires - Stack Overflow y me preguntaba por una respuesta más sólida. La respuesta proporcionada fue más acerca de la configuración de su propia CA. Incluso con su propia CA, tendrá que lidiar con certificados de código vencidos.¿Cómo puedo evitar tener que volver a firmar mi código cada 1 o 2 años?
Si firmó el código sin utilizar un servicio de sellado de tiempo, después de que el certificado caduque, su código ya no será confiable y, dependiendo de la configuración de seguridad, no se podrá ejecutar. Tendrá que volver a firmar todo su código con un nuevo certificado, o con un certificado renovado, cada 1 o 2 años.
La marca de tiempo de confianza (digital) permite que la firma digital sea válida incluso después de que el certificado haya expirado. Debería volver a firmar el código con el nuevo certificado solo si ha realizado cambios.
¿Esto suena todo correcto? Si es así, necesito recomendaciones sobre qué servicio de sellado de tiempo usar, preferiblemente de alguien que realmente haya usado uno. También me gustaría saber si hay alguna solución interna, similar a ser su propia CA.
En este momento esto se aplica a los scripts de PowerShell, pero eventualmente tendré el mismo problema con otro código.
actualización: Ejemplo de cómo firmar una escritura de PS con una marca de tiempo (se puede hacer un script para esto):
Set-AuthenticodeSignature -filepath "D:\Projects\A Sample\MyFile.ps1"
-cert gci cert:\CurrentUser\My -codesigning
| where -Filter {$_.FriendlyName -eq "Thawte Code Signing"}
-IncludeChain All
-TimeStampServer "http://timestamp.verisign.com/scripts/timstamp.dll"
Entonces, para ver el Certificado y TimeStamper firmante, puede hacerlo esto:
Get-AuthenticodeSignature MyFile.ps1 | fl *
se le da al sujeto (CN, OU, etc.), Emisor, antes/después de las fechas, y huellas dactilares, tanto para su cert cert y del TimeStamper. También recibe un mensaje que indica el estado de la firma.
+1: Idea general: utilice un proveedor de confianza mundial. –
Con Verisign y Thawte, ¿también tiene marca de tiempo? Sin la marca de tiempo, ¿algunos sistemas no se quejarían de la expiración del certificado y no ejecutarían su código? – Bratch
@Bratch: Sí, debe usar su servidor de marca de tiempo. Nunca lo publicamos sin él, así que no puedo comentar sobre aplicaciones que no tienen marca de tiempo. –