JSCH - Chave privada inválida

Eu estou executando o JDK 1.7 e Windows 7 usando o NetBeans 7.2 Eu criei um par de chaves SSH privada e pública (SSH2-2048 bits) usando o putty-keygen. Eu não tenho nenhuma senha para chave privada. Agora estou tentando se conectar a uma das máquinas host usando o SFTP. Mas quando eu passar chave privada (ppk) para definir a identidade, o código está retornando erro de chave privada inválido. Eu usei a mesma chave privada no WinSCP para se conectar ao mesmo host e está funcionando bem. Por favor me ajude a resolver o erro. Aqui está o meu 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();
}