Recomendado. Um valor opaco usado pela aplicação para manter o estado entre a requisição e a resposta. O serviço de autorização incluirá
este valor ao redirecionar o módulo do usuário de volta ao endereço da aplicação. Este parâmetro deverá ser usado para prevenir ataques de
falsificação de requisições entre sites (cross-site request forgery).
lifeme: opcional, indica o tempo de vida desejado para o token a ser gerado. Inteiro, em segundos;
scope: opcional, se não informado, será considerado "authencaon_session". (ver lista de escopos abaixo). Possíveis valores para o parâmetro:
single_signature: token que permite a assinatura de apenas um conteúdo (hash), sendo invalidado apos a sua ulização;
mul_signature: token que permite a assinatura de múlplos hashes em uma única requisição, sendo invalidado apos a sua ulização;
signature_session: token de sessão OAuth que permite várias assinaturas em várias chamadas a API, desde que o token esteja dentro do
prazo de validade ou que não tenha sido revogado pela aplicação ou pelo usuário;
authencaon_session: token de sessão OAuth para autencação do tular, não permindo a realização de assinaturas ou outras ulizações
da chave privada.
code_challenge: obrigatório, ver RFC 7636
code_challenge_method: obrigatório, valor “S256” (ver RFC 7636).
login_hint: opcional, valor de CPF ou CNPJ a ser informado como filtro para seleção do cerficado a ser ulizado.
b) Resposta da Requisição de Código de Autorização:
Se o usuário autorizar a solicitação, o PSC emite um código de autorização com tempo de validade curto e retorna para aplicação cliente com uma URI de
redirecionamento contendo os seguintes parâmetros no componente hp query, usando o formato "applicaon/x-www-form-urlencoded":
code: obrigatório, código de autorização gerado pelo PSC, a ser usado na solicitação do token de acesso.
state: obrigatório caso tenha sido informado na requisição, deverá conter o que foi enviado na requisição.
Se o usuário não autorizar a solicitação, o PSC retorna para aplicação cliente através de sua redirect_uri os seguintes parâmetros via hp query, usando o
formato "applicaon/x-www-form-urlencoded":
error: obrigatório, com o valor “user_denied”;
state: obrigatório caso tenha sido informado na requisição, deverá conter o que foi enviado na requisição.
6.4.5.1.2 ….……………………………………….....................
.................................................................................
6.4.5.2 Assinatura
Os parâmetros com conteúdo a ser assinado e assinaturas deverão conter valores em Base64.
As assinaturas RAW estarão em Base64.
Assinaturas CMS estarão em formato CMS PEM de acordo com RFC 7468: o cabeçalho e rodapé CMS são obrigatórios; quebra de linha e espaços no conteúdo
são opcionais; e as aplicações devem estar preparadas para lidar com diferentes formas de espaços e quebra de linhas no conteúdo, ou com a ausência destes.
Se o escopo do token permir apenas uma assinatura (single_signature) e for informado mais de um conteúdo, uma mensagem de erro deve ser retornada.
Se o escopo for omido ou assinalado para autencação (authencaon_session) uma mensagem de erro deve ser retornada.
a) Solicitação
• Path: <URI-base>/oauth/signature
• Método HTTPS: POST
• Cabeçalho
◦ Content-type: applicaon/json;
◦ Accept : applicaon/json;
◦ Authorizaon: Bearer access_token;
• Parâmetros: formato "applicaon/json;charset=UTF-8" :
▪ cerficate_alias: opcional, idenficador do cerficado correspondente à chave ulizada na assinatura;
▪ hashes: conjunto com valores obrigatórios a serem assinados. Cada elemento do conjunto conterá:
• id: idenficador do conteúdo a ser assinado;
• alias: forma legível do idenficador do conteúdo;
• hash: conteúdo a ser assinado;
• hash_algorithm: Object Idenfier (OID) do algoritmo de hash. Por exemplo, para SHA256 ulize o OID 2.16.840.1.101.3.4.2.1;
• signature_format: deverá conter um dos valores:
◦ RAW,
◦ CMS.
Exemplo
……………………………………………………..
.........................................................
b) Resposta da Requisição de Assinatura:
O PSC retornará a requisição com sucesso, via HTTP Status Code 200.
Parâmetros: formato "applicaon/json;charset=UTF-8":
cerficate_alias: obrigatório, idenficador do cerficado correspondente à chave ulizada na assinatura;
signatures: obrigatório, conjunto com idenficadores dos conteúdos assinados e valores assinados. Cada elemento do conjunto conterá:
id: idenficador do conteúdo assinado;
Um dos formatos abaixo:
caso a solicitação tenha sido feita com “signature_format : RAW”