Exemplo SSL Python

Exemplo SSL Python

SSL ou camada de soquete segura é um protocolo de rede muito importante que permite comunicação segura entre um cliente e um servidor. Podemos encontrar seu uso em quase todas as linguagens de programação, no entanto, se falarmos sobre esse artigo em particular, nosso objetivo hoje é ensinar o uso do SSL em Python no Windows 10 compartilhando alguns exemplos úteis com você nesse sentido.

O que é SSL?

Como já afirmamos que o SSL significa camada de soquete segura, portanto, agora tentaremos prosseguir um passo adiante e ver o que é e como funciona. Este protocolo de rede é usado para manter um canal de comunicação seguro, portanto, salvaguardando as informações transferidas de uma extremidade para outra durante uma sessão de comunicação. O SSL garante que todas as informações que sejam trocadas durante uma comunicação devem ficar intactas ao criptografar. Isso não apenas preserva a integridade e a autenticidade dessa informação, mas também garante que um intruso não possa ler essas informações.

Agora, você pode estar pensando em como o SSL consegue fazer tudo isso ou, em outras palavras. Bem, o SSL faz isso com a ajuda de certificados que emite em todos os sites que desejam protegê -los com este protocolo. Todos os sites garantidos por este protocolo têm alguns atributos específicos associados a eles. Por exemplo, você notará um "https" em seu URL em vez de um simples "http". Além disso, você também poderá testemunhar um ícone de "trava" com seus URLs se eles estiverem protegidos com SSL.

Até agora, você teria construído um entendimento básico de SSL. Agora, vamos ver como podemos usar esse protocolo em Python no Windows 10.

Usando SSL em Python no Windows 10

Decidimos explicar a você o uso do SSL em Python no Windows 10 com a ajuda de dois exemplos diferentes. Esses dois exemplos são deliberados em detalhes abaixo:

Observação: Ambos os dois exemplos a seguir são implementados em Python usando o Spyder IDE no Windows 10.

Exemplo # 1: Verificação do certificado SSL de um site em Python no Windows 10

Neste exemplo, queríamos verificar se o site especificado tem um certificado SSL válido ou não. No entanto, antes de prosseguir com este exemplo, gostaríamos de compartilhar com você o que queremos dizer com um certificado SSL "válido". Cada certificado SSL tem uma data de emissão e uma data de validade conectada a ele. Isso significa que nenhum certificado SSL permanece válido por uma vida inteira, em vez de sua validade depende dessa data de validade.

Às vezes, um site tem um certificado SSL. No entanto, sua data de validade pode ter passado, o que teria tornado esse certificado SSL inválido. Portanto, sempre que falamos sobre a verificação de um certificado SSL, não apenas queremos verificar se um site é certificado ou não, mas também se esse certificado é válido ou não. Para verificar o certificado SSL de um site usando o Python, você pode escrever um código semelhante como o mostrado na imagem a seguir:

Neste programa, primeiro importamos o módulo Python "Solicitações" que vamos usar em nosso código para verificar o certificado SSL do site fornecido. Depois de importar este módulo, declaramos uma variável “resposta”E atribuído a ele o valor recuperado do“solicitações de.pegar()”Função. Esta função precisa de um único argumento e esse é o URL do site desejado cujo certificado você deseja verificar. Esta função simplesmente verificará se este site tem um certificado SSL válido ou não.

Depois disso, simplesmente queríamos imprimir o valor do “resposta”Variável que será“200”No caso de um certificado SSL válido. ““200"Basicamente corresponde a um"OK”Mensagem que implica que o site especificado possui um certificado SSL válido. O URL que fornecemos neste exemplo é o do Google. Para descobrir se o Google tem um certificado SSL válido ou não, você terá que executar este código depois de salvá -lo.

Quando executamos esse código, conseguimos descobrir que o Google tem um certificado SSL válido desde que recebemos a resposta "200" em nossa saída, como mostrado na imagem abaixo:

Agora, testaremos o mesmo código com um site aleatório para o qual já sabíamos que ele tem um certificado SSL inválido. O código mostrado na imagem a seguir descreve o seguinte:

Como este site em particular não possuía um certificado SSL válido, recebemos algumas mensagens de erro na saída, como mostrado na imagem abaixo. Para visualizar todos os detalhes da saída, você pode simplesmente rolar para cima ou para baixo através do seu console do Spyder IDE.

Exemplo # 2: adquirindo o certificado SSL de um site em Python no Windows 10

No exemplo acima, verificamos apenas se um site tem um certificado SSL válido ou não. No entanto, às vezes, também podemos querer ver o certificado SSL de um site. Para isso, teremos que adquirir esse certificado SSL de alguma forma. Isso pode ser feito com a ajuda do seguinte código Python:

Neste programa, primeiro importamos os dois módulos Python necessários i.e. ““ssl" e "urllib”. Depois de importar esses dois módulos, criamos uma variável “Url”Para o qual atribuímos o URL do site de destino cujo certificado SSL queríamos adquirir. No nosso caso, o URL é do Google. Então, criamos uma variável chamada “addrAo qual atribuímos o URL analisado que acabamos de atribuir ao “url" variável. Depois disso, declaramos o “porta”Variável para a qual atribuímos o valor“ 443 ”. Aqui, gostaríamos de lhe dizer que "443" é a porta padrão usada para todos os tipos de transações garantidas. Portanto, não importa qual certificado SSL do site você deseja adquirir, você ainda terá que fornecer o mesmo número de porta.

Então, temos um “cert”Variável para a qual atribuímos os resultados do“ssl.get_server_certificate ()”Função. Esta função aceita o URL analisado, o número da porta e a versão SSL como entrada e retorna o certificado SSL completo do site de destino como uma saída. Finalmente, queríamos imprimir o valor da variável "cert" no console do Spyder IDE. Para recuperar o certificado SSL do site especificado, primeiro salvamos este script python e depois o executamos.

O certificado SSL do site de destino é mostrado na imagem abaixo, que no nosso caso foi o Google. No entanto, você pode trocá -lo com qualquer outro site de sua escolha também.

Conclusão

Esta discussão começou com uma rápida introdução ao SSL e como esse protocolo funciona. Em seguida, apresentamos você aos certificados SSL emitidos para verificar a segurança de um site. Depois disso, compartilhamos com você dois exemplos muito simples, mas muito informativos, que usam esse protocolo no Python no Windows 10. No geral, uma vez que você passar por este artigo, você desenvolverá uma boa compreensão do trabalho do SSL em Python no Windows 10.