Skip to content
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

Releasing an x86 version of the CNG provider #18

Open
obones opened this issue Sep 13, 2023 · 5 comments
Open

Releasing an x86 version of the CNG provider #18

obones opened this issue Sep 13, 2023 · 5 comments
Labels
feature request New feature or request

Comments

@obones
Copy link

obones commented Sep 13, 2023

Hello,

The current version of the CNG provider is targeting x64 only and while this works, it's a bit counter intuitive as the vast majority of online tutorials for signtool all refer to the x86 version.
As a result, one will get the dreaded "no private key is available" error message as described in Issue #17.

Further to this, Microsoft is providing various accompanying tools for use with signtool in the form of Subject Interface packages that allow signing files beyond the usual binary or powershell script. One of the most popular is for Microsoft Office to allow signing all office documents.
Those Subject Interface packages are DLLs that get registered with the operating system and are only available for the x86 platform which means an x64 signtool will not be able to use them.
As a result, with the current situation, either we can use the CNG (x64) or we can use Office SIPS (x86) but we can't use them at the same time.

I thus believe it would be beneficial for most users to have an x86 version of the CNG.

@ysichrisdag
Copy link

Another vote for this request. I need it for signing MS Office docs as well.

@bbamsch
Copy link

bbamsch commented Jul 1, 2024

FYI: I can only find the Microsoft Visual Studio SDK VsixSignTool distributed as a 32-bit executable. While the VsixSignTool does have the ability to select a CSP, it does not appear to be possible to use the KMS CNG integration to sign with this tool since the KMS CNG integration only provides a 64-bit dynamic library.

@ysichrisdag
Copy link

Signtool.exe is distributed in both 32 and 64 bit.

@bbamsch
Copy link

bbamsch commented Jul 1, 2024

Note that my prior comment is specifically about Visual Studio SDK VsixSignTool.exe which is used to sign Visual Studio extensions. This is distinct from the Microsoft SDK Signtool.exe that can be used to sign Windows executables, libraries, and other scripts. The Microsoft SDK's Signtool.exe does not appear to have support for signing *.vsix artifacts.

@obones
Copy link
Author

obones commented Aug 19, 2024

I tried building the project in 32 bits mode (--config m32) but even if I leave out the config flag, it errors out on trying to patch various items. I believe this is because of missing prerequisites, but it seems very complex to get all this right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants