Por que eu devo ler este artigo:Este artigo apresenta o framework JSch, solução que permite realizar a transferência de arquivos de forma segura utilizando o protocolo SSH2. Sendo assim, este artigo é útil para desenvolvedores que desejam utilizar e aprofundar-se sobre as funcionalidades dos recursos de transferência de arquivos. Demonstraremos na prática os componentes de download e upload fornecidos pelo framework JSch, trabalhando conjuntamente com o PrimeFaces.

Com a evolução do mercado, a competitividade acirrada e a alta demanda das empresas, surgem necessidades que exercem grande pressão sobre a área de TI, exigindo flexibilidade e agilidade para a solução de problemas. Devido a isto, as empresas estão em busca de tecnologias e ferramentas que tornem o desenvolvimento e gerenciamento de aplicações mais ágeis.

Atualmente, existem inúmeros frameworks disponíveis que auxiliam no desenvolvimento de aplicações web. Assim, é importante saber escolher qual framework poderá auxiliá-lo, levando em conta aspectos como redução de custos, segurança, documentação, detecção de erros, etc.

A adoção de um bom framework poderá ajudá-lo a ter maior produtividade e eliminar tarefas repetitivas.

Além disso, com a grande troca de informações entre diversos tipos de sistemas, há a necessidade de oferecer segurança sobre essas informações, requisito fundamental que, por muitas vezes, é sucumbido pela necessidade de entregar o software na data contratada.

Entretanto, no desenvolvimento de um projeto, é preciso saber conciliar a segurança e os demais requisitos, independente de qual seja o objetivo da aplicação. Neste cenário, para as soluções que necessitam efetuar a troca de arquivos, conheceremos o JSch.

O Java Secure Channel, ou JSch, foi desenvolvido pela empresa japonesa JCraft com o intuito de permitir que usuários pudessem desfrutar de sessões seguras em suas transferências de arquivos. Desta forma, a JCraft decidiu criar um framework baseando-se nos mecanismos de segurança do protocolo SSH2, tornando as sessões criptografadas e, portanto, seguras.

Neste artigo, utilizaremos o JSch e veremos o funcionamento de alguns dos seus recursos oferecidos para realizar a transferência de arquivos. Para isso, desenvolveremos uma aplicação web trabalhando conjuntamente com o PrimeFaces.

Este framework disponibiliza uma grande gama de componentes para se trabalhar com o JavaServer Faces (JSF), inclusive componentes para a realização de download e upload de arquivos, como é o caso da classe FileUploadEvent.

No entanto, iremos utilizá-lo em conjunto com o JSch para implementar a transferência segura de arquivos, pois apenas com o PrimeFaces não é possível realizar a transferência com a utilização do SSH2.

O que é SSH?

O Secure Shell (SSH) teve sua primeira versão desenvolvida por Tatu Ylonen em 1995 com o objetivo de obter uma ferramenta que pudesse desfrutar de acessos remotos com segurança.

A segunda versão, o SSH2, foi desenvolvida com a inclusão de ferramentas que visaram evitar falhas de segurança identificadas na primeira versão e foi padronizado pelo Internet Engineering Task Force (IETF) em 2006.

Este protocolo auxilia na comunicação entre hosts que utilizam a arquitetura cliente-servidor. Ele implementa a criptografia para estabelecer conexões seguras. Sendo assim, as informações transmitidas de um host para outro ficam disponíveis apenas entre eles, inibindo o acesso àinformação por desconhecidos.

No momento em que os dados são enviados para outro host, o SSH os criptografa automaticamente e quando chegam ao destino, são descriptografados. A conexão realizada entre os hosts é feita com a utilização de chaves de 512 bits; sendo assim, a possibilidade destes dados serem acessados por hosts não autorizados é extremamente remota.

Entre as características que tornaram o SSH popularmente conhecido, podemos destacar: sua fácil instalação e configuração, estabilidade, segurança, é suportado em diversos sistemas operacionais e possui muitos recursos para manutenção.

A Figura 1 apresenta um exemplo simples de comunicação ...

Quer ler esse conteúdo completo? Tenha acesso completo