├── .gitignore ├── .gitlab-ci.yml ├── LICENSE ├── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── proguard-rules.pro ├── schemas ├── duo.labs.webauthn.util.VirgilCredentialSafe.CredentialDatabase │ └── 1.json └── duo.labs.webauthn.util.database.CredentialDatabase │ ├── 1.json │ └── 3.json └── src ├── androidTest └── java │ └── duo │ └── labs │ └── webauthn │ ├── AuthenticatorTest.java │ ├── CredentialSafeTest.java │ └── WebAuthnCryptographyTest.java └── main ├── AndroidManifest.xml ├── java └── duo │ └── labs │ └── webauthn │ ├── Authenticator.java │ ├── exceptions │ ├── ConstraintError.java │ ├── InvalidStateError.java │ ├── NotAllowedError.java │ ├── NotSupportedError.java │ ├── UnknownError.java │ ├── VirgilException.java │ └── WebAuthnException.java │ ├── models │ ├── AttestationObject.java │ ├── AuthenticatorGetAssertionOptions.java │ ├── AuthenticatorGetAssertionResult.java │ ├── AuthenticatorMakeCredentialOptions.java │ ├── JsonSerializable.java │ ├── NoneAttestationObject.java │ ├── PackedSelfAttestationObject.java │ ├── PublicKeyCredentialDescriptor.java │ ├── PublicKeyCredentialSource.java │ ├── RpEntity.java │ └── UserEntity.java │ └── util │ ├── Base64ByteArrayAdapter.java │ ├── BiometricGetAssertionCallback.java │ ├── BiometricMakeCredentialCallback.java │ ├── CredentialSafe.java │ ├── CredentialSelector.java │ ├── SelectCredentialDialogFragment.java │ ├── WebAuthnCryptography.java │ └── database │ ├── CredentialDao.java │ ├── CredentialDatabase.java │ └── CredentialListViewModel.java └── res └── values └── strings.xml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/README.md -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/gradlew.bat -------------------------------------------------------------------------------- /proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/proguard-rules.pro -------------------------------------------------------------------------------- /schemas/duo.labs.webauthn.util.VirgilCredentialSafe.CredentialDatabase/1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/schemas/duo.labs.webauthn.util.VirgilCredentialSafe.CredentialDatabase/1.json -------------------------------------------------------------------------------- /schemas/duo.labs.webauthn.util.database.CredentialDatabase/1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/schemas/duo.labs.webauthn.util.database.CredentialDatabase/1.json -------------------------------------------------------------------------------- /schemas/duo.labs.webauthn.util.database.CredentialDatabase/3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/schemas/duo.labs.webauthn.util.database.CredentialDatabase/3.json -------------------------------------------------------------------------------- /src/androidTest/java/duo/labs/webauthn/AuthenticatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/androidTest/java/duo/labs/webauthn/AuthenticatorTest.java -------------------------------------------------------------------------------- /src/androidTest/java/duo/labs/webauthn/CredentialSafeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/androidTest/java/duo/labs/webauthn/CredentialSafeTest.java -------------------------------------------------------------------------------- /src/androidTest/java/duo/labs/webauthn/WebAuthnCryptographyTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/androidTest/java/duo/labs/webauthn/WebAuthnCryptographyTest.java -------------------------------------------------------------------------------- /src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/Authenticator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/Authenticator.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/exceptions/ConstraintError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/exceptions/ConstraintError.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/exceptions/InvalidStateError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/exceptions/InvalidStateError.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/exceptions/NotAllowedError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/exceptions/NotAllowedError.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/exceptions/NotSupportedError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/exceptions/NotSupportedError.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/exceptions/UnknownError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/exceptions/UnknownError.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/exceptions/VirgilException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/exceptions/VirgilException.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/exceptions/WebAuthnException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/exceptions/WebAuthnException.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/AttestationObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/AttestationObject.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/AuthenticatorGetAssertionOptions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/AuthenticatorGetAssertionOptions.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/AuthenticatorGetAssertionResult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/AuthenticatorGetAssertionResult.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/AuthenticatorMakeCredentialOptions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/AuthenticatorMakeCredentialOptions.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/JsonSerializable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/JsonSerializable.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/NoneAttestationObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/NoneAttestationObject.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/PackedSelfAttestationObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/PackedSelfAttestationObject.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/PublicKeyCredentialDescriptor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/PublicKeyCredentialDescriptor.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/PublicKeyCredentialSource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/PublicKeyCredentialSource.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/RpEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/RpEntity.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/models/UserEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/models/UserEntity.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/Base64ByteArrayAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/Base64ByteArrayAdapter.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/BiometricGetAssertionCallback.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/BiometricGetAssertionCallback.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/BiometricMakeCredentialCallback.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/BiometricMakeCredentialCallback.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/CredentialSafe.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/CredentialSafe.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/CredentialSelector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/CredentialSelector.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/SelectCredentialDialogFragment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/SelectCredentialDialogFragment.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/WebAuthnCryptography.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/WebAuthnCryptography.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/database/CredentialDao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/database/CredentialDao.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/database/CredentialDatabase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/database/CredentialDatabase.java -------------------------------------------------------------------------------- /src/main/java/duo/labs/webauthn/util/database/CredentialListViewModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/java/duo/labs/webauthn/util/database/CredentialListViewModel.java -------------------------------------------------------------------------------- /src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duo-labs/android-webauthn-authenticator/HEAD/src/main/res/values/strings.xml --------------------------------------------------------------------------------