private byte[] lookupKeyByMember(InternalDistributedMember member) { byte[] pk = memberToPublicKey.get(new InternalDistributedMemberWrapper(member)); if (pk == null) { pk = getPublicKeyIfIAmLocator(member); } if (pk == null) { pk = (byte[]) view.getPublicKey(member); } return pk; }
private void addPublicKeysToView(NetView view) { String sDHAlgo = services.getConfig().getDistributionConfig().getSecurityUDPDHAlgo(); if (sDHAlgo != null && !sDHAlgo.isEmpty()) { for (InternalDistributedMember mbr : view.getMembers()) { if (Objects.isNull(view.getPublicKey(mbr))) { byte[] pk = services.getMessenger().getPublicKey(mbr); view.setPublicKey(mbr, pk); } } } }
@Test public void testNullPublicKeysNotRetained() throws Exception { NetView view = new NetView(members.get(0), 2, new ArrayList<>(members)); setFailureDetectionPorts(view); NetView newView = new NetView(view, 3); for (InternalDistributedMember member : view.getMembers()) { view.setPublicKey(member, null); } newView.setPublicKeys(view); for (InternalDistributedMember member : view.getMembers()) { assertNull(newView.getPublicKey(member)); assertNull(view.getPublicKey(member)); } }
newView.add(newMember); newView.setFailureDetectionPort(newMember, v.getFailureDetectionPort(newMember)); newView.setPublicKey(newMember, v.getPublicKey(newMember));
coordinatorPublicKey = (byte[]) v.getPublicKey(coordinator);