Class JwtSignaturePrivateKey
- java.lang.Object
-
- com.google.crypto.tink.Key
-
- com.google.crypto.tink.jwt.JwtSignaturePrivateKey
-
- All Implemented Interfaces:
PrivateKey
- Direct Known Subclasses:
JwtEcdsaPrivateKey,JwtRsaSsaPkcs1PrivateKey,JwtRsaSsaPssPrivateKey
@Immutable public abstract class JwtSignaturePrivateKey extends Key implements PrivateKey
Represents a key to compute JWT using asymmetric cryptography (i.e., using theJwtPublicKeySigninterface).
-
-
Constructor Summary
Constructors Constructor Description JwtSignaturePrivateKey()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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 (https://www.rfc-editor.org/rfc/rfc7517#section-4.5).abstract JwtSignatureParametersgetParameters()Returns aParametersobject containing all the information about the key which is not randomly chosen.abstract JwtSignaturePublicKeygetPublicKey()
-
-
-
Method Detail
-
getPublicKey
public abstract JwtSignaturePublicKey getPublicKey()
- Specified by:
getPublicKeyin interfacePrivateKey
-
getKid
public java.util.Optional<java.lang.String> getKid()
Returns the "kid" to be used for this key (https://www.rfc-editor.org/rfc/rfc7517#section-4.5).Note that the "kid" is not necessarily related to Tink's "Key ID" in the keyset.
If present, this kid will be written into the
kidheader duringcomputeMacAndEncode. 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.Note that
getParameters.allowKidAbsent()specifies if omitting thekidheader is allowed. Of course, ifgetParameters.allowKidAbsent()is true, thengetKidmust not return an emptyOptional.
-
getParameters
public abstract JwtSignatureParameters getParameters()
Description copied from class:KeyReturns aParametersobject containing all the information about the key which is not randomly chosen.Implementations need to ensure that
getParameters().hasIdRequirement()returns true if and only ifgetIdRequirementOrNullis non-null.- Specified by:
getParametersin classKey
-
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
-
-