add key serialization

This commit is contained in:
Sen 2025-05-30 01:43:37 +02:00
parent be0ab15153
commit b14e539464
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
5 changed files with 117 additions and 13 deletions

View file

@ -2,8 +2,6 @@ package client.gui;
import java.security.KeyPair;
import java.security.PublicKey;
import java.util.Base64;
import client.gui.GuiConnect.ServerInfo;
import client.gui.element.ActButton;
import client.gui.element.ButtonCallback;
@ -97,7 +95,7 @@ public class GuiServer extends Gui implements FieldCallback {
this.keyButton = this.add(new ActButton(0, 120, 391, 24, new ButtonCallback() {
public void use(ActButton elem, PressType action) {
if(GuiServer.this.keypair == null) {
GuiServer.this.keypair = EncryptUtil.generateKeyPair();
GuiServer.this.keypair = EncryptUtil.createKeypair();
GuiServer.this.keyDigest = EncryptUtil.getXorSha512Hash(GuiServer.this.keypair.getPublic().getEncoded());
GuiServer.this.keyLabel.setText("Anmelde-Pubkey: RSA-2048 " + GuiServer.this.keyDigest);
GuiServer.this.keyButton.setText("Schlüsselpaar entfernen");
@ -152,7 +150,7 @@ public class GuiServer extends Gui implements FieldCallback {
this.copyKeyButton = this.add(new ActButton(395, 120, 85, 24, new ButtonCallback() {
public void use(ActButton elem, PressType action) {
if(GuiServer.this.keypair != null)
Window.setClipboard(Base64.getEncoder().encodeToString(GuiServer.this.keypair.getPublic().getEncoded()));
Window.setClipboard(EncryptUtil.getArmoredPubkey(GuiServer.this.keypair.getPublic(), GuiServer.this.userBox.getText()));
}
}, "Kopieren"));
this.copyKeyButton.enabled = this.keypair != null;
@ -176,7 +174,7 @@ public class GuiServer extends Gui implements FieldCallback {
this.copyIdButton = this.add(new ActButton(395, 300, 85, 24, new ButtonCallback() {
public void use(ActButton elem, PressType action) {
if(GuiServer.this.serverKey != null)
Window.setClipboard(Base64.getEncoder().encodeToString(GuiServer.this.serverKey.getEncoded()));
Window.setClipboard(EncryptUtil.getArmoredPubkey(GuiServer.this.serverKey, GuiServer.this.nameBox.getText()));
}
}, "Kopieren"));
this.copyIdButton.enabled = this.serverKey != null;

View file

@ -67,7 +67,7 @@ public class ClientLoginHandler extends NetHandler implements IClientLoginHandle
return;
}
this.connection.setConnectionState(PacketRegistry.LOGIN);
final SecretKey secret = EncryptUtil.createNewSharedKey();
final SecretKey secret = EncryptUtil.createSharedKey();
final PublicKey pubkey = packet.getKey();
final byte[] token = packet.getToken();
if(this.server.getServerKey() == null) {