java.lang.Object
br.ufsc.labsec.signature.signer.a3.psc.PSC
Direct Known Subclasses:
GovBR, Safeweb, Soluti

public abstract class PSC
extends Object
Especifica os métodos necessários para a integração com Prestadores de Serviço de Confiança
See Also:
doc-icp 17
  • Field Details

    • clientId

      public final String clientId
    • clientSecret

      public final String clientSecret
    • urlBase

      protected static final URI urlBase
    • CLOUD_ACCESS_TOKEN

      protected static final String CLOUD_ACCESS_TOKEN
      See Also:
      Constant Field Values
    • redirectApi

      protected static final URI redirectApi
    • hostOauth

      protected final String hostOauth
    • hostCloud

      protected final String hostCloud
    • scheme

      protected static final String scheme
      See Also:
      Constant Field Values
    • authEndpoint

      protected static final String authEndpoint
      See Also:
      Constant Field Values
    • tokenEndpoint

      protected static final String tokenEndpoint
      See Also:
      Constant Field Values
    • certificateEndpoint

      protected final String certificateEndpoint
    • signatureEndpoint

      protected final String signatureEndpoint
  • Constructor Details

  • Method Details

    • getOauthPath

      protected String getOauthPath()
    • getCloudPath

      protected String getCloudPath()
    • getAuthEndpoint

      public String getAuthEndpoint()
      Obtém o endpoint para a etapa de autenticação do ciclo OAuth 0
      Returns:
      String do endpoint a ser acessado Ex.: /Service/Microservice/OAuth/api/v0/oauth/authorize
    • getTokenEndpoint

      public String getTokenEndpoint()
      Obtém o endpoint para a etapa de obteção do token do ciclo OAuth 0
      Returns:
      String do endpoint a ser acessado Ex.: /Service/Microservice/OAuth/api/v0/oauth/token
    • getCertificateEndpoint

      public String getCertificateEndpoint()
      Obtém o endpoint para a etapa de resgate do certificado
      Returns:
      String do endpoint a ser acessado Ex.: /Service/Microservice/OAuth/api/v0/oauth/certificate-discovery
    • getSignatureEndpoint

      public String getSignatureEndpoint()
      Obtém o endpoint para a etapa de assinatura
      Returns:
      String do endpoint a ser acessado Ex.: /Service/Microservice/OAuth/api/v0/oauth/signature
    • getClientId

      public String getClientId()
      Obtém o Id da aplicação do assinador no PSC
      Returns:
      String com o Id da nossa aplicação
    • getClientSecret

      public String getClientSecret()
      Obtém a senha da aplicação do assinador no PSC
      Returns:
      String com a senha da nossa aplicação
    • getRedirectApi

      public String getRedirectApi()
    • getSupportedAlgorithms

      public abstract List<String> getSupportedAlgorithms()
      Obtém os algoritmos de assinatura providos pelo PSC
      Returns:
      Lista de algoritmos suportados
    • isGovBr

      public boolean isGovBr()
    • getAccessTokenParams

      protected String getAccessTokenParams​(String code, String verifier)
      Constrói os parâmetros da requisição que será utilizada para obter um token, que dá acesso ao certificado digital do usuário por um determinado tempo
      Parameters:
      code - Código de autorização gerado pelo PSC
      verifier - Correspondendo ao code_challenge enviado na requisição do código de autorização
      Returns:
      Os parâmetros da requisição do token em formato de query string, assim como indicado na DOC-ICP-17.
    • getAccessTokenBodyString

      public abstract String getAccessTokenBodyString​(String code, String verifier)
      Gera a string do body da requisição que será utilizada para obter um token, que dá acesso ao certificado digital do usuário por um determinado tempo
      Parameters:
      code - Código de autorização gerado pelo PSC
      verifier - Correspondendo ao code_challenge enviado na requisição do código de autorização
      Returns:
      String do conteúdo do body da requisição do token.
    • getTokenEndpointURI

      public String getTokenEndpointURI​(String code, String verifier)
      Cria a URL que será utilizada na requisição para obter um token, que dá acesso ao certificado digital do usuário por um determinado tempo
      Parameters:
      code - Código de autorização gerado pelo PSC
      Returns:
      A URL com o payload