Criptografia com OpenSSL
O Projeto OpenSSL é um esforço colaborativo para desenvolver um robusto nível comercial, full-featured e Open toolkit, Fonte implementação do Secure Sockets Layer (SSL v2/v3) e Transport Layer Security (TLS v1) , bem como uma biblioteca de criptografia de uso geral. O projeto é administrado por uma comunidade mundial de voluntários que usam a Internet para se comunicar, planejar e desenvolver o kit de ferramentas OpenSSL e sua documentação. O OpenSSL é baseado na biblioteca SSLeay desenvolvido por Eric A. Young e Tim J. Hudson. O kit de ferramentas OpenSSL é licenciado sob uma licença do tipo Apache, o que basicamente significa que você é livre para utilizar em fins comerciais e não comerciais sujeitos a algumas condições de licença simples.
Fonte: http://www.openssl.org/
A seguir alguns exemplos de utilização do OpenSSL:
Certificado auto-assinado
openssl req -new -x509 -days 1095 -sha1 -newkey rsa:1024 -nodes -keyout server.key -out server.csr
Requisição de certificado
openssl req -new -nodes -keyout server.key -out server.csr
Testando conexão via linha de comandos
openssl s_client -connect www.site.com.br:443
Criptografando arquivos
openssl aes-256-cbc -a -salt -in arquivo.txt -out arquivo.txt.enc
Decriptografando arquivos
openssl aes-256-cbc -d -a -in arquivo.txt.enc -out arquivo.txt.dec
A criptografia aumenta consideravelmente a segurança em servidores web que executam aplicações importantes, aqui você pode conferir um ótimo artigo sobre a utilização do OpenSSL juntamente com o servidor web Apache.