Skip to content

Conversation

@razmser
Copy link
Contributor

@razmser razmser commented Dec 17, 2025

Newer Secure Enclave authentication requests cancel any in-flight request. When multiple signing requests arrive concurrently for the same protected key, this results in overlapping authentication prompts and causes all but the most recent request to fail.

This change serializes authentication requests so that:

  • Only one Secure Enclave authentication prompt is active at a time
  • Additional signing requests are queued while authentication is in progress
  • Queued requests are processed in order once authentication completes

Fixes: #532

@Mic92
Copy link

Mic92 commented Dec 30, 2025

Just noticed this fix is quiet similar to mine: #780

// MARK: SecretStore

public func sign(data: Data, with secret: Secret, for provenance: SigningRequestProvenance) async throws -> Data {
if secret.attributes.authentication.required {
Copy link

Choose a reason for hiding this comment

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

But my pull request is not doing that, so your version might be better.

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.

Agent refused operation when launching multiple requests

2 participants