Class SecurityKeySigningRequest

java.lang.Object
com.hierynomus.sshj.userauth.fido.SecurityKeySigningRequest

public class SecurityKeySigningRequest extends Object
The inputs a SecurityKeySigner needs to make an authenticator produce an assertion.

In WebAuthn terms: application is the RP id, challenge is the client-data hash, and keyHandle identifies the credential to assert with.

  • Constructor Details

    • SecurityKeySigningRequest

      public SecurityKeySigningRequest(String keyTypeName, String application, byte[] keyHandle, byte[] challenge, byte minFlags)
  • Method Details

    • getKeyTypeName

      public String getKeyTypeName()
      Returns:
      the SSH key type, e.g. sk-ssh-ed25519@openssh.com.
    • getApplication

      public String getApplication()
      Returns:
      the application string, e.g. "ssh:" (the WebAuthn RP id).
    • getKeyHandle

      public byte[] getKeyHandle()
      Returns:
      the credential / key handle stored in the private key file.
    • getChallenge

      public byte[] getChallenge()
      Returns:
      the SHA-256 of the SSH data to sign (the WebAuthn client-data hash).
    • getMinFlags

      public byte getMinFlags()
      Returns:
      the minimum authenticator flags requested by the key file: bit 0 (SSH_SK_USER_PRESENCE_REQD) and bit 2 (SSH_SK_USER_VERIFICATION_REQD). An implementation should ask the authenticator for at least these.