Package io.vertx.ext.auth.webauthn4j

## Class WebAuthn4JOptions

- java.lang.Object
- - io.vertx.ext.auth.webauthn4j.WebAuthn4JOptions

-     public class WebAuthn4JOptions
      extends Object

  Configuration for the webauthn object
  Author:
    Paulo Lopes

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WebAuthn4JOptions()` |
    `WebAuthn4JOptions​(JsonObject json)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `WebAuthn4JOptions` | `addPubKeyCredParam​(COSEAlgorithm pubKeyCredParam)` |
    `WebAuthn4JOptions` | `addRootCertificate​(X509Certificate rootCA)` | Adds a root certificate using its 'CN' subject as key.
    `WebAuthn4JOptions` | `addTransport​(AuthenticatorTransport transport)` |
    `Attestation` | `getAttestation()` |
    `AuthenticatorAttachment` | `getAuthenticatorAttachment()` |
    `int` | `getChallengeLength()` |
    `JsonObject` | `getExtensions()` |
    `List<COSEAlgorithm>` | `getPubKeyCredParams()` |
    `RelyingParty` | `getRelyingParty()` |
    `ResidentKey` | `getResidentKey()` |
    `X509Certificate` | `getRootCertificate​(String key)` |
    `Map<String,​X509Certificate>` | `getRootCertificates()` |
    `Long` | `getTimeoutInMilliseconds()` |
    `List<AuthenticatorTransport>` | `getTransports()` |
    `UserVerification` | `getUserVerification()` |
    `boolean` | `isRelaxedSafetyNetIntegrityVeridict()` |
    `boolean` | `isUseMetadata()` |
    `boolean` | `isUserPresenceRequired()` |
    `WebAuthn4JOptions` | `putRootCertificate​(String key, String value)` |
    `WebAuthn4JOptions` | `putRootCertificate​(String key, X509Certificate cert)` |
    `WebAuthn4JOptions` | `setAttestation​(Attestation attestation)` |
    `WebAuthn4JOptions` | `setAuthenticatorAttachment​(AuthenticatorAttachment authenticatorAttachment)` |
    `WebAuthn4JOptions` | `setChallengeLength​(int challengeLength)` |
    `WebAuthn4JOptions` | `setExtensions​(JsonObject extensions)` |
    `WebAuthn4JOptions` | `setPubKeyCredParams​(List<COSEAlgorithm> pubKeyCredParams)` |
    `WebAuthn4JOptions` | `setRelaxedSafetyNetIntegrityVeridict​(boolean relaxedSafetyNetIntegrityVeridict)` | Set to true to allow SafetyNet attestation with a relaxed integrity veridict.
    `WebAuthn4JOptions` | `setRelyingParty​(RelyingParty relyingParty)` |
    `WebAuthn4JOptions` | `setRequireResidentKey​(Boolean requireResidentKey)` |
    `WebAuthn4JOptions` | `setResidentKey​(ResidentKey residentKey)` |
    `WebAuthn4JOptions` | `setRootCertificates​(Map<String,​String> rootCertificates)` |
    `WebAuthn4JOptions` | `setTimeoutInMilliseconds​(Long timeoutInMilliseconds)` |
    `WebAuthn4JOptions` | `setTransports​(List<AuthenticatorTransport> transports)` |
    `WebAuthn4JOptions` | `setUseMetadata​(boolean useMetadata)` |
    `WebAuthn4JOptions` | `setUserPresenceRequired​(boolean userPresenceRequired)` |
    `WebAuthn4JOptions` | `setUserVerification​(UserVerification userVerification)` |
    `JsonObject` | `toJson()` |
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### WebAuthn4JOptions

          public WebAuthn4JOptions()

    - #### WebAuthn4JOptions

          public WebAuthn4JOptions​(JsonObject json)

  - ### Method Detail

    - #### getRelyingParty

          public RelyingParty getRelyingParty()

    - #### setRelyingParty

          public WebAuthn4JOptions setRelyingParty​(RelyingParty relyingParty)

    - #### getTransports

          public List<AuthenticatorTransport> getTransports()

    - #### setTransports

          public WebAuthn4JOptions setTransports​(List<AuthenticatorTransport> transports)

    - #### addTransport

          public WebAuthn4JOptions addTransport​(AuthenticatorTransport transport)

    - #### getAttestation

          public Attestation getAttestation()

    - #### setAttestation

          public WebAuthn4JOptions setAttestation​(Attestation attestation)

    - #### getResidentKey

          public ResidentKey getResidentKey()

    - #### setResidentKey

          public WebAuthn4JOptions setResidentKey​(ResidentKey residentKey)

    - #### getPubKeyCredParams

          public List<COSEAlgorithm> getPubKeyCredParams()

    - #### addPubKeyCredParam

          public WebAuthn4JOptions addPubKeyCredParam​(COSEAlgorithm pubKeyCredParam)

    - #### setPubKeyCredParams

          public WebAuthn4JOptions setPubKeyCredParams​(List<COSEAlgorithm> pubKeyCredParams)

    - #### getAuthenticatorAttachment

          public AuthenticatorAttachment getAuthenticatorAttachment()

    - #### setAuthenticatorAttachment

          public WebAuthn4JOptions setAuthenticatorAttachment​(AuthenticatorAttachment authenticatorAttachment)

    - #### setRequireResidentKey

          public WebAuthn4JOptions setRequireResidentKey​(Boolean requireResidentKey)

    - #### getUserVerification

          public UserVerification getUserVerification()

    - #### setUserVerification

          public WebAuthn4JOptions setUserVerification​(UserVerification userVerification)

    - #### getTimeoutInMilliseconds

          public Long getTimeoutInMilliseconds()

    - #### setTimeoutInMilliseconds

          public WebAuthn4JOptions setTimeoutInMilliseconds​(Long timeoutInMilliseconds)

    - #### getChallengeLength

          public int getChallengeLength()

    - #### setChallengeLength

          public WebAuthn4JOptions setChallengeLength​(int challengeLength)

    - #### getExtensions

          public JsonObject getExtensions()

    - #### setExtensions

          public WebAuthn4JOptions setExtensions​(JsonObject extensions)

    - #### getRootCertificates

          public Map<String,​X509Certificate> getRootCertificates()

    - #### getRootCertificate

          public X509Certificate getRootCertificate​(String key)

    - #### setRootCertificates

          public WebAuthn4JOptions setRootCertificates​(Map<String,​String> rootCertificates)

    - #### putRootCertificate

          public WebAuthn4JOptions putRootCertificate​(String key,
                                                      String value)

    - #### putRootCertificate

          public WebAuthn4JOptions putRootCertificate​(String key,
                                                      X509Certificate cert)

    - #### addRootCertificate

          public WebAuthn4JOptions addRootCertificate​(X509Certificate rootCA)

      Adds a root certificate using its 'CN' subject as key.

    - #### isRelaxedSafetyNetIntegrityVeridict

          public boolean isRelaxedSafetyNetIntegrityVeridict()

    - #### setRelaxedSafetyNetIntegrityVeridict

          public WebAuthn4JOptions setRelaxedSafetyNetIntegrityVeridict​(boolean relaxedSafetyNetIntegrityVeridict)

      Set to true to allow SafetyNet attestation with a relaxed integrity veridict. When the relaxed value is `true`, the SafetyNet attestation will be accepted even if:
      - Certified, genuine device that passes CTS
      - Certified device with unlocked bootloader
      - Genuine but uncertified device, such as when the manufacturer doesn't apply for certification
      - Device with custom ROM (not rooted)
      Parameters:
        `relaxedSafetyNetIntegrityVeridict` - `false` will verify `ctsProfileMatch`, `basicIntegrity` otherwise.
      Returns:
        self.

    - #### setUseMetadata

          public WebAuthn4JOptions setUseMetadata​(boolean useMetadata)

    - #### isUseMetadata

          public boolean isUseMetadata()

    - #### toJson

          public JsonObject toJson()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### isUserPresenceRequired

          public boolean isUserPresenceRequired()

    - #### setUserPresenceRequired

          public WebAuthn4JOptions setUserPresenceRequired​(boolean userPresenceRequired)