Ir para o conteúdo principal
Voltar para POWERB WORKBENCH
TUTORIAL · POWERB

Como configurar o login SSO com certificado de cliente no PowerB

PowerB POWERB WORKBENCH

O PowerB pode autenticar usuários de uma station por meio de certificados de cliente, permitindo acesso SSO sem a digitação da senha do usuário da station.

Neste procedimento, o certificado será criado no próprio PowerB, assinado, associado ao usuário e exportado em PKCS#12 para instalação no computador que fará o acesso.

Compatibilidade

A autenticação por certificado de cliente está disponível no Niagara a partir da versão 4.8. O módulo clientCertAuth deve estar instalado na station. Os nomes e a disposição de alguns campos podem variar conforme a versão do PowerB.

1. Antes de iniciar

Módulo clientCertAuth instalado

Confirme que o módulo está disponível na station e pode ser localizado pela palette clientCertAuth.

Acesso administrativo à station

O procedimento exige acesso ao CertManagerService, AuthenticationService e UserService.

Acesso web seguro

A station deve possuir o WebService configurado para acesso por HTTPS.

Usuário previamente criado

O usuário que fará login com certificado deve existir no UserService e possuir as permissões adequadas.

2. Como funciona a autenticação por certificado

O computador cliente mantém o certificado juntamente com sua chave privada, enquanto a station associa o certificado correspondente ao usuário Niagara.

ElementoFunção
Certificado públicoIdentifica o usuário e pode ser associado ao Authenticator na station.
Chave privadaComprova a posse da identidade e deve permanecer protegida.
CSRCertificate Signing Request enviada a uma autoridade certificadora para assinatura.
CACertificate Authority responsável por assinar e estabelecer confiança no certificado.
PKCS#12Pacote usado para transportar certificado e chave privada, normalmente protegido por senha.
Fluxo utilizado neste tutorial

Gerar certificado → gerar CSR → assinar com uma CA → importar o certificado assinado → exportar em PKCS#12 → instalar no computador → configurar ClientCertAuthScheme → associar ao usuário → acessar a station.

3. Gerar o certificado de cliente

  1. Abra o CertManagerService

    Na station, acesse Services → PlatformServices → CertManagerService.

  2. Crie um novo certificado

    Clique em New para iniciar a criação do certificado.

    Criação de certificado no CertManagerService
    Início da criação de um novo certificado no CertManagerService.
  3. Preencha os campos obrigatórios

    Complete os campos identificados como (required) com as informações correspondentes ao usuário ou à finalidade do certificado.

  4. Defina o uso como Client

    Em Certificate Usage, marque Client. Para certificados emitidos externamente, confirme também que o uso estendido é compatível com autenticação TLS de cliente.

    Certificate Usage configurado como Client
    Seleção de Client em Certificate Usage.
  5. Proteja a chave privada

    Crie uma senha para a Private Key e armazene-a de forma segura.

    Senha da chave privada
    Criação da senha de proteção da Private Key.
  6. Aguarde a geração

    Conclua o processo e aguarde a criação do certificado.

    Certificado criado
    Certificado após a geração no PowerB.
Proteja a chave privada

A chave privada comprova a posse do certificado. Não distribua arquivos PKCS#12 e suas senhas por canais inseguros.

4. Gerar a requisição de assinatura — CSR

  1. Exporte a requisição

    Selecione o certificado e clique em Cert Request.

    Comando Cert Request
    Seleção do certificado para gerar a Certificate Signing Request.
  2. Informe a senha da chave privada

    Digite a senha criada anteriormente.

    Solicitação de senha para CSR
    Validação da Private Key antes da exportação da CSR.
  3. Salve o arquivo CSR

    Salve a requisição utilizando a extensão .csr.

    Salvamento do arquivo CSR
    Exportação da Certificate Signing Request para arquivo .csr.

5. Assinar o certificado

