public final class JwtRsaSsaPssPublicKey extends JwtSignaturePublicKey
Standard: https://datatracker.ietf.org/doc/html/rfc7518
| Modifier and Type | Class and Description |
|---|---|
static class |
JwtRsaSsaPssPublicKey.Builder
Builder for JwtRsaSsaPssPublicKey.
|
| Modifier and Type | Method and Description |
|---|---|
static JwtRsaSsaPssPublicKey.Builder |
builder() |
boolean |
equalsKey(Key o)
Returns true if the key is guaranteed to be equal to
other. |
Integer |
getIdRequirementOrNull()
Returns null if this key has no id requirement, otherwise the required id.
|
Optional<String> |
getKid()
Returns the "kid" to be used for this key.
|
BigInteger |
getModulus()
Returns the underlying key bytes.
|
JwtRsaSsaPssParameters |
getParameters()
Returns the parameters of this key.
|
public static JwtRsaSsaPssPublicKey.Builder builder()
public BigInteger getModulus()
public Optional<String> getKid()
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.
getKid in class JwtSignaturePublicKeypublic JwtRsaSsaPssParameters getParameters()
JwtSignaturePublicKeygetParameters in class JwtSignaturePublicKey@Nullable public Integer getIdRequirementOrNull()
KeySome 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.
getIdRequirementOrNull in class Keypublic boolean equalsKey(Key o)
Keyother.
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.