microsoft / microsoft/Windows-classic-samples
PasskeyManager: is the operation-request signature construction the actual v1 contract, or just what this sample does
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 5.7k
- Forks
- 3.3k
- PR merge metrics
- No merged PRs in 30d
Description
We emailed fido-dev@microsoft.com about this on 2026-09-04 and again on 2026-09-11. No reply either time. microsoft/webauthn has issues and discussions turned off, so this is the only open channel left.
We're building a third-party plugin against the v1 WebAuthn plugin APIs and can't find documentation for how WEBAUTHN_PLUGIN_OPERATION_REQUEST is supposed to be signed and verified. We've been reading it off this sample instead, but a sample isn't a contract, and it already changed once: the September 2026 update switched the sample's padding from PKCS#1 to PSS.
What the sample currently does: signs the raw encoded request bytes, nothing else appended. Hashes with SHA-256, picks padding by reading the public key blob type (PSS for RSA, otherwise falls through to ECDSA). transactionId isn't part of what gets signed.
Three questions:
- Is that construction the actual v1 requirement, or just how this sample happens to do it?
- Is the cancel request's signature field supposed to be checked, or is cancellation meant to be unauthenticated?
- Since transactionId isn't signed, is there any platform guarantee against replaying an operation request, or is that entirely on the plugin?
If there's a better place to ask, point us there.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The sample's WEBAUTHN_PLUGIN_OPERATION_REQUEST signing path and the v1 WebAuthn plugin API are the starting points; compare the current raw-request, SHA-256, padding, cancellation, and transactionId behavior with any repository documentation. Done requires a maintainer-confirmed contract covering signing, cancellation verification, and replay guarantees, then documenting it.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, cryptography, documentation, security
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100