Skip to content

[WebGPU Plugin EP] implements signing verification#809

Open
prathikr wants to merge 8 commits into
mainfrom
prathikrao/webgpu-plugin-ep-signing
Open

[WebGPU Plugin EP] implements signing verification#809
prathikr wants to merge 8 commits into
mainfrom
prathikrao/webgpu-plugin-ep-signing

Conversation

@prathikr

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings June 16, 2026 22:33
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
foundry-local Ready Ready Preview, Comment Jun 17, 2026 8:31pm

Request Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds RSA-SHA256 signature verification for the WebGPU plugin EP manifest. Before using a fetched manifest to determine which WebGPU EP package to download, the code now fetches a corresponding .sig file from the CDN, decodes the base64 signature, and verifies it against a hardcoded RSA-4096 public key using OpenSSL. This prevents tampering with the manifest in transit or on the CDN.

Changes:

  • Added VerifyRsaSha256Signature utility function in ep_utils.cc/h using OpenSSL's EVP_DigestVerify* API to verify RSA-SHA256-PKCS1v15 detached signatures.
  • Integrated manifest signature verification into FetchManifest in webgpu_ep_bootstrapper.cc, embedding the RSA-4096 public key and fetching the .sig file alongside the manifest.
  • Added OpenSSL as a build dependency (find_package + target_link_libraries) in CMakeLists.txt.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
sdk_v2/cpp/src/ep_detection/webgpu_ep_bootstrapper.cc Adds public key constant, fetches .sig file, and calls signature verification before parsing the manifest. Currently points to dev URL (must be changed to prod).
sdk_v2/cpp/src/ep_detection/ep_utils.h Declares VerifyRsaSha256Signature with documentation.
sdk_v2/cpp/src/ep_detection/ep_utils.cc Implements RSA-SHA256 signature verification using OpenSSL BIO/EVP APIs.
sdk_v2/cpp/CMakeLists.txt Adds find_package(OpenSSL CONFIG REQUIRED) and links OpenSSL::Crypto.

Comment thread sdk_v2/cpp/src/ep_detection/webgpu_ep_bootstrapper.cc Outdated
Comment thread sdk_v2/cpp/src/ep_detection/ep_utils.cc
Comment thread sdk_v2/cpp/CMakeLists.txt
@prathikr prathikr changed the title implements signing verification for webgpu plugin ep [WebGPU Plugin EP] implements signing verification Jun 17, 2026
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 this pull request may close these issues.

2 participants