minecraft-src/net/minecraft/util/Signer.java
2025-07-04 01:41:11 +03:00

29 lines
763 B
Java

package net.minecraft.util;
import com.mojang.logging.LogUtils;
import java.security.PrivateKey;
import java.security.Signature;
import org.slf4j.Logger;
public interface Signer {
Logger LOGGER = LogUtils.getLogger();
byte[] sign(SignatureUpdater signatureUpdater);
default byte[] sign(byte[] signature) {
return this.sign(output -> output.update(signature));
}
static Signer from(PrivateKey privateKey, String algorithm) {
return signatureUpdater -> {
try {
Signature signature = Signature.getInstance(algorithm);
signature.initSign(privateKey);
signatureUpdater.update(signature::update);
return signature.sign();
} catch (Exception var4) {
throw new IllegalStateException("Failed to sign message", var4);
}
};
}
}