Interface MetaDataService


  • public interface MetaDataService
    Factory interface for creating FIDO2 MetaDataService.
    Author:
    Paulo Lopes
    • Method Detail

      • fetchTOC

        Future<Boolean> fetchTOC​(String url)
        Fetches the FIDO2 TOC for the given URL and process the entries to the metadata store. Only valid entries will be stored. The operation will return true only if all entries have been added. false if they have been processed but at least one was invalid.

        The operation will only fail on network problems.

        Parameters:
        url - the url to the TOC
        Returns:
        future result of the operation
      • fetchTOC

        default Future<Boolean> fetchTOC()
        Fetches the FIDO2 MDS3 TOC and process the entries to the metadata store. Only valid entries will be stored. The operation will return true only if all entries have been added. false if they have been processed but at least one was invalid.

        The operation will only fail on network problems.

        Returns:
        future result of the operation
      • addStatement

        MetaDataService addStatement​(JsonObject statement)
        Manually feed a Meta Data Statement to the service.
        Parameters:
        statement - the json statement
        Returns:
        fluent self
      • flush

        MetaDataService flush()
        Clears all loaded statements, both from the TOC and manually inserted. The flush operation will not cancel any in-flight TOC download/processing.
        Returns:
        fluent self
      • verify

        JsonObject verify​(Authenticator authenticator)
        Verify the metadata for a given authenticator. The MDS will lookup the metadata by the AAGUID. If no AAGUID is known, the result will be null.

        When a statement is found, the statement will be used to verify the certificate chain. A failure during this verification will throw a RuntimeException.

        Parameters:
        authenticator - authenticator to verify
        Returns:
        an MDS statement for this authenticator or null.
        Throws:
        RuntimeException - if the verification fails.