microsoft/TemplateStudio

No content available - System.Security.Cryptography.CryptographicException: SignatureDescription could not be created for the signature algorithm supplied

TylerJaacks opened this issue · 10 comments

When I create a new Windows Template Studio Project, I get a "No content available" in the wizard.

Is your temp DIR on a different drive than your install of VS? Can you upload the log from your programdata folder in the Window template studio?

This could be #333 and we do have a fix for that.

I am having the same problem. Fresh install in VS Pro 2017. Here is the error in the Output window...

========== Tracked Exception [20170515 02:05:30.556] ==========
AdditionalMessage: The templates content can't be extracted.
[02:05:30.559 - Error]::Microsoft.Templates.Core.RepositorySynchronizationException: Error syncing templates. Status: 'Adquiring' ---> System.Security.Cryptography.CryptographicException: SignatureDescription could not be created for the signature algorithm supplied.
at System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignature(X509Certificate2 certificate, Boolean verifySignatureOnly)
at MS.Internal.IO.Packaging.XmlDigitalSignatureProcessor.Verify(X509Certificate2 signer)
at System.IO.Packaging.PackageDigitalSignature.Verify(X509Certificate signingCertificate)
at System.IO.Packaging.PackageDigitalSignature.Verify()
at System.IO.Packaging.PackageDigitalSignatureManager.VerifySignatures(Boolean exitOnFailure)
at Microsoft.Templates.Core.Locations.Templatex.ValidateSignatures(Package package)
at Microsoft.Templates.Core.Locations.Templatex.Extract(String signedFilePack, String targetDirectory)
at Microsoft.Templates.Core.Locations.RemoteTemplatesSource.ExtractContent(String file, String tempFolder)
at Microsoft.Templates.Core.Locations.RemoteTemplatesSource.Adquire(String targetFolder)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.AdquireContent()
--- End of inner exception stack trace ---
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.AdquireContent()
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.b__24_0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.d__26.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.TemplatesRepository.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.UI.ViewModels.MainViewModel.d__74.MoveNext()
System.Security.Cryptography.CryptographicException: SignatureDescription could not be created for the signature algorithm supplied.
at System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignature(X509Certificate2 certificate, Boolean verifySignatureOnly)
at MS.Internal.IO.Packaging.XmlDigitalSignatureProcessor.Verify(X509Certificate2 signer)
at System.IO.Packaging.PackageDigitalSignature.Verify(X509Certificate signingCertificate)
at System.IO.Packaging.PackageDigitalSignature.Verify()
at System.IO.Packaging.PackageDigitalSignatureManager.VerifySignatures(Boolean exitOnFailure)
at Microsoft.Templates.Core.Locations.Templatex.ValidateSignatures(Package package)
at Microsoft.Templates.Core.Locations.Templatex.Extract(String signedFilePack, String targetDirectory)
at Microsoft.Templates.Core.Locations.RemoteTemplatesSource.ExtractContent(String file, String tempFolder)
at Microsoft.Templates.Core.Locations.RemoteTemplatesSource.Adquire(String targetFolder)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.AdquireContent()

========== Tracked Exception [20170515 02:05:30.568] ==========
Microsoft.Templates.Core.RepositorySynchronizationException: Error syncing templates. Status: 'Adquiring' ---> System.Security.Cryptography.CryptographicException: SignatureDescription could not be created for the signature algorithm supplied.
at System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignature(X509Certificate2 certificate, Boolean verifySignatureOnly)
at MS.Internal.IO.Packaging.XmlDigitalSignatureProcessor.Verify(X509Certificate2 signer)
at System.IO.Packaging.PackageDigitalSignature.Verify(X509Certificate signingCertificate)
at System.IO.Packaging.PackageDigitalSignature.Verify()
at System.IO.Packaging.PackageDigitalSignatureManager.VerifySignatures(Boolean exitOnFailure)
at Microsoft.Templates.Core.Locations.Templatex.ValidateSignatures(Package package)
at Microsoft.Templates.Core.Locations.Templatex.Extract(String signedFilePack, String targetDirectory)
at Microsoft.Templates.Core.Locations.RemoteTemplatesSource.ExtractContent(String file, String tempFolder)
at Microsoft.Templates.Core.Locations.RemoteTemplatesSource.Adquire(String targetFolder)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.AdquireContent()
--- End of inner exception stack trace ---
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.AdquireContent()
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.b__24_0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.d__26.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.Locations.TemplatesSynchronization.d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.Core.TemplatesRepository.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Templates.UI.ViewModels.MainViewModel.d__74.MoveNext()

@nrweber thanks for the stack trace.

@nrweber are there any other configurations to VS or your system? Offline on initial start, wifi that could have hiccuped?

First time i've seen this so unsure how to repro the condition.

@nrweber Could you send us your windows version, visual studio version and a screenshot of the installed .NET frameworks from Programs and Features to track this down?
Thanks

If my temporary directory is set to another partition sush as D:\App\TEMP, this error occurs.

https://github.com/Microsoft/WindowsTemplateStudio/blob/master/code/src/Core/Locations/RemoteTemplatesSource.cs

MoveContent maybe not work

@fcharlie we have a fix checked in for that, and that issue is being tracked in #333. This is a different issue.

I was using windows 7. I think from reading around that this is only targeted for windows 10 right now.

I installed this on my Windows 10 computer and everything works fine.

Wow. looks like we need to verify the extension can't be installed on unsupported platforms. Or at least warn if trying to use it on a version of the OS before Windows 10.
I hadn't realized how many supported platforms there are for VS 2017

@TylerJaacks i'm going to close this out based on @nrweber. I opened up #357 to account for non-supported Windows versions.

We need logs / system information to see what configuration you were in.