diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ProtocolLibListener.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ProtocolLibListener.java index 4ce14ff6..af526580 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ProtocolLibListener.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ProtocolLibListener.java @@ -241,7 +241,7 @@ public class ProtocolLibListener extends PacketAdapter { Instant expires = profileKey.getExpireTime(); PublicKey key = profileKey.getKey(); byte[] signature = profileKey.getSignature(); - ClientPublicKey clientKey = new ClientPublicKey(expires, key, signature); + ClientPublicKey clientKey = ClientPublicKey.of(expires, key, signature); try { if (EncryptionUtil.verifyClientKey(clientKey, Instant.now())) { return Optional.of(clientKey); diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/packet/ClientPublicKey.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/packet/ClientPublicKey.java index 619d41da..cab804ef 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/packet/ClientPublicKey.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/packet/ClientPublicKey.java @@ -27,62 +27,16 @@ package com.github.games647.fastlogin.bukkit.listener.protocollib.packet; import java.security.PublicKey; import java.time.Instant; -import java.util.Arrays; -import java.util.Objects; -import java.util.StringJoiner; -public final class ClientPublicKey { - private final Instant expiry; - private final PublicKey key; - private final byte[] signature; +import lombok.Value; +import lombok.experimental.Accessors; - public ClientPublicKey(Instant expiry, PublicKey key, byte[] signature) { - this.expiry = expiry; - this.key = key; - this.signature = signature; - } - - public Instant expiry() { - return expiry; - } - - public PublicKey key() { - return key; - } - - public byte[] signature() { - return signature; - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } - - if (obj == null || obj.getClass() != this.getClass()) { - return false; - } - - ClientPublicKey that = (ClientPublicKey) obj; - return Objects.equals(this.expiry, that.expiry) - && Objects.equals(this.key, that.key) - && Arrays.equals(this.signature, that.signature); - } - - @Override - public int hashCode() { - return Objects.hash(expiry, key, signature); - } - - @Override - public String toString() { - return new StringJoiner(", ", ClientPublicKey.class.getSimpleName() + "[", "]") - .add("expiry=" + expiry) - .add("key=" + key) - .add("signature=" + Arrays.toString(signature)) - .toString(); - } +@Accessors(fluent = true) +@Value(staticConstructor = "of") +public class ClientPublicKey { + Instant expiry; + PublicKey key; + byte[] signature; public boolean isExpired(Instant verifyTimestamp) { return !verifyTimestamp.isBefore(expiry); diff --git a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ResourceLoader.java b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ResourceLoader.java index ac0991ec..2f6d7b3f 100644 --- a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ResourceLoader.java +++ b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/ResourceLoader.java @@ -77,7 +77,7 @@ public class ResourceLoader { RSAPublicKey publicKey = parsePublicKey(key); byte[] signature = Base64.getDecoder().decode(object.getAsJsonPrimitive("signature").getAsString()); - return new ClientPublicKey(expires, publicKey, signature); + return ClientPublicKey.of(expires, publicKey, signature); } private static RSAPublicKey parsePublicKey(String keySpec)