visual valid tag method example cref comment comentarios c# deployment visual-studio-2012 xml-signature

valid - xml document c#



"La firma XML manifiesta no es vĂ¡lida" (2)

Tuve el mismo problema hoy. Así es como lo resolví:

¿Qué causó el problema? Creamos un proyecto de clickonce usando vs2012 y framework 4.5. Luego cambiamos el marco de destino a 4.0 (el cliente lo solicitó).

El problema es que Framework 4.5 usa el algoritmo SHA-256 para la firma y 4.0 usa SHA-1. Cuando cambiamos el marco de destino a 4.0 y vs2012 no cambiamos el algoritmo.

Solución: Cambie el algoritmo manualmente, generando un nuevo certificado.

Vaya a Propiedades del proyecto -> firma

Verá el algoritmo que se está utilizando en ''Algoritmo de Firma''. Puede crear un nuevo certificado de prueba y luego notará que cambia a ''sha1RSA''

Sistema operativo: Windows 7 de 64 bits con Visual Studio Pro 2012 con .NET 4.5 instalado.

Utilicé la opción Publicar en Visual Studios y me aseguré de haber hecho clic en Firmar el manifiesto de clickOnce y Firmar el ensamblaje. Todavía no se ejecutará en otra computadora y dice que no tengo una firma XML válida. He pegado el mensaje de error a continuación.

También leí: Cómo mover un paquete de implementación ClickOnce , ¿Tengo que firmar mi manifiesto ClickOnce? . VS2012 .NET 4.0 Clickonce VSTO CryptographicException: SignatureDescription no se pudo crear para el algoritmo de firma suministrado y muchos otros.

Necesito poder implementar mi programa en .NET 4.0 como mínimo y no tengo acceso a otra versión de Visual Studios. ¡Gracias por adelantado!

complete el error a continuación:

INFORMACIÓN DE LA VERSIÓN DE LA PLATAFORMA Windows: 5.1.2600.196608 (Win32NT) Common Language Runtime: 2.0.50727.3603 System.Deployment.dll: 2.0.50727.3053 (netfxsp.050727-3000) mscorwks.dll: 2.0.50727.3603 (GDR.050727-3600) dfdll. dll: 2.0.50727.3053 (netfxsp.050727-3000) dfshim.dll: 4.0.31106.0 (Main.031106-0000)

FUENTES URL de implementación: file: /// C: /Documents%20and%20Settings/Administrator/Desktop/EatonWizard.application

RESUMEN DE ERRORES A continuación se muestra un resumen de los errores, los detalles de estos errores se enumeran más adelante en el registro. * La activación de C: / Documents and Settings / Administrator / Desktop / EatonWizard.application resultó en una excepción. Se detectaron los siguientes mensajes de error: + manifiesto de lectura de excepción del archivo: /// C: /Documents%20and%20Settings/Administrator/Desktop/EatonWizard.application: el manifiesto puede no ser válido o el archivo no se pudo abrir. + La firma XML manifiesta no es válida. + SignatureDescription no se pudo crear para el algoritmo de firma suministrado.

COMPONENTE TIENDA TRANSACCIÓN FALLO RESUMEN No se detectó ningún error de transacción.

ADVERTENCIAS No hubo advertencias durante esta operación.

ESTADO DE PROGRESO DE LA OPERACIÓN * [10/10/2012 2:05:02 PM]: Ha comenzado la activación de C: / Documents and Settings / Administrator / Desktop / EatonWizard.application.

DETALLES DE ERROR Se detectaron los siguientes errores durante esta operación. * [10/10/2012 2:05:02 PM] System.Deployment.Application.InvalidDeploymentException (ManifestParse) - Excepción que lee el manifiesto del archivo: /// C: /Documents%20and%20Settings/Administrator/Desktop/EatonWizard.application : el manifiesto puede no ser válido o el archivo no se pudo abrir. - Origen: System.Deployment - Stack trace: en System.Deployment.Application.ManifestReader.FromDocument (String localPath, ManifestType manifestType, Uri sourceUri) en System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass (SubscriptionStore subStore, Uri & sourceUri, TempFile & tempFile, SubscriptionState & subState, IDownload Notificación de notificación, opciones de DownloadOptions, ServerInformation & serverInformation) en System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass (SubStoreStore subStore, Uri & sourceUri, TempFile & tempFile, SubscriptionState & subState, IDownloadNotification notification, opciones de DownloadOptions) en System.Deployment.Application.ApplicationActivator. PerformDeploymentActivation (Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String y errorPageUrl) en System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker (O estado de prueba) --- Excepción interna --- System.Deployment.Application.InvalidDeploymentException (SignatureValidation) - La firma XML de manifiesto no es válida. - Fuente: System.Deployment - Stack trace: en System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature (Stream s) en System.Deployment.Application.ManifestReader.FromDocument (String localPath, ManifestType manifestType, Uri sourceUri) --- Inner Excepción --- System.Security.Cryptography.CryptographicException - SignatureDescription no se pudo crear para el algoritmo de firma proporcionado. - Fuente: System.Security - Stack trace: en System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo (AsymmetricAlgorithm key) en System.Security.Cryptography.Xml.SignedXml.CheckSignatureReturningKey (AsymmetricAlgorithm & signingKey) en System.Deployment.Internal.CodeSigning .SignedCmiManifest.Verify (CmiManifestVerifyFlags verifyFlags) en System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature (Stream s)

DETALLES DE LA TRANSACCIÓN DE LA TIENDA COMPONENTE No hay información de transacciones disponible.


Nota, habría agregado esto como un comentario, pero debido a las reglas de Reputación tontas, ¡solo puedo agregar una respuesta!

Tenga cuidado con los nuevos certificados de firma de código

Recientemente tuve este problema porque nuestro certificado de firma de código necesitaba renovación. Entonces, como soy ciego al hecho de que Microsoft no ha parcheado la versión XP de Framework 4 para trabajar con certificados SHA2 durante la implementación de ClickOnce, le dije a todos mis proyectos clickonce que usaran el nuevo certificado de firma de código.

Como también hago actualizaciones basadas en código de la aplicación en lugar de simplemente dejar que Microsoft lo maneje, de modo que sea una experiencia más fluida para el usuario final sin que se requiera que presione los botones y en el estilo de mi aplicación.

Sin embargo, accioné un error donde mi programa no informaba el error manifiesto, sino que simplemente colgaba (¡está mal!). Con el fin de obtener una actualización nuestra después de trabajar hasta las 3am para descubrir este problema, tuve que crear un certificado temporal emitido por Visual Studio. El problema con eso? ¡Las actualizaciones de código ya no son perfectas porque Microsoft puso un diálogo estúpido ya que el editor es desconocido!

Así que mi mayor preocupación es que sí, de acuerdo, XP no es supuestamente compatible desde el lunes, pero eso no debería significar que el Framework 4 no debería aceptar los nuevos certificados si eso es lo que están impulsando para todos. ¡Microsoft incluso está activamente involucrado en ese impulso!

La única respuesta que funciona es la anterior, ¡DEBE usar Visual Studio para crear un certificado temporal no confiable, que es ridículo! (Todavía tengo la esperanza de que tal vez no encontré la forma correcta de usar el nuevo certificado)