Class Config

java.lang.Object
com.yubico.yubikit.fido.ctap.Config

public class Config extends Object
Implements Config commands.
See Also:
  • Constructor Details

    • Config

      public Config(Ctap2Session ctap, @Nullable PinUvAuthProtocol pinUvAuth, @Nullable byte[] pinUvToken)
      Construct a new Config object using a specified PIN/UV Auth protocol and token.
      Parameters:
      ctap - an active CTAP2 connection
      pinUvAuth - the PIN/UV Auth protocol to use
      pinUvToken - the PIN/UV token to use
  • Method Details

    • isSupported

      public static boolean isSupported(Ctap2Session.InfoData infoData)
    • supportsVendorPrototypeConfigCommands

      public static boolean supportsVendorPrototypeConfigCommands(Ctap2Session.InfoData infoData)
    • enableEnterpriseAttestation

      public void enableEnterpriseAttestation() throws IOException, com.yubico.yubikit.core.application.CommandException
      Enables Enterprise Attestation. If already enabled, this command is ignored.
      Throws:
      IOException - A communication error in the transport layer.
      com.yubico.yubikit.core.application.CommandException - A communication in the protocol layer.
      See Also:
    • toggleAlwaysUv

      public void toggleAlwaysUv() throws IOException, com.yubico.yubikit.core.application.CommandException
      Toggle the alwaysUV setting. When true, the Authenticator always requires UV for credential assertion.
      Throws:
      IOException - A communication error in the transport layer.
      com.yubico.yubikit.core.application.CommandException - A communication in the protocol layer.
      See Also:
    • setMinPinLength

      public void setMinPinLength(@Nullable Integer minPinLength, @Nullable List<String> rpIds, @Nullable Boolean forceChangePin) throws IOException, com.yubico.yubikit.core.application.CommandException
      Set the minimum PIN length allowed when setting/changing the PIN. When true, the Authenticator always requires UV for credential assertion.
      Parameters:
      minPinLength - The minimum PIN length the Authenticator should allow.
      rpIds - A list of RP IDs which should be allowed to get the current minimum PIN length.
      forceChangePin - True if the Authenticator should enforce changing the PIN before the next use.
      Throws:
      IOException - A communication error in the transport layer.
      com.yubico.yubikit.core.application.CommandException - A communication in the protocol layer.
      See Also:
    • vendorPrototype

      public Map<Integer,?> vendorPrototype(Integer vendorCommandId) throws IOException, com.yubico.yubikit.core.application.CommandException
      Allows vendors to test authenticator configuration features.
      Parameters:
      vendorCommandId - Vendor-assigned command ID.
      Throws:
      IOException - A communication error in the transport layer.
      com.yubico.yubikit.core.application.CommandException - A communication in the protocol layer.
      See Also: