Manuais para a linha de comandos

Man » Manual online openssl - documentação online detalhada para a página de manual openssl

🌍
openssl - Programa de linha de comando OpenSSL

SINTAXE

openssl comando [ opções ... ] [ parâmetros ... ]

openssl no-XXX [ opções ]

openssl -help | -version

DESCRIÇÃO

OpenSSL é um conjunto de ferramentas de criptografia que implementa os protocolos de rede Secure Sockets Layer (SSL) e Transport Layer Security (TLS) e os padrões de criptografia relacionados exigidos por eles.

O programa openssl é um programa de linha de comando para usar as várias funções de criptografia da biblioteca de criptografia OpenSSL a partir do shell. Ele pode ser usado para:

o Criação e gerenciamento de chaves privadas, chaves públicas e parâmetros
o Operações de criptografia de chave pública
o Criação de certificados X.509, CSRs e CRLs
o Cálculo de resumos de mensagem e códigos de autenticação de mensagem
o Criptografia e descriptografia com cifras
o Testes de cliente e servidor SSL/TLS
o Tratamento de e-mails S/MIME assinados ou criptografados
o Solicitações de carimbo de data/hora, geração e verificação

RESUMO DE COMANDOS

O programa openssl fornece uma variedade rica de comandos (comando na "SINTAXE" acima). Cada comando pode ter muitas opções e parâmetros de argumento, mostrados acima como opções e parâmetros.

A documentação detalhada e os casos de uso da maioria dos subcomandos padrão estão disponíveis (por exemplo, openssl-x509(1)). O subcomando openssl-list(1) pode ser usado para listar subcomandos.

O comando no-XXX testa se um comando do nome especificado está disponível. Se nenhum comando com o nome XXX existir, ele retorna 0 (sucesso) e imprime no-XXX; caso contrário, ele retorna 1 e imprime XXX. Em ambos os casos, a saída é direcionada para stdout e nada é impresso em stderr. Argumentos de linha de comando adicionais são sempre ignorados. Como para cada cifra existe um comando com o mesmo nome, isso fornece uma maneira fácil para scripts shell testarem a disponibilidade de cifras no programa openssl. (no-XXX não consegue detectar pseudo-comandos como quit, list ou no-XXX ele próprio).

Opção de configuração

Muitos comandos usam um arquivo de configuração externo para alguns ou todos os seus argumentos e têm uma opção -config para especificar esse arquivo. O nome padrão do arquivo é openssl.cnf na área de armazenamento de certificados padrão, que pode ser determinado pelo comando openssl-version(1) usando a opção -d ou -a. A variável de ambiente OPENSSL_CONF pode ser usada para especificar um local de arquivo diferente ou para desativar o carregamento de uma configuração (usando uma string vazia).

Entre outras coisas, o arquivo de configuração pode ser usado para carregar módulos e especificar parâmetros para gerar certificados e números aleatórios. Consulte config(5) para obter detalhes.

Comandos padrão

asn1parse

Analisar uma sequência ASN.1.


ca  Gerenciamento de Autoridade Certificadora (CA).

ciphers
Determinação da descrição do conjunto de cifras.

cms Comando CMS (Sintaxe de Mensagem Criptográfica).

crl Gerenciamento de Lista de Revogação de Certificados (CRL).

crl2pkcs7
Conversão de CRL para PKCS#7.

dgst
Cálculo de Hash de Mensagem. Os cálculos MAC são substituídos por openssl-mac(1).

dhparam
Geração e gerenciamento de parâmetros Diffie-Hellman. Substituído por openssl-genpkey(1) e
openssl-pkeyparam(1).

dsa Gerenciamento de Dados DSA.

dsaparam
Geração e gerenciamento de parâmetros DSA. Substituído por openssl-genpkey(1) e
openssl-pkeyparam(1).

ec  Processamento de chave EC (Curva Elíptica).

ecparam
Manipulação e geração de parâmetros EC.

enc Criptografia, descriptografia e codificação.

engine
Informações e manipulação do motor (módulo carregável).

errstr
Conversão de Número de Erro para String de Erro.

fipsinstall
Instalação da configuração FIPS.

gendsa
Geração de Chave Privada DSA a partir de Parâmetros. Substituído por openssl-genpkey(1) e
openssl-pkey(1).

genpkey
Geração de Chave Privada ou Parâmetros.

genrsa
Geração de Chave Privada RSA. Substituído por openssl-genpkey(1).

help
Exibe informações sobre as opções de um comando.

info
Exibe diversas informações incorporadas nas bibliotecas OpenSSL.

kdf Funções de Derivação de Chave.

list
Lista algoritmos e recursos.

mac Cálculo de Código de Autenticação de Mensagem.

nseq
Cria ou examina uma sequência de certificados Netscape.

ocsp
Comando de Protocolo de Status de Certificado Online.

passwd
Geração de senhas criptografadas.

pkcs12
Gerenciamento de Dados PKCS#12.

pkcs7
Gerenciamento de Dados PKCS#7.

pkcs8
Comando de conversão de chave privada no formato PKCS#8.

pkey
Gerenciamento de chaves públicas e privadas.

pkeyparam
Gerenciamento de parâmetros de algoritmos de chave pública.

pkeyutl
Comando de operação criptográfica de algoritmos de chave pública.

prime
Calcula números primos.

rand
Gera bytes pseudoaleatórios.

rehash
Cria links simbólicos para arquivos de certificado e CRL nomeados pelos valores de hash.

req Gerenciamento de Solicitação de Certificado X.509 PKCS#10 (CSR).

rsa Gerenciamento de chave RSA.

rsautl
Comando RSA para assinatura, verificação, criptografia e descriptografia. Substituído por
openssl-pkeyutl(1).

s_client
Este implementa um cliente SSL/TLS genérico que pode estabelecer uma conexão transparente com um
servidor remoto que usa SSL/TLS. Ele é destinado apenas para fins de teste e fornece apenas
uma funcionalidade de interface rudimentar, mas internamente usa a maior parte da funcionalidade
da biblioteca ssl OpenSSL.

s_server
Este implementa um servidor SSL/TLS genérico que aceita conexões de clientes remotos que usam
SSL/TLS. Ele é destinado apenas para fins de teste e fornece apenas uma funcionalidade de
interface rudimentar, mas internamente usa a maior parte da funcionalidade da biblioteca ssl
OpenSSL. Ele fornece tanto um protocolo orientado por linha de comando próprio para testar
funções SSL quanto uma instalação de resposta HTTP simples para emular um servidor web com
consciência de SSL/TLS.

s_time
Temporizador de conexão SSL.

sess_id
Gerenciamento de dados de sessão SSL.

smime
Processamento de e-mail S/MIME.

speed
Medição da velocidade do algoritmo.

spkac
Comando para imprimir e gerar SPKAC.

srp
Mantém o arquivo de senhas SRP. Este comando está obsoleto.

storeutl
Comando para listar e exibir certificados, chaves, CRLs, etc.

ts
Comando da Autoridade de Marcação de Tempo.

verify
Verificação de certificado X.509. Veja também a página de manual openssl-verification-options(1).

version
Informações da versão OpenSSL.

x509
Gerenciamento de dados de certificado X.509.

Comandos de Hash de Mensagem

blake2b512
Hash BLAKE2b-512

blake2s256
Hash BLAKE2s-256

md2
Hash MD2

md4
Hash MD4

md5
Hash MD5

mdc2
Hash MDC2

rmd160
Hash RMD-160

sha1
Hash SHA-1

sha224
Hash SHA-2 224

sha256
Hash SHA-2 256

sha384
Hash SHA-2 384

sha512
Hash SHA-2 512

sha3-224
Hash SHA-3 224

sha3-256
Hash SHA-3 256

sha3-384
Hash SHA-3 384

sha3-512
Hash SHA-3 512

keccak-224
Hash KECCAK 224

keccak-256
Hash KECCAK 256

keccak-384
Hash KECCAK 384

keccak-512
Hash KECCAK 512

shake128
Hash SHA-3 SHAKE128

shake256
Hash SHA-3 SHAKE256

sm3
Hash SM3

Comandos de Criptografia, Descriptografia e Codificação

Os seguintes aliases fornecem acesso conveniente às codificações e cifras mais usadas.

