
openssl openssl-4.0.3
Biblioteca TLS e criptografia de propósito geral
Bem-vindo ao Projeto OpenSSL
[![openssl logo]][www.openssl.org]
[![github actions ci badge]][github actions ci]
O OpenSSL é um conjunto de ferramentas de código aberto robusto, de nível comercial e com todos os recursos para os protocolos Transport Layer Security (TLS, antigo SSL), Datagram TLS (DTLS) e QUIC.
As implementações dos protocolos são baseadas em uma biblioteca criptográfica de uso geral de força total, que também pode ser usada de forma autônoma. Também está incluído um módulo criptográfico validado em conformidade com os padrões FIPS.
O OpenSSL descende da biblioteca SSLeay desenvolvida por Eric A. Young e Tim J. Hudson.
A Página Inicial oficial do Projeto OpenSSL é [www.openssl.org].
Índice
- Visão Geral
- Download
- Compilação e Instalação
- Documentação
- Licença
- Suporte
- Contribuição
- Questões Legais
Visão Geral
O conjunto de ferramentas OpenSSL inclui:
-
libssl uma implementação de todas as versões do protocolo TLS até TLSv1.3 ([RFC 8446]), versões do protocolo DTLS até DTLSv1.3 ([RFC 9147]) e o protocolo QUIC versão 1 ([RFC 9000]).
-
libcrypto uma biblioteca criptográfica de uso geral de força total. Ela constitui a base da implementação TLS, mas também pode ser usada de forma independente.
-
openssl a ferramenta de linha de comando do OpenSSL, um canivete suíço para tarefas criptográficas, testes e análises. Ela pode ser usada para
- criação de parâmetros de chave
- criação de certificados X.509, CSRs e CRLs
- cálculo de resumos de mensagens
- criptografia e descriptografia
- testes de SSL/TLS/DTLS e de cliente e servidor
- testes de cliente QUIC
- tratamento de e-mail assinado ou criptografado S/MIME
- e mais...
Download
Para Uso em Produção
Os tarballs do código-fonte das versões oficiais podem ser baixados em openssl-library.org/source/. O projeto OpenSSL não distribui o conjunto de ferramentas em formato binário.
No entanto, para uma grande variedade de sistemas operacionais, estão disponíveis versões pré-compiladas do conjunto de ferramentas OpenSSL. Em particular, no Linux e em outros sistemas operacionais Unix, normalmente é recomendado vincular às bibliotecas compartilhadas pré-compiladas fornecidas pelo distribuidor ou fornecedor.
Também mantemos uma lista de terceiros que produzem binários OpenSSL para vários Sistemas Operacionais (incluindo Windows) na página [Binaries] em nosso wiki.
Para Testes e Desenvolvimento
Embora testes e desenvolvimento possam, em teoria, também ser feitos usando os tarballs do código-fonte, ter uma cópia local do repositório git com todo o histórico do projeto oferece muito mais insight sobre a base de código.
O repositório Git principal do OpenSSL é privado. Há um espelho público no GitHub em [github.com/openssl/openssl], que é atualizado automaticamente a partir do primeiro a cada commit.
Uma cópia local do repositório Git pode ser obtida clonando-o do espelho do GitHub usando
git clone https://github.com/openssl/openssl.git
Se você pretende contribuir com o OpenSSL, seja para corrigir bugs ou contribuir com novos recursos, você precisa fazer um fork do espelho do GitHub e clonar seu fork público em vez disso.
git clone https://github.com/yourname/openssl.git
Isso é necessário porque todo o desenvolvimento do OpenSSL hoje em dia é feito via pull requests do GitHub. Para mais detalhes, veja Contributing.
Compilação e Instalação
Após obter o código-fonte, dê uma olhada no arquivo INSTALL para instruções detalhadas sobre como compilar e instalar o OpenSSL. Para algumas plataformas, as instruções de instalação são complementadas por um documento específico da plataforma.
- Notas para plataformas do tipo UNIX
- Notas para plataformas Android
- Notas para plataformas Windows
- Notas para a plataforma DOS com DJGPP
- Notas para a plataforma OpenVMS
- Notas sobre Perl
- Notas sobre Valgrind
Notas específicas sobre a atualização para o OpenSSL 3.x a partir de versões anteriores podem ser encontradas na página de manual [ossl-guide-migration(7ossl)].
Documentação
Arquivos README
Há alguns arquivos README.md no nível superior da distribuição do código-fonte contendo informações adicionais sobre tópicos específicos.
- Informações sobre a implementação do protocolo QUIC do OpenSSL
- Informações sobre a arquitetura Provider do OpenSSL
- Informações sobre o uso do módulo validado FIPS do OpenSSL
O Guia do OpenSSL
Há algumas páginas de tutorial e introdução sobre alguns tópicos importantes do OpenSSL dentro do [OpenSSL Guide].
Páginas de Manual
As páginas de manual para o branch master e todas as versões estáveis atuais estão disponíveis online.
Demos
Há inúmeras demos de código-fonte para usar várias capacidades do OpenSSL na subpasta demos.
Wiki
Há um [GitHub Wiki] que atualmente não é muito ativo.
Licença
O OpenSSL é licenciado sob a Apache License 2.0, o que significa que você é livre para obtê-lo e usá-lo para fins comerciais e não comerciais desde que cumpra suas condições.
Veja o arquivo LICENSE.txt para mais detalhes.
Suporte
Há várias maneiras de entrar em contato. O canal correto depende da sua necessidade. Veja o arquivo SUPPORT para mais detalhes.
Contribuição
Se você está interessado e disposto a contribuir com o projeto OpenSSL, por favor dê uma olhada no arquivo CONTRIBUTING.