== Introduction

=== Web Authentication

Web Authentication is a new, secure web application authentication specification standardized under W3C.
By combining local authentication, public-key authentication, per-origin key management,
it provides strong authentication to web sites against authentication process attacks like phishing.
Implementation is in progress in major browsers, and the specification offers excellent choices for users who place importance on security and convenience.
Initially, the specification was developed as FIDO 2.0 by the FIDO Alliance, but it has been transferred to W3C.

=== WebAuthn4J

WebAuthn4J is a portable Java library for WebAuthn server side verification

=== Spring Security WebAuthn

As a related project of WebAuthn4J, we are developing a wrapper library named Spring Security WebAuthn
to support WebAuthn with Spring Security.
To introduce WebAuthn in an application built with Spring Security, it is better to use Spring Security WebAuthn rather
than directly using WebAuthn4J.
Spring Security WebAuthn also provides an implementation of the REST API of FIDO2 transporting binding profile.

=== Feature

==== Supported Attestation Statement Formats

All attestation statement formats are supported:

- Packed attestation
- FIDO U2F attestation
- Android Key attestation
- Android SafetyNet attestation
- TPM attestation
- None attestation

==== Conformance

All mandatory test cases and optional Android Key attestation test cases of https://fidoalliance.org/certification/functional-certification/conformance/[FIDO2 Test Tools provided by FIDO Alliance]
are passed.

NOTE: Since FIDO2 Test Tools runs the test via the REST API of FIDO2 Transport Binding Profile,
it is executed through the REST API implementation provided by Spring Security WebAuthn.

=== Requirements

==== Language & Framework

- Java8 or later

==== Environment

- SecureContext (https or the localhost)

=== Getting from Maven Central
If you are using Maven, just add the webauthn4j as a dependency:

```
<properties>
  ...
  <!-- Use the latest version whenever possible. -->
  <webauthn4j.version>0.10.2.RELEASE</webauthn4j.version>
  ...
</properties>

<dependencies>
  ...
  <dependency>
    <groupId>com.webauthn4j</groupId>
    <artifactId>webauthn4j-core</artifactId>
    <version>${webauthn4j.version}</version>
  </dependency>
  ...
</dependencies>
```

=== Source code

Source code for this project is hosted on https://github.com/webauthn4j/webauthn4j[Github].
----
git clone git@github.com:webauthn4j/webauthn4j.git
----

=== License

WebAuthn4J is an open source software licensed under http://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].

=== Contributing

Interested in helping out with WebAuthn4J? Great! Your participation in the community is much appreciated!
Please feel free to open issues and send pull-requests.