O certificado precisa ser assinado por uma Certificate Authority (CA). No fluxo utilizado pela Mercato, a assinatura é realizada com as ferramentas disponíveis no PowerB.

Trust Store e assinatura são funções diferentes

Um Trust Store armazena certificados confiáveis. Para assinar uma CSR é necessário utilizar uma CA e a respectiva chave privada de assinatura.

  1. Abra o Certificate Signer Tool

    Acesse Tools → Certificate Signer Tool.

    Certificate Signer Tool
    Acesso à ferramenta utilizada para assinar a CSR.
  2. Selecione a CSR

    Clique no ícone de pasta e localize o arquivo .csr.

    Seleção da CSR
    Carregamento do arquivo .csr para assinatura.
  3. Assine e salve o certificado

    Selecione a CA utilizada no projeto, informe a senha quando solicitado e salve o certificado assinado no formato PEM.

    Assinatura da CSR
    Conclusão da assinatura e exportação em PEM.
Alternativa: PKI corporativa

Em ambientes com infraestrutura corporativa de certificados, a CSR pode ser encaminhada ao setor de TI para assinatura pela CA da organização. Retome este procedimento quando receber o certificado assinado e siga a política de PKI definida pela empresa.

6. Importar o certificado assinado no User Key Store

  1. Importe o certificado

    Clique em Import e selecione o certificado PEM assinado.

    Importação do certificado assinado
    Seleção do certificado assinado para importação no PowerB.
  2. Informe a senha da Private Key

    Digite a senha da chave privada utilizada na criação do certificado.

    Senha da chave privada
    Validação da chave privada durante a importação.
  3. Confirme o certificado assinado

    Verifique se o certificado aparece corretamente após a importação.

    Certificado assinado disponível
    Certificado disponível após a importação da assinatura.

7. Exportar o certificado para PKCS#12

O computador do usuário precisa receber o certificado juntamente com a chave privada. Exporte o certificado em PKCS#12.

  1. Exporte o certificado assinado

    Selecione o certificado, clique em Export e escolha o formato PKCS#12.

  2. Inclua certificado e chave privada

    Marque Export the public certificate e Export the private key. Proteja o arquivo com senha e salve-o com extensão .p12 ou .pfx.

    Exportação em PKCS#12
    Exportação do certificado público e da chave privada em um pacote PKCS#12.

8. Instalar o certificado no computador do usuário

Neste exemplo, o acesso é feito em Windows com navegador baseado em Chromium. O certificado será instalado no repositório de certificados do Windows.

Outros navegadores e sistemas operacionais

O procedimento pode variar. Alguns navegadores e sistemas utilizam repositórios próprios.

  1. Abra o gerenciamento de certificados

    No navegador Chromium utilizado neste cenário, acesse as configurações de privacidade e segurança e abra o gerenciamento dos certificados do Windows.

    Gerenciamento de certificados no Chromium
    Acesso ao gerenciamento de certificados utilizados pelo navegador.
  2. Inicie a importação

    No assistente do Windows, clique em Importar e avance.

    Assistente de importação do Windows
    Início do assistente de importação.
    Continuação do assistente
    Etapa seguinte do assistente de importação.
  3. Selecione o arquivo

    Localize o arquivo .p12 ou .pfx exportado anteriormente.

    Seleção do arquivo PKCS#12
    Seleção do pacote contendo certificado e chave privada.
  4. Informe a senha

    Digite a senha utilizada para proteger o arquivo.

    Senha do certificado no Windows
    Informação da senha de proteção do arquivo PKCS#12.
  5. Conclua a importação

    Utilize o repositório Pessoal quando indicado pelo Windows e conclua o assistente.

9. Adicionar o ClientCertAuthScheme na station

  1. Abra a palette clientCertAuth

    Procure por clientCertAuth na sidebar de palettes.

  2. Adicione o esquema de autenticação

    Arraste ClientCertAuthScheme para Authentication Schemes dentro do AuthenticationService.

