dotnet / sign

Code Signing CLI tool supporting Authenticode, NuGet, VSIX, and ClickOnce
MIT License
447 stars 84 forks source link

Add local signing support for VSIX files #650

Closed javierdlg closed 3 months ago

javierdlg commented 6 months ago

This PR adds local signing support for VSIX files by adding a new command certificate-store that allows Dotnet/Sign to use certificates stored in the Windows Certificate Manager.

More specifically, this PR does the following:

dtivel commented 5 months ago

@javierdlg, also I see that vscjones/OpenOpcSignTool has a number of tests, some of which cover VSIX signing scenarios.

By porting source code over but not the tests, it seems like we've lost test coverage.

I think it's critical, as part of this PR, to not lose test coverage. You may need to port or create new test cases to make up the delta. Please confirm, either by adding commits to this PR or by posting affirmation, that we are maintaining VSIX test coverage.

clairernovotny commented 4 months ago

@javierdlg There's some tests that are failing -- can you please take a look and resolve it? Do the new tests address @dtivel's concerns about losing coverage?

dtivel commented 4 months ago

@javierdlg, please append to /THIRD-PARTY-NOTICES.txt:


License notice for OpenOpcSignTool
-------------------------------

MIT License

Copyright (c) 2017 Kevin Jones

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Available at https://github.com/vcsjones/OpenOpcSignTool/blob/main/LICENSE
javierdlg commented 4 months ago

@javierdlg There's some tests that are failing -- can you please take a look and resolve it? Do the new tests address @dtivel's concerns about losing coverage?

Thanks, yes these come from the migrated tool and have been fixed.