@Immutable public final class Ed25519PublicKey extends SignaturePublicKey
| Modifier and Type | Method and Description |
|---|---|
static Ed25519PublicKey |
create(Bytes publicKeyBytes) |
static Ed25519PublicKey |
create(Ed25519Parameters.Variant variant,
Bytes publicKeyBytes,
Integer idRequirement) |
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.
|
Bytes |
getOutputPrefix()
Returns a
Bytes instance which is prefixed to every signature. |
Ed25519Parameters |
getParameters()
Returns the parameters of this key.
|
Bytes |
getPublicKeyBytes() |
public Bytes getOutputPrefix()
SignaturePublicKeyBytes instance which is prefixed to every signature.getOutputPrefix in class SignaturePublicKeypublic static Ed25519PublicKey create(Bytes publicKeyBytes) throws GeneralSecurityException
GeneralSecurityExceptionpublic static Ed25519PublicKey create(Ed25519Parameters.Variant variant, Bytes publicKeyBytes, @Nullable Integer idRequirement) throws GeneralSecurityException
GeneralSecurityExceptionpublic Bytes getPublicKeyBytes()
public Ed25519Parameters getParameters()
SignaturePublicKeygetParameters in class SignaturePublicKey@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.