Pular para conteúdo

Recuperação de certificado

Realiza a recuperação do certificado autorizado pelo titular.


GET /certificate-discovery

Solicitação

A aplicação deve solicitar ao endpoint de recuperação de certificado do PSC SerproID, https://serproid.serpro.gov.br/oauth/v0/oauth/certificate-discovery. O token de acesso gerado em Token de Acesso deverá ser enviado via HTTP Header no parâmetro Authorization.

Parâmetros

HEADER:

  • Authorization - (string) - valor "Bearer <access_token>", onde <access_token> se refere ao token de acesso obtido em Token de Acesso

Exemplo

O exemplo encontra-se com quebras de linha e espaços para melhor leitura

GET /oauth/v0/oauth/certificate-discovery HTTP/1.1
Host: serproid.serpro.gov.br
Authorization: Bearer <token_de_acesso>
curl -X GET \
https://serproid.serpro.gov.br/oauth/v0/oauth/certificate-discovery \
-H 'Authorization: Bearer <token_de_acesso>'

Resposta da solicitação

O PSC SerproID irá retornar o Base64 do certificado que o usuário autorizou no processo de solicitação de autorização.

Solicitação válida (Sucesso)

Se a solicitação estiver válida, o PSC SerproID irá retornar a solicitação com HTTP code 200 no formato application/json.

Parâmetros

JSON:

  • status - (string) - valor fixo "S"
  • certificates- (string) - lista contendo o Base64 do certificado autorizado pelo titular
    • alias- (string) - identificador do certificado
    • certificate- (string) - Base64 do certificado
Exemplo
HTTP/1.1 200 OK
Content-Type: application/json

{
    "status": "S",
    "certificates": [
        {
            "alias":  "<identificador_do_certificado>",
            "certificate": "-----BEGIN CERTIFICATE-----\n{base64_do_certificado}\n-----END CERTIFICATE-----”
        }
    ]
}

Solicitação inválida (Erro)

Se a solicitação for considerada inválida, seja devido a verificação dos parâmetros informados ou caso algum erro inesperado aconteça, o PSC SerproID retornará um erro no formato application/json com o HTTP code correspondente ao tipo do erro.

Parâmetros

JSON:

  • code - (string) - código do tipo do erro
  • msg- (string) - mensagem de erro
  • debug - (string) - informações adicionais sobre o erro
Exemplo
HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
    "code": "TOKEN_DE_ACESSO_INVALIDO",
    "msg": "Token de acesso não informado, inválido ou expirado",
    "debug": ""
}
Lista de erros
Tipo do erro HTTP Code Detalhes
TOKEN_DE_ACESSO_INVALIDO 401 Token de acesso não informado, inválido ou expirado
CERTIFICATE_DISCOVERY_FAIL 500 Falha no processo de recuperação de certificado.