@Nonnull private static IkePhase1Key toIkePhase1PreSharedKey( IpsecTunnel ipsecTunnel, Ip remoteIdentity, String localInterface) { IkePhase1Key ikePhase1Key = new IkePhase1Key(); ikePhase1Key.setKeyType(IkeKeyType.PRE_SHARED_KEY); ikePhase1Key.setKeyHash(ipsecTunnel.getIkePreSharedKeyHash()); ikePhase1Key.setRemoteIdentity(remoteIdentity.toIpSpace()); ikePhase1Key.setLocalInterface(localInterface); return ikePhase1Key; }
/** * Converts {@link IkePolicy} to {@link IkePhase1Policy} and puts the used pre-shared key as a * {@link IkePhase1Key} in the passed-in {@code ikePhase1Keys} */ private static IkePhase1Policy toIkePhase1Policy( IkePolicy ikePolicy, ImmutableSortedMap.Builder<String, IkePhase1Key> ikePhase1Keys) { String name = ikePolicy.getName(); IkePhase1Policy ikePhase1Policy = new IkePhase1Policy(name); // pre-shared-key IkePhase1Key ikePhase1Key = new IkePhase1Key(); ikePhase1Key.setKeyType(IkeKeyType.PRE_SHARED_KEY); ikePhase1Key.setKeyHash(ikePolicy.getPreSharedKeyHash()); ikePhase1Keys.put(String.format("~IKE_PHASE1_KEY_%s~", ikePolicy.getName()), ikePhase1Key); ikePhase1Policy.setIkePhase1Key(ikePhase1Key); ImmutableList.Builder<String> ikePhase1ProposalBuilder = ImmutableList.builder(); // ike proposals ikePolicy.getProposals().forEach(ikePhase1ProposalBuilder::add); ikePhase1Policy.setIkePhase1Proposals(ikePhase1ProposalBuilder.build()); return ikePhase1Policy; }
static IkePhase1Key toIkePhase1Key(Keyring keyring) { IkePhase1Key ikePhase1Key = new IkePhase1Key(); ikePhase1Key.setKeyHash(keyring.getKey()); ikePhase1Key.setKeyType(IkeKeyType.PRE_SHARED_KEY); ikePhase1Key.setLocalInterface(keyring.getLocalInterfaceName()); if (keyring.getRemoteIdentity() != null) { ikePhase1Key.setRemoteIdentity(keyring.getRemoteIdentity().toIpSpace()); } return ikePhase1Key; }
ikePhase1Key.setKeyHash(ipsecPeer.getAuthenticationPreSharedSecretHash());