Dependendo de como o OpenSSL foi configurado e compilado, nem todas as cifras listadas aqui podem estar presentes. Veja openssl-enc(1) para mais informações.

aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb
Cifra AES-128

aes192, aes-192-cbc, aes-192-cfb, aes-192-ctr, aes-192-ecb, aes-192-ofb
Cifra AES-192

aes256, aes-256-cbc, aes-256-cfb, aes-256-ctr, aes-256-ecb, aes-256-ofb
Cifra AES-256

aria128, aria-128-cbc, aria-128-cfb, aria-128-ctr, aria-128-ecb, aria-128-ofb
Cifra Aria-128

aria192, aria-192-cbc, aria-192-cfb, aria-192-ctr, aria-192-ecb, aria-192-ofb
Cifra Aria-192

aria256, aria-256-cbc, aria-256-cfb, aria-256-ctr, aria-256-ecb, aria-256-ofb
Cifra Aria-256

base64
Codificação Base64

bf, bf-cbc, bf-cfb, bf-ecb, bf-ofb
Cifra Blowfish

camellia128, camellia-128-cbc, camellia-128-cfb, camellia-128-ctr, camellia-128-ecb,
camellia-128-ofb
Cifra Camellia-128

camellia192, camellia-192-cbc, camellia-192-cfb, camellia-192-ctr, camellia-192-ecb,
camellia-192-ofb
Cifra Camellia-192

camellia256, camellia-256-cbc, camellia-256-cfb, camellia-256-ctr, camellia-256-ecb,
camellia-256-ofb
Cifra Camellia-256

cast, cast-cbc
Cifra CAST

cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb
Cifra CAST5

chacha20
Cifra Chacha20

des, des-cbc, des-cfb, des-ecb, des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des-ofb
Cifra DES

des3, desx, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-ofb
Cifra Triple-DES

idea, idea-cbc, idea-cfb, idea-ecb, idea-ofb
Cifra IDEA

rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb
Cifra RC2

rc4
Cifra RC4

rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5-ofb
Cifra RC5

seed, seed-cbc, seed-cfb, seed-ecb, seed-ofb
Cifra SEED

sm4, sm4-cbc, sm4-cfb, sm4-ctr, sm4-ecb, sm4-ofb
Cifra SM4

OPÇÕES

Os detalhes das opções disponíveis dependem do comando específico. Esta seção descreve algumas opções comuns com comportamento comum.

Opções do Programa

Essas opções podem ser especificadas sem especificar um comando para obter ajuda ou informações da versão.

-help

Fornece um resumo conciso de todas as opções. Para obter informações mais detalhadas, cada comando suporta uma opção -help. Aceita --help também.

-version

Fornece um resumo conciso da versão do programa openssl. Para obter informações mais detalhadas, consulte openssl-version(1). Aceita --version também.

Opções Comuns

-help

Se uma opção aceitar um argumento, o "tipo" do argumento também é fornecido.

-- Isso termina a lista de opções. É mais útil se quaisquer parâmetros de nome de arquivo começarem

com um sinal de menos:

openssl verify [flags...] -- -cert1.pem...

Opções de Formato

Consulte openssl-format-options(1) para a página do manual.

Opções de Senha

Consulte a página do manual openssl-passphrase-options(1).

Opções de Estado Aleatório

Antes do OpenSSL 1.1.1, era comum que os aplicativos armazenassem informações sobre o estado do gerador de números aleatórios em um arquivo que era carregado na inicialização e reescrito ao sair. Em sistemas operacionais modernos, isso geralmente não é mais necessário, pois o OpenSSL se auto-alimentará a partir de uma fonte de entropia confiável fornecida pelo sistema operacional. Essas flags ainda são suportadas para plataformas ou circunstâncias especiais que possam exigi-las.

Geralmente, é um erro usar o mesmo arquivo de seed mais de uma vez e cada uso de -rand deve ser emparelhado com -writerand.

-rand arquivos

Um arquivo ou arquivos contendo dados aleatórios usados para alimentar o gerador de números aleatórios. Vários arquivos podem ser especificados separados por um caractere dependente do SO. O separador é ";" para MSWindows, "," para OpenVMS e ":" para todos os outros. Outra maneira de especificar vários arquivos é repetir esta flag com diferentes nomes de arquivo.