10. Associar o certificado ao usuário

  1. Altere o Authentication Scheme Name

    No UserService, abra o usuário e altere Authentication Scheme Name para ClientCertAuthScheme. Confirme as mensagens apresentadas.

    ClientCertAuthScheme associado ao usuário
    Configuração do Authentication Scheme Name no UserService.
  2. Selecione o certificado no Authenticator

    Abra novamente o usuário e, em Authenticator, selecione o certificado público assinado correspondente ao certificado instalado no computador.

    Certificado no Authenticator
    Associação do certificado ao usuário que fará login por certificado.
Certificado e usuário ficam vinculados

A station utiliza o certificado configurado no Authenticator para identificar o usuário. O cliente precisa apresentar o certificado correspondente e possuir sua chave privada.

11. Reiniciar os serviços

Após alterar o esquema de autenticação, reinicie o FoxService e o WebService. A forma mais simples é reiniciar a station.

Reinicialização da station
Reinicie a station para aplicar as alterações no FoxService e WebService.

12. Fazer login usando o certificado

  1. Acesse a station por HTTPS

    Abra o endereço HTTPS configurado para a station. Quando o navegador solicitar um certificado de cliente, selecione o certificado correspondente ao usuário.

    Seleção do certificado no navegador
    Escolha do certificado apresentado à station durante a conexão HTTPS.
  2. Selecione Log in with SSO

    Na página de autenticação, clique em Log in with SSO. O texto desse botão pode ser personalizado no AuthenticationService.

    Opção Log in with SSO
    Login utilizando o esquema de autenticação por certificado.
  3. Confirme o acesso

    Se o certificado apresentado corresponder ao Authenticator configurado para o usuário, a station deverá concluir a autenticação sem solicitar a senha desse usuário.

    Station acessada por SSO
    Exemplo de acesso concluído após autenticação por certificado.
Critério de sucesso

O procedimento está concluído quando o navegador apresenta o certificado correto, o usuário seleciona Log in with SSO e a station autentica a identidade associada sem solicitar a senha do usuário Niagara.

13. Se a autenticação não funcionar

ComportamentoO que verificar
ClientCertAuthScheme não aparece.Confirme a instalação do módulo clientCertAuth.
O navegador não oferece o certificado.Confirme a instalação do PKCS#12, a presença da chave privada, o acesso por HTTPS e reinicie o navegador se necessário.
O certificado aparece, mas o login é recusado.Compare o certificado apresentado pelo cliente com o certificado configurado no Authenticator.
O certificado é considerado inválido.Revise validade, cadeia de assinatura, confiança na CA e uso do certificado para autenticação de cliente.
O usuário continua usando o login convencional.Revise o Authentication Scheme Name do usuário.
A alteração não surtiu efeito.Reinicie WebService e FoxService ou a station.
O navegador mantém uma seleção anterior.Feche a sessão, reinicie o navegador ou utilize uma nova sessão para repetir a seleção do certificado.
O acesso deixou de funcionar após algum tempo.Verifique a validade do certificado e a necessidade de renovação.

14. Boas práticas de segurança

  • Utilize HTTPS para o acesso web à station.
  • Proteja arquivos PKCS#12 com senha forte e controle sua distribuição.
  • Não compartilhe a chave privada entre usuários sem uma política definida.
  • Defina validade e processo de renovação para os certificados.
  • Substitua certificados associados a usuários que não devam mais acessar o sistema.
  • Em ambientes com PKI corporativa, siga os requisitos definidos pelo setor de TI.
A autenticação não substitui as permissões do usuário

O certificado determina como a identidade é autenticada. As permissões continuam sendo definidas por usuários, Roles, Categories e Permissions.

SUPORTE

Ainda precisa de ajuda?

Entre em contato com o suporte técnico da Mercato. Para agilizar o atendimento, informe o equipamento, produto ou sistema relacionado e descreva brevemente a dúvida ou o problema encontrado.

Falar com o suporte no WhatsApp→

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo