2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.netconf.nettyutil.handler.ssh.authentication;
11 import java.io.IOException;
12 import org.apache.sshd.ClientSession;
13 import org.apache.sshd.client.future.AuthFuture;
14 import org.opendaylight.aaa.encrypt.AAAEncryptionService;
17 * Class Providing username/password authentication option to
18 * {@link org.opendaylight.netconf.nettyutil.handler.ssh.client.AsyncSshHandler}.
20 public class LoginPassword extends AuthenticationHandler {
21 protected final String username;
22 protected final String password;
23 protected final AAAEncryptionService encryptionService;
25 public LoginPassword(String username, String password) {
26 this(username, password, null);
29 public LoginPassword(final String username, final String password, final AAAEncryptionService encryptionService) {
30 this.username = username;
31 this.password = password;
32 this.encryptionService = encryptionService;
36 public String getUsername() {
41 public AuthFuture authenticate(final ClientSession session) throws IOException {
42 if (encryptionService != null) {
43 String decryptedPassword = encryptionService.decrypt(password);
44 session.addPasswordIdentity(decryptedPassword);
46 session.addPasswordIdentity(password);
48 return session.auth();