O que é certificado SSL?
SSL (Secure Sockets Layer) é um protocolo de segurança padrão para estabelecer uma conexão segura entre o servidor e o cliente que é um navegador.
O certificado SSL (Secure Socket Layer) garante a transformação segura de dados no servidor e no aplicativo cliente usando um padrão de criptografia forte ou assinatura digital. É necessário instalar um certificado SSL ou um certificado de assinatura de código.
Neste tutorial, você aprenderá-
- O que é certificado SSL?
- Benefícios do certificado SSL
- Como o certificado SSL cria uma conexão segura
- Tipos de certificados SSL
- Como os certificados SSL são verificados
- Tipos de erro de certificado SSL
- Como lidar com o erro de certificado SSL usando o Selenium Webdriver
- Tratamento de erros de certificado SSL no Firefox
- Tratamento de erros de certificado SSL no Chrome
- Tratamento de erros de certificado SSL no IE
Benefícios do certificado SSL
Existem vários benefícios de usar o certificado SSL, como,
- Pode-se aumentar a confiança de seus usuários e clientes para aumentar o crescimento do negócio rapidamente
- Esses certificados ajudam a proteger as transações online e as informações confidenciais dos clientes, como dados de cartão de crédito / débito, etc.
- O certificado de assinatura tende a obter um número máximo de downloads e boas críticas dos usuários.
Os sites protegidos por SSL começam com https: // e você pode ver um ícone de cadeado ou uma barra de endereço verde se a conexão for estabelecida com segurança.
Por exemplo, se você deseja fazer alguma transação via net banking ou deseja comprar um telefone celular através de um site de e-commerce como Flipkart ou Amazon.
O que acontece entre o navegador da web e o servidor
- Um navegador tenta se conectar a um site protegido por SSL. O navegador solicita que o servidor da web se identifique
- O servidor envia ao navegador uma cópia de seu certificado SSL
- O navegador verifica se o certificado SSL é genuíno. Em caso afirmativo, ele envia uma mensagem para o servidor
- O servidor envia de volta uma confirmação assinada digitalmente para iniciar uma sessão criptografada SSL
- Os dados criptografados são compartilhados entre o servidor e o navegador
Ao fazer isso, você precisa transmitir informações confidenciais, como números de cartão de crédito ou credenciais de login, e isso deve ser transmitido com segurança para que não possa ser hackeado ou interceptado.
Por exemplo
- Digite https://netbanking.hdfcbank.com/netbanking/ .
- Pressione Enter.
- Você verá uma barra de endereço verde no navegador conforme abaixo: -
Como o certificado SSL cria uma conexão segura
- O navegador envia uma solicitação HTTPS ao servidor.
- Agora o servidor deve fornecer alguma identificação ao navegador para provar que ele é confiável. Isso pode ser feito enviando uma cópia de seu certificado SSL para o navegador.
- Cada navegador tem sua própria lista de CAs confiáveis. O navegador verifica a raiz do certificado em sua lista de CAs confiáveis e se o certificado não expirou, não foi revogado e se o nome comum é válido para o site ao qual está se conectando.
- Se o navegador confiar no certificado, uma sessão criptografada será criada entre o servidor e o navegador.
- O servidor e o navegador podem enviar mensagens criptografadas
Tipos de certificados SSL
O navegador e o servidor usam o mecanismo de certificado SSL para estabelecer uma conexão segura. Esta conexão envolve a verificação de três tipos de certificados.
- Raiz
- Intermediário
- Certificado de Servidor
Processo de obtenção de certificado SSL
O processo de obtenção do certificado SSL inclui as etapas abaixo: -
- Primeiro, você deve criar uma solicitação CSR (criar uma Solicitação de Assinatura de Certificado).
- A solicitação CSR cria um arquivo de dados CSR, que é enviado ao emissor do certificado SSL conhecido como CA (Autoridade de Certificação).
- A CA usa os arquivos de dados CSR para criar o certificado SSL para o seu servidor.
- Depois de receber o certificado SSL, você deve instalá-lo em seu servidor.
- Também é necessário instalar um certificado intermediário que vincule o seu certificado SSL ao certificado raiz da CA.
A imagem abaixo representa todos os três certificados - Root, Intermediate e Server Certificate.
Como os certificados SSL são verificados
O SSL funciona por meio de uma combinação de programas e rotina de criptografia / descriptografia existentes no computador servidor da web e no navegador do servidor web.
O certificado SSL contém basicamente as informações abaixo.
- Assunto que é a identidade do proprietário do site.
- Informações de validade - uma chave pública e uma chave privada.
A chave privada e a chave pública são duas chaves criptográficas (números) relacionadas exclusivamente. O que quer que seja criptografado por uma chave pública só pode ser descriptografado por uma chave privada.
Quando uma conexão segura não é estabelecida entre o servidor e o cliente devido ao certificado, o seguinte erro de certificado SSL será manifestado.
Tipos de erro de certificado SSL
Suponha que você digite alguma solicitação https no navegador e receba uma mensagem como "Esta conexão não é confiável" ou "O certificado de segurança do site não é confiável", dependendo do navegador que você está usando. Então, esse erro está sujeito a erro de certificado SSL.
Agora, se o navegador não conseguir estabelecer uma conexão segura com o certificado solicitado, o navegador lançará a exceção "Conexão não confiável" conforme abaixo e solicitará que o usuário execute a ação apropriada.
Os tipos de erro que você provavelmente verá devido ao certificado em diferentes navegadores podem ser mais ou menos assim
- FireFox - Esta conexão não é confiável
- Google Chrome - a segurança deste site não é confiável
- Internet Explorer (IE) - Este certificado de segurança apresentado por este site não era considerado confiável por uma autoridade de certificação (CA) confiável
Como lidar com o erro de certificado SSL usando o Selenium Webdriver
Suponha que tenhamos escrito alguns scripts de teste e, durante a execução do script, capturamos a situação como "Conexão não confiável" acima, então como tratamos a exceção puramente por meio de automação.
Nesse caso, temos que ajustar nosso script de forma que ele mesmo cuide da Exceção SSL.
Os scripts precisam ser modificados de acordo com o tipo de instância do navegador que estamos usando. Isso quando os recursos desejados entrarem em cena.
Desired Capabilities é usada para configurar a instância do driver do Selenium Webdriver. Por meio de recursos desejados, pode-se configurar todas as instâncias de driver como ChromeDriver, FirefoxDriver e Internet Explorer.
No momento, não temos nenhum URL específico para criar o cenário acima, mas estou fornecendo etapas que podemos adicionar no Selenium Script para lidar com a situação acima "Conexão não confiável".
Tratamento de erros de certificado SSL no Firefox
Para lidar com o erro de certificado SSL no Firefox, precisamos usar os recursos desejados do Selenium Webdriver e seguir as etapas a seguir.
Etapa 1) : Primeiro, precisamos criar um novo perfil do firefox, diga " myProfile ". Você pode consultar o Google para aprender "Como criar" perfil do firefox É simples e fácil.
Etapa 2) : Agora acesse myProfile no script conforme abaixo e crie o objeto FirefoxProfile.
ProfilesIni prof = new ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("myProfile")
Etapa 3) : Agora precisamos definir as propriedades " setAcceptUntrustedCertificates " e " setAssumeUntrustedCertificateIssuer " no perfil do Fire Fox.
ffProfile.setAcceptUntrustedCertificates (true)ffProfile.setAssumeUntrustedCertificateIssuer (false)
Etapa 4) : Agora use o perfil FireFox no objeto do driver FireFox.
Driver WebDriver = novo FirefoxDriver (ffProfile)
Nota : "setAcceptUntrustedCertificates" e "setAssumeUntrustedCertificateIssuer " são recursos para lidar com erros de certificado em navegadores da web.
Tratamento de erros de certificado SSL no Chrome
Para lidar com o erro SSL no Chrome, precisamos usar os recursos desejados do Selenium Webdriver. O código abaixo ajudará a aceitar todos os certificados SSL no Chrome, e o usuário não receberá nenhum erro relacionado ao certificado SSL usando este código.
Precisamos criar uma instância da classe DesiredCapabilities como abaixo: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)Driver WebDriver = novo ChromeDriver (handlSSLErr);
Tratamento de erros de certificado SSL no IE
Ao contrário do manuseio de certificados SSL no navegador Chrome e Firefox, no IE, você pode ter que lidar com isso usando javascript.
Para lidar com o certificado SSL no IE, você pode lidar com essa situação de duas maneiras,
- Para isso, você clicará no link " Continuar neste site (não recomendado)". A seguir, veremos como lidar com erros de SSL no IE.
Observe o erro de certificado SSL no navegador IE, você encontrará o link "Continuar neste site (não recomendado)". Este link tem o ID "link de substituição". Você pode visualizar o ID no modo HTML usando F12.
Clique no link usando o método driver.navigate () com JavaScript como abaixo: -
driver.navigate () .to ("javascript: document.getElementById ('overridelink'). click ()");
- O segundo método é bastante semelhante ao código de manipulação de SSL do Chrome
Capacidades de DesiredCapabilities = new DesiredCapabilities ();resources.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");Driver WebDriver = novo InternetExplorerDriver (recursos);
O código acima ajudará a lidar com erros de certificado SSL no IE.
Resumo:
- SSL (Secure Sockets Layer) é um protocolo de segurança padrão para estabelecer uma conexão segura entre o servidor e o cliente
- O navegador e o servidor usam o mecanismo de certificado SSL para estabelecer uma conexão segura.
- O SSL funciona por meio de uma combinação de programas e rotina de criptografia / descriptografia existentes no computador servidor da web e no navegador do servidor web.
- Quando a conexão segura não é estabelecida entre o servidor e o cliente devido a um certificado, um erro de certificado SSL ocorrerá
- É necessário ajustar nosso script de forma que ele cuide da exceção / erro SSL por si só através do driver da Web Selenium.