Jump to content
Sign in to follow this  
kodo no kami

[tutorial] gerar certificado com openssl (auto assinado)

Recommended Posts

então galera muitas vezes precisamos gerar um certificado digital. Os certificado digitais são gerados por uma chave privada e dentro dele é composto por uma chave publica e algumas informações referente a ele (país, estado, cidade, autor, etc), ele pode ser auto assinado ou assinado por outro certificado (normalmente uma Autoridade Certificadora ~ CA). Para a gente criar um certificado digital auto assinado usando o openssl temos primeiro que gera uma chave privada, para isso usamos o parametro genrsa

openssl genrsa -des 2048 > kodorsa.key

hynjIKL.png

com a chave privada gerada, basta gerar uma nova requisição de certificado com o parametro req, passamos como argumento o parametro -new indicando uma nova requisição, o parametro -days indicando o tempo em dias antes de expirar, o parametro -key com a nossa chave privada, tambem podemos usar o parametro -x509 para gerar o certificado de uma vez (se não teria que usar o parametro x509 e assinar com a nossa chave depois), depois disso ele vai pedir algumas informações (país, estado, cidade, empresa, setor, autor ou dominio, email)

openssl req -new -x509 -days 365 -key kodorsa.key > kodo.crt

E3GQmqf.png

é possivel exibir as informações do certificado usando o parametro x509, o parametro -in com o certificado e o -text para exibir as informações dele

openssl x509 -in kodo.crt -text

e08yuId.png

é possivel exportar a chave publica de um certificaodo usando o parametro x509, com o -pubkey e -noout para ter apenas a saida da chave publica

openssl x509 -in kodo.crt -pubkey -noout

mMDBJIs.png

podemos usar esse certificado para diversos fins, como exemplo uma comunicação criptografada por SSL

#!/usr/bin/python3
import ssl
import socket
sslc = ssl.SSLContext()
sslc.load_cert_chain(certfile="kodo.crt",keyfile="kodorsa.key")
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect(("192.168.1.1",10315))
sslsock = sslc.wrap_socket(sock)
sslsock.send(b"kodo kawaii")
print("msg criptografada enviada")
sslsock.close()
sock.close()

I3LCjQs.png

bom galera é isso ate o proximo tutorial \o

by kodo no kami

Edited by kodo no kami

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.