-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Transparency client - allow the use of offline keys for the transparent statement verification #54259
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
base: main
Are you sure you want to change the base?
Transparency client - allow the use of offline keys for the transparent statement verification #54259
Conversation
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
There was a problem hiding this comment.
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 introduces support for offline verification of transparent statements by allowing clients to provide pre-configured JWKS (JSON Web Key Set) documents mapped by ledger domain. This feature is designed to improve latency and reliability when verifying statements at scale in the Confidential Signing Service.
Key changes:
- Added
CodeTransparencyOfflineKeysclass to store domain-to-JWKS mappings for offline verification - Extended
CodeTransparencyVerificationOptionswithOfflineKeysproperty andOfflineKeysBehaviorenum to control network fallback behavior - Modified verification logic in
CodeTransparencyClientto prioritize offline keys before falling back to network retrieval
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
CodeTransparencyOfflineKeys.cs |
New class providing a case-insensitive dictionary to map ledger domains to JWKS documents for offline verification |
CodeTransparencyVerificationOptions.cs |
Added properties for offline keys configuration and behavior control, plus new enum for fallback behavior |
CodeTransparencyClient.cs |
Integrated offline key lookup logic with optional network fallback in the verification flow |
CodeTransparencyClientUnitTests.cs |
Added three new tests covering offline verification scenarios (pure offline, with fallback, and failure without fallback) |
Azure.Security.CodeTransparency.netstandard2.0.cs |
Updated public API surface to expose new types and properties |
Azure.Security.CodeTransparency.net8.0.cs |
Updated public API surface to expose new types and properties |
CodeTransparencyClientOptions.cs |
Minor whitespace formatting improvement |
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
sdk/confidentialledger/Azure.Security.CodeTransparency/src/CodeTransparencyOfflineKeys.cs
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/src/CodeTransparencyClient.cs
Outdated
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/src/CodeTransparencyOfflineKeys.cs
Outdated
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/src/CodeTransparencyOfflineKeys.cs
Outdated
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/tests/CodeTransparencyClientUnitTests.cs
Outdated
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/tests/CodeTransparencyClientUnitTests.cs
Outdated
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/src/CodeTransparencyOfflineKeys.cs
Outdated
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/src/CodeTransparencyOfflineKeys.cs
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/tests/CodeTransparencyClientUnitTests.cs
Outdated
Show resolved
Hide resolved
sdk/confidentialledger/Azure.Security.CodeTransparency/tests/CodeTransparencyClientUnitTests.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Updates to verification
{ "domain.name": { "JWKS" } }to enable offline verification of transparent statements, this is to improve potential issues with latency when verifying statements on a scale in Confidential Signing ServiceContributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.