├── .github ├── dependabot.yml └── workflows │ └── robot.yml ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── COPYRIGHT ├── LICENSE.md ├── Makefile ├── README.md ├── common ├── pom.xml └── src │ ├── main │ ├── java │ │ └── pro │ │ │ └── javacard │ │ │ └── fido2 │ │ │ └── common │ │ │ ├── AssertionVerifier.java │ │ │ ├── AttestationCA.java │ │ │ ├── AttestationData.java │ │ │ ├── AttestationVerifier.java │ │ │ ├── AuthenticatorData.java │ │ │ ├── COSEPublicKey.java │ │ │ ├── CTAP1Transport.java │ │ │ ├── CTAP2Commands.java │ │ │ ├── CTAP2Enums.java │ │ │ ├── CTAP2Extension.java │ │ │ ├── CTAP2ProtocolHelpers.java │ │ │ ├── CTAP2Transport.java │ │ │ ├── CTAPProtocolError.java │ │ │ ├── CTAPVersion.java │ │ │ ├── ClientPINCommand.java │ │ │ ├── CredentialManagementCommand.java │ │ │ ├── CryptoUtils.java │ │ │ ├── Ed25519.java │ │ │ ├── FIDOCredential.java │ │ │ ├── GetAssertionCommand.java │ │ │ ├── MakeCredentialCommand.java │ │ │ ├── P256.java │ │ │ ├── PINProtocols.java │ │ │ ├── TransportMetadata.java │ │ │ ├── TransportTechnology.java │ │ │ ├── U2FAuthenticate.java │ │ │ ├── U2FProtocolHelpers.java │ │ │ ├── U2FRegister.java │ │ │ ├── WebAuthnPlatform.java │ │ │ └── mds │ │ │ └── MetaDataService.java │ └── resources │ │ └── pro │ │ └── javacard │ │ └── fido2 │ │ └── common │ │ └── mds │ │ └── blob.jwt │ └── test │ └── java │ └── pro │ └── javacard │ └── fido2 │ └── common │ ├── AttestationCATests.java │ └── AuthenticatorDataTests.java ├── docs └── CredentialManagementPrototype.pdf ├── mvnw ├── mvnw.cmd ├── pom.xml ├── spotbugs.xml ├── tool ├── pom.xml └── src │ └── main │ ├── java │ └── pro │ │ └── javacard │ │ └── fido2 │ │ └── cli │ │ ├── CLICallbacks.java │ │ ├── CommandLineInterface.java │ │ └── FIDOTool.java │ └── resources │ ├── pro │ └── javacard │ │ └── fido2 │ │ └── tool │ │ └── roots │ │ └── yubikey-u2f.pem │ └── yafu.exe.manifest └── transports ├── pom.xml └── src └── main └── java └── pro └── javacard └── fido2 └── transports ├── DefaultTransportMetadata.java ├── ISO7816Transport.java ├── NFCTransport.java ├── TCPTransport.java └── USBTransport.java /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/robot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/.github/workflows/robot.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/COPYRIGHT -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/README.md -------------------------------------------------------------------------------- /common/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/pom.xml -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/AssertionVerifier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/AssertionVerifier.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/AttestationCA.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/AttestationCA.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/AttestationData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/AttestationData.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/AttestationVerifier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/AttestationVerifier.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/AuthenticatorData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/AuthenticatorData.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/COSEPublicKey.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/COSEPublicKey.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAP1Transport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAP1Transport.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAP2Commands.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAP2Commands.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAP2Enums.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAP2Enums.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAP2Extension.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAP2Extension.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAP2ProtocolHelpers.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAP2ProtocolHelpers.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAP2Transport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAP2Transport.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAPProtocolError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAPProtocolError.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CTAPVersion.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CTAPVersion.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/ClientPINCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/ClientPINCommand.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CredentialManagementCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CredentialManagementCommand.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/CryptoUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/CryptoUtils.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/Ed25519.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/Ed25519.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/FIDOCredential.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/FIDOCredential.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/GetAssertionCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/GetAssertionCommand.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/MakeCredentialCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/MakeCredentialCommand.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/P256.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/P256.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/PINProtocols.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/PINProtocols.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/TransportMetadata.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/TransportMetadata.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/TransportTechnology.java: -------------------------------------------------------------------------------- 1 | package pro.javacard.fido2.common; 2 | 3 | public enum TransportTechnology { 4 | USB, NFC 5 | } 6 | -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/U2FAuthenticate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/U2FAuthenticate.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/U2FProtocolHelpers.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/U2FProtocolHelpers.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/U2FRegister.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/U2FRegister.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/WebAuthnPlatform.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/WebAuthnPlatform.java -------------------------------------------------------------------------------- /common/src/main/java/pro/javacard/fido2/common/mds/MetaDataService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/java/pro/javacard/fido2/common/mds/MetaDataService.java -------------------------------------------------------------------------------- /common/src/main/resources/pro/javacard/fido2/common/mds/blob.jwt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/main/resources/pro/javacard/fido2/common/mds/blob.jwt -------------------------------------------------------------------------------- /common/src/test/java/pro/javacard/fido2/common/AttestationCATests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/test/java/pro/javacard/fido2/common/AttestationCATests.java -------------------------------------------------------------------------------- /common/src/test/java/pro/javacard/fido2/common/AuthenticatorDataTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/common/src/test/java/pro/javacard/fido2/common/AuthenticatorDataTests.java -------------------------------------------------------------------------------- /docs/CredentialManagementPrototype.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/docs/CredentialManagementPrototype.pdf -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/pom.xml -------------------------------------------------------------------------------- /spotbugs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/spotbugs.xml -------------------------------------------------------------------------------- /tool/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/tool/pom.xml -------------------------------------------------------------------------------- /tool/src/main/java/pro/javacard/fido2/cli/CLICallbacks.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/tool/src/main/java/pro/javacard/fido2/cli/CLICallbacks.java -------------------------------------------------------------------------------- /tool/src/main/java/pro/javacard/fido2/cli/CommandLineInterface.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/tool/src/main/java/pro/javacard/fido2/cli/CommandLineInterface.java -------------------------------------------------------------------------------- /tool/src/main/java/pro/javacard/fido2/cli/FIDOTool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/tool/src/main/java/pro/javacard/fido2/cli/FIDOTool.java -------------------------------------------------------------------------------- /tool/src/main/resources/pro/javacard/fido2/tool/roots/yubikey-u2f.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/tool/src/main/resources/pro/javacard/fido2/tool/roots/yubikey-u2f.pem -------------------------------------------------------------------------------- /tool/src/main/resources/yafu.exe.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/tool/src/main/resources/yafu.exe.manifest -------------------------------------------------------------------------------- /transports/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/transports/pom.xml -------------------------------------------------------------------------------- /transports/src/main/java/pro/javacard/fido2/transports/DefaultTransportMetadata.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/transports/src/main/java/pro/javacard/fido2/transports/DefaultTransportMetadata.java -------------------------------------------------------------------------------- /transports/src/main/java/pro/javacard/fido2/transports/ISO7816Transport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/transports/src/main/java/pro/javacard/fido2/transports/ISO7816Transport.java -------------------------------------------------------------------------------- /transports/src/main/java/pro/javacard/fido2/transports/NFCTransport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/transports/src/main/java/pro/javacard/fido2/transports/NFCTransport.java -------------------------------------------------------------------------------- /transports/src/main/java/pro/javacard/fido2/transports/TCPTransport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/transports/src/main/java/pro/javacard/fido2/transports/TCPTransport.java -------------------------------------------------------------------------------- /transports/src/main/java/pro/javacard/fido2/transports/USBTransport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinpaljak/YAFU/HEAD/transports/src/main/java/pro/javacard/fido2/transports/USBTransport.java --------------------------------------------------------------------------------