JSCH - Clave privada inválida

Estoy ejecutando JDK 1.7 y Windows 7 usando netbeans 7.2 He generado un par de claves privadas y públicas SSH (bits SSH2-2048) usando putty-keygen. No tengo ninguna contraseña para la clave privada. Ahora estoy tratando de conectarme a una de las máquinas host mediante SFTP. Pero cuando paso la clave privada (ppk) para establecer la Identidad, el código está devolviendo un error de clave privada no válido. Usé la misma clave privada en WinSCP para conectarme al mismo host y está funcionando bien. Por favor ayúdame a resolver el error. Aquí está mi código:

JSch jsch = new JSch();

Session session = null;

try {

    jsch.addIdentity("D:\\TEMP\\key.ppk");

    session = jsch.getSession("tiabscp", "ssiw.support.qvalent.com", 22);
    session.setConfig("StrictHostKeyChecking", "no");
    //session.setPassword("");
    session.connect();
    Channel channel = session.openChannel("sftp");
    System.out.println("Getting connected");
    channel.connect();
    System.out.println("connected successfully");
    ChannelSftp sftpChannel = (ChannelSftp) channel;
    sftpChannel.get("remotefile.txt", "localfile.txt");
    sftpChannel.exit();
    session.disconnect();
}catch (JSchException e) {

    e.printStackTrace();

}catch (SftpException e) {

    e.printStackTrace();
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta