-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[bug] Fail to sign protoc sidecar with Azure Trusted Signing #11778
Comments
Okay, it looks like this was indeed my fault. However, it seems that Tauri did not surface the error that would have helped me fix it. Running the sign command directly worked, because I committed the binary directly to the repo. I did this on macOS. However, signing the full app downloads and extracts the I adjusted the test workflow to use the download script and got this helpful error: https://github.com/mountain-loop/yaak/actions/runs/11987805359/job/33422398760 [
{
"cloudName": "AzureCloud",
"homeTenantId": "***",
"id": "b045e283-89f9-42ff-bd9a-95f6e7a9b035",
"isDefault": true,
"managedByTenants": [],
"name": "Yaak Subscription",
"state": "Enabled",
"tenantId": "***",
"user": {
"name": "***",
"type": "servicePrincipal"
}
}
]
SignTool Error: Access is denied.
Number of files successfully Signed: 0
SignTool Error: An error occurred while attempting to sign: src-tauri/vendored/protoc/yaakprotoc-x86_64-pc-windows-msvc.exe
Number of warnings: 0
Number of errors: 1
thread 'main' panicked at C:\Users\runneradmin/.cargo\registry\src\index.crates.io-6f17d22bba15001f\trusted-signing-cli-0.3.0\src/main.rs:157:10:
called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: "command [\"C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\bin\\\\10.0.22000.0\\\\x64\\\\signtool.exe\", \"sign\", \"/v\", \"/fd\", \"SHA256\", \"/tr\", \"[http://timestamp.acs.microsoft.com\](http://timestamp.acs.microsoft.com/)", \"/td\", \"SHA256\", \"/dlib\", \"C:\\\\Users\\\\runneradmin\\\\.trusted-signing-cli\\\\lib\\\\bin\\\\x64\\\\Azure.CodeSigning.Dlib.dll\", \"/dmdf\", \"C:\\\\Users\\\\runneradmin\\\\.trusted-signing-cli\\\\metadata.json\", \"src-tauri/vendored/protoc/yaakprotoc-x86_64-pc-windows-msvc.exe\"] exited with code 1" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: Process completed with exit code 1. So it seems that Tauri is silencing stderr of the custom sign command? |
It may be hidden behind the --verbose flag (or -vv / -vvv, not sure if the verbosity level matters here) 🤔 |
Which command would that flag be on? Tauri should be running the same command as my test case |
|
Ah great, I will give this a try, thanks! |
Important
The issue was that the sidecar binary was read-only but Tauri silenced the permission error. See #11778 (comment) for more info.
Describe the bug
I'm trying to get Azure Trusted Signing working for my app github.com/mountain-loop/yaak. It signs the main
.exe
correctly, and correctly skips the already-signed NodeJS sidecar. However, it seems to fail on the unsignedprotoc
sidecar.Here is the output from https://github.com/mountain-loop/yaak/actions/runs/11976760384/job/33393142512
Reproduction
As seen in the
tauri.conf.json#L82
, the sign command I'm using is:To debug this, I created a new workflow to simply run this command on the
protoc
binary (committed it directly to the repo for simplicity), and it succeeded: https://github.com/mountain-loop/yaak/actions/runs/11975020946/job/33387429516Expected behavior
protoc
binary should sign successfully duringtauri-action
buildFull
tauri info
outputStack trace
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: