8

I have a C# (.NET 4.0) WinForm application that continuously communicates to a Linux based application, receives some data from it few times a second. I have been fine-tuning this WinForm application to reduce it's high CPU use when I saw 'clr.sll!StrongNameSignatureVerification' is consuming a lot of CPU for this application. I used Process Explorer to find this out. Some Google searching told me that 'clr.sll!StrongNameSignatureVerification' is kicking-in because CLR is trying to verify whether this is a strongly named assembly (which I don't want CLR to).

After my further research on this, I tried sn.exe from Microsoft SDK to skip signature verification for this WinForm application. I got an error saying that this is not a strongly named assembly. I wasn't surprised as I haven't signed this application or don't remember setting anything that should invoke CLR to verify the signature of this application.

My experience in .net application security is almost zero so at moment I am looking for some help on this matter. Any pointer will be helpful.

Thanks in advance.

starblue
  • 55,348
  • 14
  • 97
  • 151
silverspoon
  • 1,085
  • 1
  • 11
  • 22
  • What have you been using to profile your application? – Iridium Sep 05 '11 at 06:00
  • 1
    I think you're going to need to add some more detail - e.g. a full call-stack showing where this StrongNameSignatureVerification function is being called from. Also, how many times is the function being called? Obviously if it's taking say, 2 seconds to call this method but it's only happening once, it may show as a hotspot in your profiler, but in the long-run isn't going to significantly affect the performance. (Of course, if it's being called hundreds of times a second, that's another matter). – Iridium Sep 06 '11 at 07:16
  • possible duplicate of [.Net 4 constantly wasting one CPU core on StrongNameSignatureVerification](http://stackoverflow.com/questions/14954387/net-4-constantly-wasting-one-cpu-core-on-strongnamesignatureverification) – Hans Passant Apr 06 '14 at 13:01

1 Answers1

2

Look at the offset after clr.sll!StrongNameSignatureVerification, if it's larger than a few thousand bytes, it probably means the symbols are not loaded in Process Explorer and the problem might be in any other method in clr.dll.

Bohdan
  • 1,987
  • 16
  • 23