FIDO U2F keys are being phased out in 2025 - make sure to replace those in time

@Micah_Edelblut

As others have already noted, we “jump starters” will need some instruction on how to use the tool. When I used the tool to register one of my Yubikeys, it created a non-discoverable credential, and produced the output shown below (in slightly redacted form). What do I learn from this JSON salad?

navigator.credentials.create() argument:

{
  "publicKey": {
    "attestation": "direct",
    "authenticatorSelection": {
      "requireResidentKey": false,
      "residentKey": "discouraged",
      "userVerification": "discouraged"
    },
    "challenge": "redacted",
    "excludeCredentials": [],
    "pubKeyCredParams": [
      {
        "alg": -7,
        "type": "public-key"
      },
      {
        "alg": -257,
        "type": "public-key"
      }
    ],
    "rp": {
      "id": "demo.yubico.com",
      "name": "Yubico Demo"
    },
    "timeout": 600000,
    "user": {
      "displayName": "Yubico demo user",
      "id": "redacted",
      "name": "Yubico demo user"
    }
  }
}

navigator.credentials.create() response:


{
  "id": "redacted",
  "response": {
    "attestationObject": "redacted",
    "clientDataJSON": "redacted",
    "transports": [
      "nfc",
      "usb"
    ],
    "publicKeyAlgorithm": -7,
    "publicKey": "redacted"
  },
  "authenticatorAttachment": "cross-platform",
  "clientExtensionResults": {}
}


Parsed clientDataJSON response:

{
  "type": "webauthn.create",
  "challenge": "redacted",
  "origin": "https://demo.yubico.com",
  "crossOrigin": false
}

Response from the Relying Party:

{
  "success": true,
  "attestationObject": {
    "attStmt": {
      "alg": -7,
      "sig": "Redacted",
      "x5c": [
        "Redacted"
      ]
    },
    "authData": {
      "credentialData": {
        "aaguid": "redacted",
        "credentialId": "redacted",
        "publicKey": {
          "1": 2,
          "3": -7,
          "-1": 1,
          "-2": "redacted",
          "-3": "redacted"
        }
      },
      "flags": {
        "AT": true,
        "BE": false,
        "BS": false,
        "ED": false,
        "UP": true,
        "UV": true,
        "value": 69
      },
      "rpIdHash": "redacted",
      "signatureCounter": 2
    },
    "fmt": "packed"
  },
  "clientData": "redacted",
  "device": {
    "mds": {
      "certifications": [
        "FIDO_CERTIFIED_L1"
      ]
    },
    "mdsUnavailable": false,
    "names": [
      "Security Key NFC by Yubico",
      "Security Key C NFC by Yubico"
    ],
    "type": "skynfc-skycnfc",
    "yubicoFirmwareVersion": "5.4.3"
  }
}
1 Like