-
Notifications
You must be signed in to change notification settings - Fork 378
Support skipping 3rd party signature check #15852
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
These images don't have valid copyright info. If we emit the warning, various repos will just fail. To detect these, we need to read the export table. To do so, we use runtime's ILCompiler.Reflection.ReadyToRun.Experimental package, which has some PEReader extensions.
jkoritzinsky
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM once tests are passing
|
Causes assembly load failures when using signtool with desktop msbuild. |
81ec0c6 to
4ba0121
Compare
|
Dug a bit further and I really understand what is going on now. This issue primarily Windows vs. Linux. When you have a composite r2r image, the native PE image still has a resource section with the native copyright info. When we can't find the managed copyright attrs, we fall back to the native copyright info. This is obtained via FileVersionInfo. On Windows, this information is loaded via native interop. It is NOT populated on *nix. So what is happening is that we end up with an empty copyright string, which then causes the warning. The workaround to detect a r2r image is reasonable, since the likelihood is that we created such an image, but it's not ideal. I think a better methodology is to just add an explicit opt-out to the 3rd party check. The "I know what I'm doing for Blah.dll" config |
Native images don't have readable copyright info on Linux. Composite r2r images show up as fully native images, and trigger the 3rd party warning when signing on Mac/Linux. The list of these files is very small (currently a list of 1)
Support a "no check" list.