# Chaves x Certificados.

A geração de certificados self-signed.

Este tipo de certificado possui assinatura própria e na maior parte das aplicações deve ser aceito por handshakes tls.

Um cerificado como essse é usado para uma ou mais identidades certificadoras.

Ele atua em baixo nível, ou seja na própria estruturação de uma identidade certificadora organizacional ou pessoal.

__SSH:__

t => tipo.

m => formato.

b => Número de bits.

C => Comentário.

**Geração de chaves.**

> ssh-keygen -t rsa -m PEM -b 2048

**Localizando e verificando chaves.**

> Verificando chaves existentes.

> Localizando chaves pelo host.

O host(computador o qual deseja verificar a existencia de uma chave.

**HOST:** "shine-free.localnet"

> ssh-keyscan -t rsa shine-free.localnet


---

__GPG:__

**Geração/criação de chaves.**

> gpg --generate-key

**Verificando/localizando chaves.**

> gpg --list-keys

O gpg é usado para criptografar documentos de vários formatos.

As chaves GPG podem ser exportadas e importadas, prmitindo a encriptação e descriptação dos arquivos.


---

__SSL:__

**Usando openssl.**

Em protocolo de chat **IRC** temos a validação e alteração do protocolo como **IRCS.**

Isso se dá com a utilização de uma chave ssl.

Esta pode ser criada com ferramentas do openssl.

Para isso:

> "Nick", seu nickname registrado no servidor.

> Nesse exemplo adoto o servidor da rede "**OFTC.**"

Criando certificado.

openssl req -nodes -newkey rsa:2048 -keyout Nick.key -x509 -days 3650 -out Nick.cer

chmod 400 Nick.key

> Atribuindo permissões.

cat Nick.cer Nick.key  >~/.config/hexchat/certs/OFTC.pem

## IRC/IRCS.

Cada aplicação cliente para o protocolo **IRC** possui sua configuração própria, aqui demonstro o uso de um certificado com o hexchat.

**hexchat.**

> Atribuindo permissões.

chmod 400 ~/.config/hexchat/certs/OFTC.pem

Agora que a chave já está gerada e o certificado no local correto para o aplicativo hexchat, falta apenas adicionar a chave no servidor ao conectar.

O proprío servidor possui recursos para isso em seus robôs, como o NickServ.


