Create a copy of this page as a sibling and complete it as instructed below. Please do not disturb markers such as {10{ and }}.
Describe the platform
To ensure a successful test of the authenticator, please follow these steps:
- For this test, you need a computer or mobile device and a hardware or software authenticator. It may be:
- Hardware authenticator, such as YubiKey.
- Operating system authenticator, such as Touch ID or Windows Hello.
- Software authenticator, such as tpm-fido.
- Password manager with passkey support, such as Dashlane.
- The actions performed during this test are parts of regular usage and should not affect the authenticator in any way. However, you may choose to use a brand-new authenticator, reset or clear it to avoid any conflicts during the test.
- If necessary, delete the passkey that you create during this testing if it prevents you from creating it again. This should not happen, but if it does, please provide a screenshot and an accompanying note. If you are willing to, reset the authenticator's settings (e.g., disable PIN, unregister fingerprint).
- Fill in the details in the table below:
Tester: @ (name yourself){10{ | |
---|
}}Date: Use '//' to input date{15{ | |
---|
}}Authenticator (or device) vendor: Yubico, Apple, Dell, HP, Android phone brand...{17{ | Apple |
---|
}}Authenticator (or device) model: YubiKey 5 NFC, iPhone 13, PC model name, MacBook year size, MacBook Air year size, MacBook Pro year size...{20{ | iPhone X |
---|
}}OS and its version: iOS 13, macOS 10.5.8, Windows 10 22H2, Windows 11 22H2, Android 13...{25{ | iOS 16.6 |
---|
}}Browser and its version: Chrome 114, Firefox 114...{30{ | Chrome 116 |
---|
}}I registered a PIN/password/finger/face in the authenticator before the session: Yes or No (The situation where you have not previously registered in the authenticator is interesting for checking if the passkey creation will trigger user registration.){35{ | Yes |
---|
}}
- Be prepared to capture screenshots of each system/browser dialogue that appears. Later in this process, you will register a passkey multiple times.
Capture the platform or browser passkey options
- If there are any options or settings related to "passkeys", "security keys" or similar in your OS/device/spaceship settings (related to the authenticator you are going to use), capture screenshots and paste or attach them here.
- If you are using a password manager, capture its passkey-related options.
- If you are using a browser supporting passkeys, capture its options instead.
- If you are using an operating system to manage passkeys, capture its options instead.
Possible locations:
- Windows 11: Settings > Accounts > Passkeys
- iOS: Settings > Apple ID > iCloud > Passwords & Keychain
- Chrome (Windows): Settings > Autofill and passwords > Password Manager > Manage passkeys
These are exemplary paths. You need to screenshot the only passkey-related options. Please paste screenshots in or outside this table as suitable:
|
|
|
|
|
iCloud Keychain necessary |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Get diagnostics
- Open https://webauthntest.identitystandards.io/.
- Log in using any user name - this is probably just for the app's internal logging.
- Click the "..." button.
- If there are any problems while doing the above, try another time or use another device. If the problem persists, please let us know over Slack.
}}Copy-paste the diagnostic results on the right as text (rows are labelled the same): Platform authenticator (isUVPAA)
Conditional Mediation (Autofill UI)
CTAP2 support (Firefox)
{40{ | Platform authenticator (isUVPAA)Available
Conditional Mediation (Autofill UI)Supported
CTAP2 support (Firefox)Not defined |
---|
}}
Set repeated settings
- Click the "+" button to create a passkey. Choose the following:
- RP Info: This domain
- User Info: Bob
- Attachment: Undefined
- Require Resident Key: True
- Resident Key (L2): Required
It should look like this:

