import org.opendaylight.netconf.client.mdsal.SchemalessNetconfDevice;
import org.opendaylight.netconf.client.mdsal.api.CredentialProvider;
import org.opendaylight.netconf.client.mdsal.api.DeviceActionFactory;
-import org.opendaylight.netconf.client.mdsal.api.KeyStoreProvider;
import org.opendaylight.netconf.client.mdsal.api.RemoteDevice;
import org.opendaylight.netconf.client.mdsal.api.RemoteDeviceHandler;
import org.opendaylight.netconf.client.mdsal.api.RemoteDeviceId;
+import org.opendaylight.netconf.client.mdsal.api.SslHandlerFactoryProvider;
import org.opendaylight.netconf.nettyutil.ReconnectStrategyFactory;
import org.opendaylight.netconf.nettyutil.TimedReconnectStrategyFactory;
import org.opendaylight.netconf.nettyutil.handler.ssh.authentication.AuthenticationHandler;
import org.opendaylight.netconf.nettyutil.handler.ssh.authentication.LoginPasswordHandler;
import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator;
import org.opendaylight.netconf.sal.connect.netconf.sal.KeepaliveSalFacade;
-import org.opendaylight.netconf.sal.connect.util.SslHandlerFactoryImpl;
import org.opendaylight.netconf.topology.singleton.api.RemoteDeviceConnector;
import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologySetup;
import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologyUtils;
private final RemoteDeviceId remoteDeviceId;
private final AAAEncryptionService encryptionService;
private final CredentialProvider credentialProvider;
- private final KeyStoreProvider keyStoreProvider;
+ private final SslHandlerFactoryProvider sslHandlerFactoryProvider;
private final DeviceActionFactory deviceActionFactory;
// FIXME: this seems to be a builder-like transition between {start,stop}RemoteDeviceConnection. More documentation
this.deviceActionFactory = requireNonNull(deviceActionFactory);
encryptionService = netconfTopologyDeviceSetup.getEncryptionService();
credentialProvider = netconfTopologyDeviceSetup.getCredentialProvider();
- keyStoreProvider = netconfTopologyDeviceSetup.getKeyStoreProvider();
+ sslHandlerFactoryProvider = netconfTopologyDeviceSetup.getSslHandlerFactoryProvider();
}
@Override
.withAuthHandler(getHandlerFromCredentials(node.getCredentials()));
} else if (protocol.getName() == Name.TLS) {
reconnectingClientConfigurationBuilder = NetconfReconnectingClientConfigurationBuilder.create()
- .withSslHandlerFactory(new SslHandlerFactoryImpl(keyStoreProvider, protocol.getSpecification()))
+ .withSslHandlerFactory(sslHandlerFactoryProvider.getSslHandlerFactory(protocol.getSpecification()))
.withProtocol(NetconfClientConfiguration.NetconfClientProtocol.TLS);
} else {
throw new IllegalStateException("Unsupported protocol type: " + protocol.getName());