Sync-base: use serialized certificate in self data

makes it easier to switch serialization
This commit is contained in:
2025-04-18 11:06:40 +02:00
parent 9859378627
commit 14ddddd0ff
2 changed files with 8 additions and 5 deletions

View File

@@ -1,11 +1,13 @@
package com.usatiuk.dhfs.repository;
import com.google.protobuf.ByteString;
import com.usatiuk.dhfs.PeerId;
import com.usatiuk.dhfs.ShutdownChecker;
import com.usatiuk.dhfs.repository.peerdiscovery.IpPeerAddress;
import com.usatiuk.dhfs.repository.peerdiscovery.PeerAddressType;
import com.usatiuk.dhfs.repository.peersync.PeerInfoService;
import com.usatiuk.dhfs.repository.peertrust.PeerTrustManager;
import com.usatiuk.dhfs.utils.SerializationHelper;
import com.usatiuk.objects.transaction.Transaction;
import com.usatiuk.objects.transaction.TransactionManager;
import io.quarkus.logging.Log;
@@ -64,8 +66,8 @@ public class PersistentPeerDataService {
var selfData = curTx.get(PersistentRemoteHostsData.class, PersistentRemoteHostsData.KEY).orElse(null);
if (selfData != null) {
_selfUuid = selfData.selfUuid();
_selfCertificate = selfData.selfCertificate();
_selfKeyPair = selfData.selfKeyPair();
_selfCertificate = CertificateTools.certFromBytes(selfData.selfCertificate().toByteArray());
_selfKeyPair = SerializationHelper.deserialize(selfData.selfKeyPair().toByteArray());
return;
} else {
try {
@@ -74,7 +76,7 @@ public class PersistentPeerDataService {
_selfKeyPair = CertificateTools.generateKeyPair();
_selfCertificate = CertificateTools.generateCertificate(_selfKeyPair, _selfUuid.toString());
curTx.put(new PersistentRemoteHostsData(_selfUuid, _selfCertificate, _selfKeyPair, HashTreePSet.empty(), HashTreePMap.empty()));
curTx.put(new PersistentRemoteHostsData(_selfUuid, ByteString.copyFrom(_selfCertificate.getEncoded()), SerializationHelper.serialize(_selfKeyPair), HashTreePSet.empty(), HashTreePMap.empty()));
peerInfoService.putPeer(_selfUuid, _selfCertificate.getEncoded());
} catch (CertificateEncodingException e) {
throw new RuntimeException(e);

View File

@@ -1,5 +1,6 @@
package com.usatiuk.dhfs.repository;
import com.google.protobuf.ByteString;
import com.usatiuk.dhfs.PeerId;
import com.usatiuk.dhfs.repository.peerdiscovery.IpPeerAddress;
import com.usatiuk.objects.JData;
@@ -12,8 +13,8 @@ import java.security.KeyPair;
import java.security.cert.X509Certificate;
public record PersistentRemoteHostsData(PeerId selfUuid,
X509Certificate selfCertificate,
KeyPair selfKeyPair,
ByteString selfCertificate,
ByteString selfKeyPair,
PSet<PeerId> initialSyncDone,
PMap<PeerId, IpPeerAddress> persistentPeerAddress) implements JData, Serializable {
public static final JObjectKey KEY = JObjectKey.of("self_peer_data");