Skip to content
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

Use public key from AIK cert for signature algorithm initalization #29

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

santiagorodriguez96
Copy link
Contributor

Details

Attempts to fix #28.

Validation of the TPM attestation for Windows Hello with TPM v2 is failing as the AIK certificate public key was an RSA key and the public key pubArea was an ECC key – which causes the gem to try to initialize an OpenSSL::SignatureAlgorithm::RSA object with an curve keyword argument resulting in a unknown keyword error.

The problem is that we are using the key in the pubArea to verify the signature over certInfo whereas the WebAuthn spec states that:

Verify the sig is a valid signature over certInfo using the attestation public key in aikCert with the algorithm specified in alg.

@santiagorodriguez96 santiagorodriguez96 changed the title Use public key from AIK cert for signature algorithm init Use public key from AIK cert for signature algorithm initalization Nov 30, 2024
@santiagorodriguez96 santiagorodriguez96 force-pushed the sr--fix-windows-hello-signature-algorithm branch from 7e6c35b to 6d44eb9 Compare December 2, 2024 17:38
Validation of the TPM attestation for Windows Hello with TPM v2 is
failing as the AIK certificate public key was an RSA key and the public
key `pubArea` was an ECC key – which causes the gem to try to initialize
an `OpenSSL::SignatureAlgorithm::RSA` object with an `curve` keyword
argument resulting in a `unknown keyword` error.

The problem is that we are using the key in the `pubArea` to verify the
signature over `certInfo` where the the WebAuthn spec states that:

> Verify the sig is a valid signature over certInfo using the
> attestation public key in aikCert with the algorithm specified in alg.
@santiagorodriguez96 santiagorodriguez96 force-pushed the sr--fix-windows-hello-signature-algorithm branch from 6d44eb9 to 950bd52 Compare December 13, 2024 18:45
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.

Unknown keyword: :curve (ArgumentError) occurs when registering a passkey using the ECC algorithm
1 participant