Class JwtRsaSsaPkcs1PublicKey


  • public final class JwtRsaSsaPkcs1PublicKey
    extends JwtSignaturePublicKey
    Represents a public key for the JWT RSA SSA PKCS1 signature primitive.

    Standard: https://datatracker.ietf.org/doc/html/rfc7518

    • Method Detail

      • getModulus

        public java.math.BigInteger getModulus()
        Returns the underlying key bytes.
      • getKid

        public java.util.Optional<java.lang.String> getKid()
        Returns the "kid" to be used for this key.

        If present, this kid will be written into the kid header during { PublicKeySign#signAndEncode. If absent, no kid will be written.

        If present, and the kid header is present, the contents of the kid header needs to match the return value of this function.

        Specified by:
        getKid in class JwtSignaturePublicKey
      • getIdRequirementOrNull

        @Nullable
        public java.lang.Integer getIdRequirementOrNull()
        Description copied from class: Key
        Returns null if this key has no id requirement, otherwise the required id.

        Some keys, when they are in a keyset, are required to have a certain ID to work properly. This comes from the fact that Tink in some cases prefixes ciphertexts or signatures with the string 0x01<id>, where the ID is encoded in big endian (see the documentation of the key type for details), in which case the key requires a certain ID.

        Specified by:
        getIdRequirementOrNull in class Key
      • equalsKey

        public boolean equalsKey​(Key o)
        Description copied from class: Key
        Returns true if the key is guaranteed to be equal to other.

        Implementations are required to do this in constant time.

        Note: this is allowed to return false even if two keys are guaranteed to represent the same function, but are represented differently. For example, a key is allowed to internally store the number of zero-bytes used as padding when a large number is represented as a byte array, and use this in the comparison.

        Note: Tink Key objects should typically not override hashCode (because it could risk leaking key material). Hence, they typically also should not override equals.

        Specified by:
        equalsKey in class Key