-writerand arquivo

Grava os dados de seed no arquivo especificado ao sair. Este arquivo pode ser usado em uma invocação de comando subsequente.

Opções de Verificação de Certificado

Consulte a página do manual openssl-verification-options(1).

Opções de Formato de Nome

Consulte a página do manual openssl-namedisplay-options(1).

Opções de Versão TLS

Vários comandos usam SSL, TLS ou DTLS. Por padrão, os comandos usam TLS e os clientes oferecerão a versão de protocolo mais baixa e mais alta que suportam, e os servidores escolherão a versão mais alta que o cliente oferece e que também é suportada pelo servidor.

As opções abaixo podem ser usadas para limitar quais versões de protocolo são usadas e se TCP (SSL e TLS) ou UDP (DTLS) são usados. Observe que nem todos os protocolos e flags podem estar disponíveis, dependendo de como o OpenSSL foi construído.

-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3

Essas opções exigem ou desativam o uso dos protocolos SSL ou TLS especificados. Quando uma versão TLS específica é necessária, apenas essa versão será oferecida ou aceita. Apenas um protocolo específico pode ser fornecido e não pode ser combinado com nenhuma das opções no_. As opções no_ não funcionam com os comandos s_time e ciphers, mas funcionam com os comandos s_client e s_server.


-dtls, -dtls1, -dtls1_2

Essas opções especificam o uso de DTLS em vez de TLS. Com -dtls, os clientes negociarão qualquer versão de protocolo DTLS suportada. Use as opções -dtls1 ou -dtls1_2 para dar suporte apenas ao DTLS1.0 ou DTLS1.2, respectivamente.

Opções de Engine

-engine id

Carrega a engine identificada por id e usa todos os métodos que ela implementa (algoritmos, armazenamento de chaves, etc.), a menos que especificado de outra forma na documentação específica do comando ou esteja configurado para fazê-lo, conforme descrito em "Configuração da Engine" em config(5).

A engine será usada para IDs de chave especificados com -key e opções semelhantes quando uma opção como -keyform engine for fornecida.

Um caso especial é a engine "loader_attic", que se destina apenas a testes internos do OpenSSL e oferece suporte ao carregamento de chaves, parâmetros, certificados e CRLs de arquivos. Quando esta engine é usada, os arquivos com tais credenciais são lidos através desta engine. O uso do esquema "file:" é opcional; um nome de arquivo simples (caminho) será suficiente.

As opções que especificam chaves, como -key e opções semelhantes, podem usar o esquema de URI de carregamento de chave da engine OpenSSL genérica "org.openssl.engine:" para recuperar chaves privadas e chaves públicas. A sintaxe do URI é a seguinte, em forma simplificada:

org.openssl.engine:{engineid}:{keyid}

Onde "{engineid}" é a identidade/nome da engine e "{keyid}" é um identificador de chave que é aceitável pela engine. Por exemplo, ao usar uma engine que se interface com uma implementação PKCS#11, o URI de chave genérico seria algo como isto (este é um exemplo da engine PKCS#11 que faz parte do OpenSC):

-key org.openssl.engine:pkcs11:label_some-private-key

Como terceira possibilidade, para engines e provedores que implementaram seu próprio OSSL_STORE_LOADER(3), "org.openssl.engine:" não deve ser necessário. Para uma implementação PKCS#11 que implementou tal carregador, o URI PKCS#11 conforme definido em RFC 7512 deve ser possível de usar diretamente:

-key pkcs11:object=some-private-key;pin-value=1234

Opções de Provedor

-provider name

Carrega e inicializa o provedor identificado pelo nome. O nome também pode ser um caminho para o módulo do provedor. Nesse caso, o nome do provedor será o caminho especificado e não apenas o nome do módulo do provedor. A interpretação de caminhos relativos é específica da plataforma. O caminho configurado "MODULESDIR", a variável de ambiente OPENSSL_MODULES ou o caminho especificado por -provider-path é adicionado como prefixo aos caminhos relativos. Veja provider(7) para uma descrição mais detalhada.


-provider-path path

Especifica o caminho de pesquisa a ser usado para procurar provedores. Equivalentemente, a variável de ambiente OPENSSL_MODULES pode ser definida.

