java.lang.Object
com.webauthn4j.data.attestation.authenticator.AbstractCOSEKey
com.webauthn4j.data.attestation.authenticator.RSACOSEKey
All Implemented Interfaces:
COSEKey, Serializable

public class RSACOSEKey extends AbstractCOSEKey
See Also:
  • Constructor Details

    • RSACOSEKey

      public RSACOSEKey(@org.checkerframework.checker.nullness.qual.Nullable byte[] keyId, @Nullable COSEAlgorithmIdentifier algorithm, @Nullable List<COSEKeyOperation> keyOps, @org.checkerframework.checker.nullness.qual.Nullable byte[] n, @org.checkerframework.checker.nullness.qual.Nullable byte[] e, @org.checkerframework.checker.nullness.qual.Nullable byte[] d, @org.checkerframework.checker.nullness.qual.Nullable byte[] p, @org.checkerframework.checker.nullness.qual.Nullable byte[] q, @org.checkerframework.checker.nullness.qual.Nullable byte[] dP, @org.checkerframework.checker.nullness.qual.Nullable byte[] dQ, @org.checkerframework.checker.nullness.qual.Nullable byte[] qInv)
      Constructor for key pair
      Parameters:
      keyId - keyId
      algorithm - algorithm
      keyOps - keyOps
      n - the RSA modulus n
      e - the RSA public exponent e
      d - the RSA private exponent d
      p - the prime factor p of n
      q - the prime factor q of n
      dP - dP is d mod (p - 1)
      dQ - dQ is d mod (q - 1)
      qInv - qInv is the CRT coefficient q^(-1) mod p
    • RSACOSEKey

      public RSACOSEKey(@org.checkerframework.checker.nullness.qual.Nullable byte[] keyId, @Nullable COSEAlgorithmIdentifier algorithm, @Nullable List<COSEKeyOperation> keyOps, @org.checkerframework.checker.nullness.qual.Nullable byte[] n, @org.checkerframework.checker.nullness.qual.Nullable byte[] e)
      Constructor for public key
      Parameters:
      keyId - keyId
      algorithm - algorithm
      keyOps - keyOps
      n - n
      e - e
  • Method Details

    • create

      public static @NonNull RSACOSEKey create(@NonNull RSAPrivateKey privateKey, @Nullable COSEAlgorithmIdentifier alg)
    • create

      public static @NonNull RSACOSEKey create(@NonNull RSAPublicKey publicKey, @Nullable COSEAlgorithmIdentifier alg)
    • create

      public static @NonNull RSACOSEKey create(@NonNull KeyPair keyPair, @Nullable COSEAlgorithmIdentifier alg)
    • create

      public static @NonNull RSACOSEKey create(@NonNull RSAPrivateKey privateKey)
      Parameters:
      privateKey - privateKey
      Returns:
      RSACOSEKey
    • create

      public static @NonNull RSACOSEKey create(@NonNull RSAPublicKey publicKey)
      Parameters:
      publicKey - publicKey
      Returns:
      RSACOSEKey
    • create

      public static @NonNull RSACOSEKey create(@NonNull KeyPair keyPair)
      Create RSACOSEKey from KeyPair.
      Parameters:
      keyPair - keyPair
      Returns:
      RSACOSEKey
    • getKeyType

      public @NonNull COSEKeyType getKeyType()
      Specified by:
      getKeyType in interface COSEKey
      Specified by:
      getKeyType in class AbstractCOSEKey
    • getN

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getN()
    • getE

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getE()
    • getD

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getD()
    • getP

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getP()
    • getQ

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getQ()
    • getDP

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getDP()
    • getDQ

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getDQ()
    • getQInv

      public @org.checkerframework.checker.nullness.qual.Nullable byte[] getQInv()
    • hasPublicKey

      public boolean hasPublicKey()
    • hasPrivateKey

      public boolean hasPrivateKey()
    • getPublicKey

      public @Nullable PublicKey getPublicKey()
    • getPrivateKey

      public @Nullable PrivateKey getPrivateKey()
    • validate

      public void validate()
    • equals

      public boolean equals(@Nullable Object o)
      Overrides:
      equals in class AbstractCOSEKey
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class AbstractCOSEKey
    • toString

      public String toString()
      Overrides:
      toString in class Object