Class JwtRsaSsaPssPublicKey
- java.lang.Object
-
- com.google.crypto.tink.Key
-
- com.google.crypto.tink.jwt.JwtSignaturePublicKey
-
- com.google.crypto.tink.jwt.JwtRsaSsaPssPublicKey
-
public final class JwtRsaSsaPssPublicKey extends JwtSignaturePublicKey
Represents a public key for the JWT RSA SSA PSS signature primitive.Standard: https://datatracker.ietf.org/doc/html/rfc7518
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJwtRsaSsaPssPublicKey.BuilderBuilder for JwtRsaSsaPssPublicKey.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JwtRsaSsaPssPublicKey.Builderbuilder()booleanequalsKey(Key o)Returns true if the key is guaranteed to be equal toother.java.lang.IntegergetIdRequirementOrNull()Returns null if this key has no id requirement, otherwise the required id.java.util.Optional<java.lang.String>getKid()Returns the "kid" to be used for this key.java.math.BigIntegergetModulus()Returns the underlying key bytes.JwtRsaSsaPssParametersgetParameters()Returns the parameters of this key.
-
-
-
Method Detail
-
builder
public static JwtRsaSsaPssPublicKey.Builder builder()
-
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
kidheader during {PublicKeySign#signAndEncode. If absent, no kid will be written.If present, and the
kidheader is present, the contents of thekidheader needs to match the return value of this function.- Specified by:
getKidin classJwtSignaturePublicKey
-
getParameters
public JwtRsaSsaPssParameters getParameters()
Description copied from class:JwtSignaturePublicKeyReturns the parameters of this key.- Specified by:
getParametersin classJwtSignaturePublicKey
-
getIdRequirementOrNull
@Nullable public java.lang.Integer getIdRequirementOrNull()
Description copied from class:KeyReturns 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:
getIdRequirementOrNullin classKey
-
equalsKey
public boolean equalsKey(Key o)
Description copied from class:KeyReturns true if the key is guaranteed to be equal toother.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
Keyobjects should typically not overridehashCode(because it could risk leaking key material). Hence, they typically also should not overrideequals.
-
-