-provparam [name:]key=value

Define o parâmetro de configuração key para o valor value no nome do provedor (opcional); se o nome não for especificado, a configuração será aplicada a todos os provedores carregados. Esta opção pode ser especificada várias vezes, para definir vários parâmetros. As opções que especificam provedores não padrão para carregar devem preceder esta opção se a configuração for destinada a ser aplicada aos provedores a serem carregados. Os parâmetros que afetam apenas a inicialização do provedor devem, por enquanto, ser definidos no arquivo de configuração; apenas os parâmetros que também são consultados conforme necessário têm algum efeito quando definidos por meio desta interface. Apenas parâmetros com valor de string UTF8 são suportados. Consulte a documentação do provedor específico e dos algoritmos associados para quaisquer parâmetros suportados.

-propquery propq

Especifica a cláusula de consulta de propriedade a ser usada ao buscar algoritmos dos provedores carregados. Consulte property(7) para uma descrição mais detalhada.

AMBIENTE

As bibliotecas OpenSSL podem receber alguns parâmetros de configuração do ambiente.

Para obter informações sobre todas as variáveis ​​de ambiente usadas pelas bibliotecas OpenSSL, como OPENSSL_CONF, OPENSSL_MODULES e OPENSSL_TRACE, consulte openssl-env(7).

Para obter informações sobre o uso de variáveis ​​de ambiente na configuração, consulte "AMBIENTE" em config(5).

Para obter informações sobre comandos específicos, consulte openssl-engine(1), openssl-rehash(1) e tsget(1).

Para obter informações sobre como consultar ou especificar sinalizadores de arquitetura de CPU, consulte OPENSSL_ia32cap(3), OPENSSL_s390xcap(3) e OPENSSL_riscvcap(3).

VEJA TAMBÉM

openssl-asn1parse(1), openssl-ca(1), openssl-ciphers(1), openssl-cms(1), openssl-crl(1),
openssl-crl2pkcs7(1), openssl-dgst(1), openssl-dhparam(1), openssl-dsa(1), openssl-dsaparam(1),
openssl-ec(1), openssl-ecparam(1), openssl-enc(1), openssl-engine(1), openssl-errstr(1),
openssl-gendsa(1), openssl-genpkey(1), openssl-genrsa(1), openssl-kdf(1), openssl-list(1),
openssl-mac(1), openssl-nseq(1), openssl-ocsp(1), openssl-passwd(1), openssl-pkcs12(1),
openssl-pkcs7(1), openssl-pkcs8(1), openssl-pkey(1), openssl-pkeyparam(1), openssl-pkeyutl(1),
openssl-prime(1), openssl-rand(1), openssl-rehash(1), openssl-req(1), openssl-rsa(1),
openssl-rsautl(1), openssl-s_client(1), openssl-s_server(1), openssl-s_time(1),
openssl-sess_id(1), openssl-smime(1), openssl-speed(1), openssl-spkac(1), openssl-srp(1),
openssl-storeutl(1), openssl-ts(1), openssl-verify(1), openssl-version(1), openssl-x509(1),
config(5), crypto(7), openssl-env(7), ssl(7), x509v3_config(5).

HISTÓRICO

As opções -XXX-algorithms foram adicionadas no OpenSSL 1.0.0; Para obter notas sobre a disponibilidade de outros comandos, consulte suas páginas de manual individuais.

A opção -issuer_checks está obsoleta a partir do OpenSSL 1.1.0 e é ignorada silenciosamente.

As opções -xcertform e -xkeyform são obsoletas desde o OpenSSL 3.0 e não têm efeito.

O modo interativo, que podia ser invocado executando "openssl" sem argumentos adicionais, foi removido no OpenSSL 3.0, e executar esse programa sem argumentos agora é equivalente a "openssl help".

DIREITOS AUTORAIS

Copyright 2000-2025 The OpenSSL Project Authors. Todos os direitos reservados.

Licenciado sob a Licença Apache 2.0 ("Licença"). Você não pode usar este arquivo, exceto em conformidade com a Licença. Você pode obter uma cópia no arquivo LICENSE na distribuição de código-fonte ou em [https://www.openssl.org/source/license.html].