Windows XP SP2 中的 System.Security.Cryptography.Cryptographic

本文关键字:Security Cryptography Cryptographic System 中的 XP SP2 Windows | 更新日期: 2023-09-27 18:37:14

我正在做一个在Visual Studio 2008中构建的项目,它在Windows XP,Windows 7,8和10中运行良好。

但是后来我们在Visual Studio 2013上迁移[目标框架-3.5,签名算法-sha256RSA与以前相同],现在我遇到了这个问题

它在 Windows 7 中运行良好,但是当我尝试通过"单击一次应用程序部署"在 Windows XP-SP2 中安装它时,我遇到了以下异常。

  • 来自文件:桌面/MyApp-vs13/MyApp.application 的异常读取清单:清单可能不是 有效或无法打开文件。
    • 来源:系统部署
    • 堆栈跟踪:在 System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile&tempFile, SubscriptionState& 子状态, IDownload通知通知, 下载选项选项, ServerInformation&serverInformation) at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile&tempFile, SubscriptionState& 子状态、IDownload通知通知、下载选项选项) 在 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri 激活Uri, 布尔值是快捷方式, 字符串文本子ID, 字符串 deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String&errorPageUrl) at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object 状态)---内部异常--- System.Deployment.Application.InvalidDeploymentException (签名验证)
    • 清单 XML 签名无效。
    • 来源:系统部署
    • 堆栈跟踪:at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s) 在 System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) --- Inner Exception --- System.Security.Cryptography.CryptographicException
    • 无法为提供的签名算法创建签名说明。
    • 来源:系统安全
    • 堆栈跟踪:at System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm 键)在 System.Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm 键)在 System.Security.Cryptography.Xml.SignedXml.CheckSignatureReturningKey(AsymmetricAlgorithm& 签名键)在 System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags 验证标志)在 System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)

附加信息:

  • 签名算法:sha256RSA
  • 项目目标框架:3.5
  • 项目目标平台:AnyCpu
  • 客户端操作系统 : 视窗 XP - 服务包 2
  • 客户端 .net 框架:3.5(后来我安装了 4.0,但结果是相同)

我知道这里很少有与我类似的问题,但所有这些问题的常见答案是"删除签名",这对我来说不是选项,甚至我也无法更改"签名算法"

我必须成功部署和运行我的项目 Windows XP SP2 与 .net Framework 3.5

我缺少什么或某种实现它的方法吗?

Windows XP SP2 中的 System.Security.Cryptography.Cryptographic

Windows XP已经死了多年,它的最后一个SP是SP3。

不要尝试在不受支持的环境中执行严肃的任务,因为没有人保证。