Create passkeys using various settings
- Capture and paste below the screenshot of various prompts, screens, dialogues, questions or messages that show up during passkey registration as you encounter them.
Please insert or paste screenshots in this table as suitable, preferably putting the related screenshots in one row (you can place a note beneath an image in the same cell):
Seq1 | | 
>Weitere Optionen | | |
|
|
Seq2 (just new screens) |
|
|
|
|
|
|
Seq3 (just new screens) |
|
|
|
|
|
|
Seq4 (just new screens) |
|
|
|
|
|
|
Test User Verification
- Select User Verification: Discouraged and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{45{ | bob@example.com Credential ID 969280C4AEA228F3E97CF094B25537D5C1E88BC6 RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
}}
- Select User Verification: Required and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
- Note that the latest result is the rightmost in the bottom row. You may delete already pasted results.
- All authenticators should be able to register multiple passkeys for the same domain, so you do not need to delete the previously created one. It is likely that the passkeys you create will override each other since they are for the same domain and use the same user name "bob@example.com").
Copy-paste the result on the right: Put Unsupported if there was an error{50{ | bob@example.com Credential ID D60555A9A2AF08354C9DB5842BE235D272598E85 RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
}}
Test Attestation
- Select Attestation: Enterprise and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{55{ | Unsupported |
---|
If registration worked, click on "Credential Registration Data [more details]" and copy-paste the content of the dialogue:
|
|
---|
}}
- Select Attestation: Direct and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{60{ | bob@example.com Credential ID 65A20B8F80AA76DD2A1124BDD6BAE30199FCA4F7 RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
If registration worked, click on "Credential Registration Data [more details]" and copy-paste the content of the dialogue: | Credential Creation DataRequire Resident Key true Authenticator Data UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Authenticator Data in Hex 0B997CCCEB3AEB29C55C94A894B11CF01A24B4C8AE706F328CC2EA8CEBC4AD5C5D0000000000000000000000000000000000000000001465A20B8F80AA76DD2A1124BDD6BAE30199FCA4F7A501020326200121582025CF9EC23FC3B4EFCD99E6F58065AC5C719CBC7E162EEC51EB3403E8E7C7D5A822582022B91A2341C493D280B4B0D7F6270AD3C132D5044E1B0922B3489C837C53EC2E Public Key EC key: A501020326200121582025CF9EC23FC3B4EFCD99E6F58065AC5C719CBC7E162EEC51EB3403E8E7C7D5A822582022B91A2341C493D280B4B0D7F6270AD3C132D5044E1B0922B3489C837C53EC2E Extension Data No extension data Attestation Statement Chain none Attestation Statement in Hex A0 |
---|
}}
- Select Attestation: Indirect and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{65{ | bob@example.com Credential ID 7CFFC4A9B26B7681D7C71F9F5137DAB1A1B8C55D RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
If registration worked, click on "Credential Registration Data [more details]" and copy-paste the content of the dialogue: | Credential Creation DataRequire Resident Key true Authenticator Data UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Authenticator Data in Hex 0B997CCCEB3AEB29C55C94A894B11CF01A24B4C8AE706F328CC2EA8CEBC4AD5C5D000000000000000000000000000000000000000000140EF95891B963AC4D6871ED4DD177892597F59FB2A5010203262001215820155309298B0BD23A09FF8150621F05668BF4B360B50233876BE50CFAE61A710D225820E45F05AC94EFC5D183CF0CDAB88C7BE8B90563908339C63F2322CAEA576D0727 Public Key EC key: A5010203262001215820155309298B0BD23A09FF8150621F05668BF4B360B50233876BE50CFAE61A710D225820E45F05AC94EFC5D183CF0CDAB88C7BE8B90563908339C63F2322CAEA576D0727 Extension Data No extension data Attestation Statement Chain none Attestation Statement in Hex A0 |
---|
}}
- Select Attestation: None and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{70{ | bob@example.com Credential ID B446BE1E44D40964DFE6F0AD1652C68057973FC7 RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
}}
- If none of the previous four tries worked:
- Select Attestation: Undefined and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
- Otherwise, skip this step.
Copy-paste the result on the right: Put Unsupported if there was an error{75{ |
|
---|
}}
- If Attestation: Direct worked, select it. Otherwise, if Attestation: Indirect worked, select it. Otherwise, select Attestation: Undefined.
Test CredProtect Extension
- Select CredProtect Extension: UVOptional and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{80{ | bob@example.com Credential ID 59F8B8A0316DBE06793178DF7FBDEF77B60D3FF8 RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
}}
- Select CredProtect Extension: UVOptionalWithCredIDList and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{85{ | bob@example.com Credential ID D3F80A89B6174E907BF446CF8A7D1364737765C8 RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
}}
- Select CredProtect Extension: UVRequired and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{90{ | bob@example.com Credential ID 8053BBB41894EE4726746E67B5265044F69F7124 RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
}}
- If none of the previous three tries worked:
- Select CredProtect Extension: Undefined and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
- Otherwise, skip this step.
Copy-paste the result on the right: Put Unsupported if there was an error{95{ |
|
---|
}}
- Select CredProtect Extension: Undefined (if not selected already).
Test cryptography
- Uncheck all the following checkboxes: Use ES256, Use ES384, Use ES512, Use RS256, Use EdDSA.
- Check Use ES256 and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{100{ | bob@example.com Credential ID 36D354FA0831A0561519588B705F0913C4DDD54D RP ID webauthntest.identitystandards.io AAGUID 00000000-0000-0000-0000-000000000000 Credential Registration Data [more details] Key Type: EC Discoverable Credential: true Attestation Type: none (unverified) UP=1, UV=1, BE=1, BS=1, AT=1, ED=0, SignCount=0 Last Authentication Data [more details] No authentications |
---|
}}
- Uncheck Use ES256, check Use ES384 and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{105{ | Unsupported |
---|
}}
- Uncheck Use ES384, check Use ES512 and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{110{ | Unsupported |
---|
}}
- Uncheck Use ES512, check Use RS256 and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{115{ | Unsupported |
---|
}}
- Uncheck Use RS256, check Use EdDSA
- and click CREATE.
- Follow the requested steps to create a passkey, then copy-paste the result from the web app.
Copy-paste the result on the right: Put Unsupported if there was an error{120{ | Unsupported |
---|
}}
Conclusion
Do you have any additional observations or comments related to the entire procedure:{125{ | Similar as Chrome on iOS |
---|
}}
- Please do not forget to paste any pending screenshots in the above tables.
- You may also paste the screenshot with the passkey(s) created during this test. The list of created passkeys is usually shown along with platform or browser passkey options that you were already asked to screenshot.
Thank you!