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

Tool throws exeption on 32bit windows: Unable to find an entry point named 'SignerSignEx3' in DLL 'mssign32' #294

Closed
janez-praprotnik opened this issue Jan 13, 2025 · 2 comments · Fixed by #297

Comments

@janez-praprotnik
Copy link

I've installed the tool through nuget and I've also tried with a source code compile for x86 and I get the sam error. I've tried to run it on 32 bit Windows 8 Pro and 32 bit Windows 7 Enterpriese SP1 with same result.

The same x86 compiled standalone exe works fine on Windows 10 Pro 64 bit.

Exception:
PS C:\Users\jp> AzureSignTool.exe sign -kvu "xxxx" -kvi "xxxx" -kvs "xxxx" -kvc "xxxx" -tr "http://timestamp.glo balsign.com/tsa/advanced" -td sha384 --azure-key-vault-tenant-id "xxxx" "C:\temp\test.exe" info: AzureSignTool.SignCommand[0] => File: C:\temp\test.exe Signing file. Unhandled exception. System.AggregateException: One or more errors occurred. (Unable to find an entry point named 'Signe rSignEx3' in DLL 'mssign32'.) ---> System.EntryPointNotFoundException: Unable to find an entry point named 'SignerSignEx3' in DLL 'mssign32'. at AzureSign.Core.Interop.mssign32.SignerSignEx3(SignerSignEx3Flags dwFlags, SIGNER_SUBJECT_INFO* pSubjectInfo, SIGNE R_CERT* pSignerCert, SIGNER_SIGNATURE_INFO* pSignatureInfo, IntPtr pProviderInfo, SignerSignTimeStampFlags dwTimestampFl ags, Byte* pszTimestampAlgorithmOid, Char* pwszHttpTimeStamp, IntPtr psRequest, Void* pSipData, IntPtr* ppSignerContext, IntPtr pCryptoPolicy, SIGN_INFO* pSignInfo, IntPtr pReserved) at AzureSign.Core.AuthenticodeKeyVaultSigner.SignFile(ReadOnlySpan1 path, ReadOnlySpan1 description, ReadOnlySpan1
descriptionUrl, Nullable1 pageHashing, ILogger logger, Boolean appendSignature) in /_/src/AzureSign.Core/AuthenticodeK eyVaultSigner.cs:line 184 at AzureSignTool.SignCommand.<>c__DisplayClass112_1.<RunSign>b__2(String filePath, ParallelLoopState pls, ValueTuple
2 state) in //src/AzureSignTool/Program.cs:line 323
at System.Threading.Tasks.Parallel.<>c__DisplayClass43_02.<PartitionerForEachWorker>b__1(IEnumerator& partitionState , Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) --- End of stack trace from previous location --- at System.Threading.Tasks.Parallel.<>c__DisplayClass43_02.b__1(IEnumerator& partitionState
, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica1.ExecuteAction(Boolean& yieldedBeforeCompletion) at System.Threading.Tasks.TaskReplicator.Replica.Execute() --- End of inner exception stack trace --- at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction1 action, ParallelOptions options, Boolea
n stopOnFirstFailure)
at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner1 source, ParallelOptions par allelOptions, Action1 simpleBody, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, Cancellat
ionToken cancelToken, Exception otherException)
at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner1 source, ParallelOptions par allelOptions, Action1 simpleBody, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOption s, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithE
verything, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Fun c1 localInit, Func4 body, Action1 localFinally)
at AzureSignTool.SignCommand.RunSign() in /
/src/AzureSignTool/Program.cs:line 303
at XenoAtom.CommandLine.Command.RunAsync(IEnumerable1 arguments, CommandRunConfig runConfig) at XenoAtom.CommandLine.Command.RunAsync(IEnumerable1 arguments, CommandRunConfig runConfig)
at AzureSignTool.Program.

(String[] args)`

@vcsjones
Copy link
Owner

As noted in the Requirements of the README, AzureSignTool is required to run on Windows 10+, preferably Windows 11.

https://github.com/vcsjones/AzureSignTool?tab=readme-ov-file#requirements

Windows 10 or Windows Server 2016 is required. Some features require later versions of Windows.

I do agree that AzureSignTool gives a very poor error when run on Windows 8 or below. I will add an OS version check.

@janez-praprotnik
Copy link
Author

Ah, yes, sorry about that. I should've read all the documentation before posting and I probably wouldn't waste my time trying to get it to work on the build machine for VB6 app-s. I'll workaround it with a web api for signing..

Thank you

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

Successfully merging a pull request may close this issue.

2 participants