Repository navigation
Produce the TideSSP LSA signing request in CI - #57
Merged
Merged
Conversation
TideSSP.dll and TideSubAuth.dll load into LSASS, which under LSA Protection loads only Microsoft-signed modules — the reason the current MSI installs and then fails with "This module is blocked from loading into the Local Security Authority". An EV certificate cannot produce that signature; it authenticates the Partner Center account and signs the submission, and Microsoft signs the binaries. The release build now emits the submission alongside the MSI: both DLLs and a CAB containing them, ready to sign and upload. Unsigned by design, since an EV key lives on hardware CI cannot reach. TideCA.dll is excluded — it is an MSI custom action that runs in msiexec, never in LSA, so an ordinary EV signature covers it. Also renames the MSI artifact to TideSSP-installer-unsigned. It is built from freshly compiled DLLs and will not load under LSA Protection, which the old name did not convey; the shippable one is built from what Microsoft returns.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gives you the two DLLs and a ready-to-sign CAB straight from CI, so getting TideSSP through Microsoft's file signing service doesn't need a local Windows toolchain.
Why this is needed at all
TideSSP.dllandTideSubAuth.dllload into LSASS. Under LSA Protection — default on clean Windows 11 22H2+ installs — LSASS loads only modules carrying a Microsoft signature. That's the "This module is blocked from loading into the Local Security Authority" dialog.An EV certificate can't produce that signature. It authenticates your Partner Center account and signs the submission; Microsoft signs the binaries and returns them.
What the release build now produces
TideSSP-lsa-signing-requestTideSSP-LSA.cabplus both DLLs — download, sign the CAB, submitTideSSP-installer-unsignedThe CAB is deliberately unsigned: an EV key lives on hardware CI can't reach, so signing stays local.
TideCA.dllis excluded from the CAB — it's an MSI custom action running in msiexec, never in LSA, so your own EV signature covers it.The MSI rename matters. The old name suggested a shippable installer; it never was on an LSA-protected machine. The shippable one is built from the DLLs Microsoft returns.
The flow
tide-ssp/signed/README.mddocuments step 5 onward, including why the source commit is recorded: a signature covers exact bytes, so any change tosrc/ssp.cinvalidates it and needs a fresh submission.Testing
None of this has been executed.
makecab,signtooland PowerShell are all Windows-only and absent here, so the script is unrun and the CI step unproven. What I did check: the workflow YAML parses and sequences the new step after the DLL build and before the MSI.Worth a
-SkipSignrun first so you can open the CAB and confirm its layout before spending a submission on it. The script warns if a DLL already carries an Authenticode signature, since submitting a pre-signed binary is a common way to waste a round trip.