bioshock Posted November 9, 2022 at 01:51 AM Report #628053 Posted November 9, 2022 at 01:51 AM (edited) On 11/7/2022 at 7:52 PM, zeph said: Tens de ter a Assinatura digital como atributo, logo claro que tive aprovação Ora, mesmo após aprovação em pré-produção continua sem funcionar no meu caso. O erro retornado é o mesmo. [ ['name' => 'http://interop.gov.pt/MDC/Cidadao/NIC', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/NomeProprio', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/NomeApelido', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/DataValidade', 'value' => '07-08-2031', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/DataNascimento', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/SAFE/createSignatureAccount?enterpriseNipc=....', 'value' => '{"error":"Bad Request","error_description":"No response found for this OAuthToken"}', 'state' => 'Available'] ] Sendo que o que estou a enviar é o seguinte: https://preprod.autenticacao.gov.pt/oauth/askauthorization?client_id=[VALOR_RECEBIDO_NO_1º_EMAIL_AMA]& scope=http://interop.gov.pt/MDC/Cidadao/NomeProprio%20 http://interop.gov.pt/MDC/Cidadao/NIC%20 http://interop.gov.pt/MDC/Cidadao/NomeProprio%20 http://interop.gov.pt/MDC/Cidadao/NomeApelido%20 http://interop.gov.pt/MDC/Cidadao/DataValidade%20 http://interop.gov.pt/MDC/Cidadao/DataNascimento%20 http://interop.gov.pt/SAFE/createSignatureAccount?enterpriseNipc=[NIF_EMPRESA_TESTES] &email=[EMAIL_EMPRESA_TESTES] &expirationDate=2022-12-24 &signaturesLimit=450000 &creationClientName=[NOME_SOFT_FACTURACAO] &response_type=token EDIT: Ok, parece que tinha de "Adicionar um certificado" e agora está em pendente, vou ter de aguardar novamente 😒, será que é autorizado automaticamente ou tenho de enviar outro email? EDIT 2: O certificado parece que entretanto foi automaticamente activado, mas o problema persiste. Edited November 9, 2022 at 02:11 AM by bioshock
zeph Posted November 9, 2022 at 08:45 AM Report #628054 Posted November 9, 2022 at 08:45 AM On 11/9/2022 at 1:51 AM, bioshock said: Ora, mesmo após aprovação em pré-produção continua sem funcionar no meu caso. O erro retornado é o mesmo. [ ['name' => 'http://interop.gov.pt/MDC/Cidadao/NIC', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/NomeProprio', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/NomeApelido', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/DataValidade', 'value' => '07-08-2031', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/MDC/Cidadao/DataNascimento', 'value' => '...', 'state' => 'Available'], ['name' => 'http://interop.gov.pt/SAFE/createSignatureAccount?enterpriseNipc=....', 'value' => '{"error":"Bad Request","error_description":"No response found for this OAuthToken"}', 'state' => 'Available'] ] Sendo que o que estou a enviar é o seguinte: https://preprod.autenticacao.gov.pt/oauth/askauthorization?client_id=[VALOR_RECEBIDO_NO_1º_EMAIL_AMA]& scope=http://interop.gov.pt/MDC/Cidadao/NomeProprio%20 http://interop.gov.pt/MDC/Cidadao/NIC%20 http://interop.gov.pt/MDC/Cidadao/NomeProprio%20 http://interop.gov.pt/MDC/Cidadao/NomeApelido%20 http://interop.gov.pt/MDC/Cidadao/DataValidade%20 http://interop.gov.pt/MDC/Cidadao/DataNascimento%20 http://interop.gov.pt/SAFE/createSignatureAccount?enterpriseNipc=[NIF_EMPRESA_TESTES] &email=[EMAIL_EMPRESA_TESTES] &expirationDate=2022-12-24 &signaturesLimit=450000 &creationClientName=[NOME_SOFT_FACTURACAO] &response_type=token EDIT: Ok, parece que tinha de "Adicionar um certificado" e agora está em pendente, vou ter de aguardar novamente 😒, será que é autorizado automaticamente ou tenho de enviar outro email? EDIT 2: O certificado parece que entretanto foi automaticamente activado, mas o problema persiste. Envia email para eles. Parece-me que há aí algum problema com a conta
bioshock Posted November 9, 2022 at 04:28 PM Report #628066 Posted November 9, 2022 at 04:28 PM (edited) On 11/9/2022 at 8:45 AM, zeph said: Envia email para eles. Parece-me que há aí algum problema com a conta Havia duas anomalias: Não estava a utilizar $ mas sim & no URL Faltava-me o campo que me tinhas dito enterpriseAdditionalInfo Neste momento já não dá erro, mas o valor devolvido no parâmetro createSignatureAccount é vazio. Aqui acredito que entra aquela história de "tens de esperar 15 segundos para validar se está disponível". Bem, eu espero 30 segundos antes de validar e dá-me sempre vazio o atributo. Se chamar este endpoint várias vezes após 30 segundos (ou mais) https://preprod.autenticacao.gov.pt/OAuthResourceServer/Api/AttributeManager?token={$token}&authenticationContextId={$authenticationContextId} devolve-me sempre o mesmo resultado. Edited November 9, 2022 at 04:28 PM by bioshock 1 Report
bioshock Posted November 9, 2022 at 06:29 PM Report #628069 Posted November 9, 2022 at 06:29 PM Asério que complicação 🤣 A chamada ao URL https://preprod.autenticacao.gov.pt/OAuthResourceServer/Api/AttributeManager?token={$token}&authenticationContextId={$authenticationContextId} devolve-me tudo OK, excepto o parâmetro createSignatureAccount que vem vazio, é suposto? Consigo executar o URL https://pprsafe.autenticacao.gov.pt/info em cURL POST com as credenciais clientTest:Test em base64 e diz que em termos de assinatura tá OK Consigo executar o URL https://pprsafe.autenticacao.gov.pt/credentials/list, mas obrigou-me a ir ao site, manualmente, buscar o AccessToken do certificado que criei lá. Toda a gente tem de fazer isto (e por sua vez gravar no software) ou só a empresa que desenvolve o software? Alguém me consegue ilucidar?
Nel Posted November 9, 2022 at 07:59 PM Report #628071 Posted November 9, 2022 at 07:59 PM Em 09/11/2022 às 18:29, bioshock disse: Asério que complicação 🤣 A chamada ao URL https://preprod.autenticacao.gov.pt/OAuthResourceServer/Api/AttributeManager?token={$token}&authenticationContextId={$authenticationContextId} devolve-me tudo OK, excepto o parâmetro createSignatureAccount que vem vazio, é suposto? Consigo executar o URL https://pprsafe.autenticacao.gov.pt/info em cURL POST com as credenciais clientTest:Test em base64 e diz que em termos de assinatura tá OK Consigo executar o URL https://pprsafe.autenticacao.gov.pt/credentials/list, mas obrigou-me a ir ao site, manualmente, buscar o AccessToken do certificado que criei lá. Toda a gente tem de fazer isto (e por sua vez gravar no software) ou só a empresa que desenvolve o software? Alguém me consegue ilucidar? Pois parece que é a forma mais rápida. Nunca consegui obter o accesstoken por essa via.
Nel Posted November 9, 2022 at 08:06 PM Report #628072 Posted November 9, 2022 at 08:06 PM (edited) Em 29/10/2022 às 07:22, laboss disse: Depois de meteres o container da assinatura e basicamente isso, o código não consigo passar pois é da empresa, mas é basicamente isto https://stackoverflow.com/questions/54559547/external-signing-pdf-with-itext Não usei essa lib usei devexpress mas a muita gente a usar essa Isto significa que não necessitamos dos certificados dados pelo credentials/info? Apenas teremos de juntar ao PDF a hash dada pelo signatures/signHash? Edited November 10, 2022 at 09:43 AM by Nel
bioshock Posted November 9, 2022 at 09:07 PM Report #628074 Posted November 9, 2022 at 09:07 PM (edited) On 10/27/2022 at 3:30 PM, laboss said: Geras o PDF sem assinatura Geras o Hash do PDF em SHA-256 Aqui tens de ter cuidado porque já tens de ter o container da assinatura no PDF, se não quando meteres o hash deles no PDF tb vais meter o container e já não fica válido Invocas o serviço para pedir autorização assinar Aqui vais ter de enviar o hash gerado no passo 2 O passo 3 devolve um SAD (Basicamente é um ID com a autorização) Invocas o serviço de assinatura com o SAD e com os hash novamente O serviço vai-te devolver a assinatura do teu HASH que basicamente é um novo HASH Tens de colocar o HASH recebido embebido no PDF (No container que criaste ao gerar o 1º HASH) Traduzido: Hash PDF Chamar endpoint /v2/credentials/authorize com o hash do ponto 1 Chamar endpoint /v2/signatures/signHash com o hash do ponto 1 + sad do ponto 2 O ponto 3. devolve isto (exemplo do Swagger): { "signatures": [ "IYvX1BRxWFV6uTUgYoeleKoToFM0c1A6vguAmtVaLDdaof9MaTtS7nIVEGR2aMwKZLrDwrhVv/GCdacdJYEpj7RinsW8UJ36Z/oAw7sigi8bnof4ScRgXJDzG4F63M91i//Vd49RHZxpFKjq/33xnSQf76KL8ypZ3Tr2bH4uF9IpVPWOMIvuwG8vS2c8KMwq7eDQTHKFRSWzTszdh88xvzjhi7C1dgHwPFsdmrsYneF0VgqG4Cq2Jt2gKV8+a4GpeLq8QE/ZQ2kWj4BLWkNG6tAoZdUSAXVxsvl2IOiZUz71tryhifnlXZB4I5GV0Htgnp1vzwue+uJOHIk+3Zvwx34nXkJ/zdTkDPEqGIeWdbDshukQOASPvAA/Qv24uRmCZ9EEVqxuHp6glrud9wobgSIGJUuFvWqHYl2IXyfcGUet+MLgk4pVU5siy91FdI16SdM/VSjldr8NCQHbxwM00cLXkSFDSXkP8igPlP2q3YIuV0g/MmWLAgBHSZU8fAWE", "PN85YMZS2O27ZrzcABwnoRCTxAhHqrPcgjzvP0zMHuwfBgrQcHj6GauDAo5XjT7IwrnY5hUdO2Hj6CMvTncAVZX9loZPjC3UsQdwGbiR1LIfrkDZwdbwMDqxpkYgueUaF00gAEZk/kl5MbaOtV3En5Mc8GYmWnG9L37yIhjelvCdEyhUXEVD6tzBuW+SXlP5C9NcrDugwGisSvsAzvv+ahjWeKmr9F3a5Wou0/2nUW6sB6vi6KqXuxqHPVBpgOgiQqJcE4qGA6W1pR0k7MRCIqlMCCfRSQiHIHxKu0+84M/djIIaTG3WzKL4HlBCmZFrToAA4+q5mbPujqWhFDWRmb1RPpnvY1R+vW6FWosAduODN4Rfg4+nPAuFbnRz1yW4fao0kUqUQWML5ItT9rFw2jBnODxwLFZyuouQH1WHbUznDvDoA6TKhwvpXHHdfPWlq659wyRLlJOQHWDuqgnByhTWvVz3Co9jmWyb+rHBT1M0h34WFIIrSIHyf9a4iXxJ" ] } O que é para fazer com o valor das signatures? Edited November 9, 2022 at 10:28 PM by bioshock
bioshock Posted November 9, 2022 at 09:11 PM Report #628075 Posted November 9, 2022 at 09:11 PM On 11/9/2022 at 8:06 PM, Nel said: Isto significa que não necessitamos dos certificados dados pelo credentials/info? Apenas teremos de juntar ao PDF a hash dada pelo credentials/info? A única coisa, pelo que percebo, que precisas do endpoint credentials/info é do valor do campo algo, pois precisas de enviar este valor no endpoint v2/signatures/signHash.
laboss Posted November 9, 2022 at 10:05 PM Report #628076 Posted November 9, 2022 at 10:05 PM Percisas dos certificados para colocar dentro do PDF, eles só vão dar o hash assinado tens que embutir dentro do PDF o hash. O retorno do método signHash é apenas o hash que vais ter de colocar no PDF https://stackoverflow.com/questions/65325998/external-signing-pdf-with-itextsharp-signdeferred-invalid-signature-problem Eu crio as contas pelo software amanhã posso tentar ver os passos ao certo
bioshock Posted November 9, 2022 at 10:31 PM Report #628077 Posted November 9, 2022 at 10:31 PM On 11/9/2022 at 10:05 PM, laboss said: Percisas dos certificados para colocar dentro do PDF, eles só vão dar o hash assinado tens que embutir dentro do PDF o hash. O retorno do método signHash é apenas o hash que vais ter de colocar no PDF https://stackoverflow.com/questions/65325998/external-signing-pdf-with-itextsharp-signdeferred-invalid-signature-problem Eu crio as contas pelo software amanhã posso tentar ver os passos ao certo Tens razão, a documentação diz e cito: Quote (...) Neste passo, o Software de Faturação deve construir o documento assinado, juntando, ao documento original, a hash assinada do documento e os certificados obtidos no método credentials/info. Na construção do(s) documento(s) assinado(s) é recomendado que o Software de Faturação utilize LongTerm Validation (LTV) Mas sabes-me responder ali à situação das assinaturas? Qual destas? É para pegar no valor do campo signatures, juntar-lhe o certificado e adicionar ao PDF É para pegar no valor do campo hash do ficheiro, juntar-lhe o certificado e adicionar ao PDF Pelo que consigo perceber, é para criar um certificado on-the-fly?
zeph Posted November 10, 2022 at 09:00 AM Report #628085 Posted November 10, 2022 at 09:00 AM (edited) On 11/9/2022 at 10:31 PM, bioshock said: Tens razão, a documentação diz e cito: Mas sabes-me responder ali à situação das assinaturas? Qual destas? É para pegar no valor do campo signatures, juntar-lhe o certificado e adicionar ao PDF É para pegar no valor do campo hash do ficheiro, juntar-lhe o certificado e adicionar ao PDF Pelo que consigo perceber, é para criar um certificado on-the-fly? A certificate chain é para juntares depois ao documento. Não sei o que queres dizer com "on-the-fly" nesta situação, mas não vais criar nenhum certificado. Vais usar a chain. O @laboos disse tudo lá em cima. 1 - Crias um container de assinatura vazio, e sacas o hash 2- Pegas no hash gerado acima, e fazes um pedido para a AMA para te assinar esse hash 3 - Juntas o hash assinado ao pdf Para mim, esta foi uma das partes mais dificeis. Tive mesmo de bater com a cabeça, mas no fim, fica tudo mais claro. No meu caso, eu crio um pdf temporário só para sacar o container vazio e depois crio outro com o pdf assinado final. Tive de fazer assim, porque se usasse o mesmo pdf, dizia que o "documento estava corrompido". Exemplo flow completo com conta: 1 - Abrir um janela com o url oauth https://preprod.autenticacao.gov.pt/oauth/askauthorization?client_id=xpto& redirect_uri=url_onde_vou_interceptar_o_access_token& scope=http://interop.gov.pt/MDC/Cidadao/NomeProprio%20 http://interop.gov.pt/MDC/Cidadao/NIC%20 http://interop.gov.pt/MDC/Cidadao/DocType%20 http://interop.gov.pt/MDC/Cidadao/DocNumber%20 http://interop.gov.pt/MDC/Cidadao/NomeProprio%20 http://interop.gov.pt/MDC/Cidadao/NomeApelido%20 http://interop.gov.pt/MDC/Cidadao/DataValidade%20 http://interop.gov.pt/MDC/Cidadao/DataNascimento%20 http://interop.gov.pt/SAFE/createSignatureAccount?enterpriseNipc=500000000 $enterpriseAdditionalInfo=Estabelecimento_avenida_xpto_lagos[isto é para um mesmo cidadão criar várias contas para o mesmo NIF, sendo a chave BI/passport + NIF +esta informação adicional ] $email=j.santos@itbase.pt $signaturesLimit=1000 $creationClientName=clientTest &response_type=token 2- POST com o access token para https://preprod.autenticacao.gov.pt/oauthresourceserver/api/AttributeManager [Esperar 15 seg] 3 - GET para https://preprod.autenticacao.gov.pt/oauthresourceserver/api/AttributeManager com o contextID (chamada anterior) + access token e obter o bearer token e refresh token 4 - POST https://pprsafe.autenticacao.gov.pt/credentials/list com o token do passo 3 (para obter o credentialID) 5 - POST https://pprsafe.autenticacao.gov.pt/credentials/info para obter a chain de certificados 6 - POST https://pprsafe.autenticacao.gov.pt/v2/credentials/authorize para obter um "Ok, podes prosseguir" 7 - GET https://pprsafe.autenticacao.gov.pt/credentials/authorize/verify com o processID do ponto 6 (Hoje, isto não te vai funcionar... Eles estão com problemas nestes novos métodos). Aqui recebes o SAD 8 - POST https://pprsafe.autenticacao.gov.pt/v2/signatures/signHash para obter um "Ok, podes obter a assinatura". 9 - https://pprsafe.autenticacao.gov.pt/signatures/signHash/verify com o processID do método anterior. Aqui é devolvida a hash assinada. Penso que não me esqueci de nada. PS: Vais chamar o signHash com o container vazio e é te retornado o hash assinado que irás colocar no pdf final. Edited November 10, 2022 at 10:59 AM by zeph 1 1 Report
laboss Posted November 10, 2022 at 09:24 AM Report #628086 Posted November 10, 2022 at 09:24 AM Em 10/11/2022 às 09:00, zeph disse: A certificate chain é para juntares depois ao documento. Não sei o que queres dizer com "on-the-fly" nesta situação, mas não vais criar nenhum certificado. Vais usar a chain. O @laboos disse tudo lá em cima. 1 - Crias um container de assinatura vazio, e sacas o hash 2- Pegas no hash gerado acima, e fazes um pedido para a AMA para te assinar esse hash 3 - Juntas o hash assinado ao pdf Para mim, esta foi uma das partes mais dificeis. Tive mesmo de bater com a cabeça, mas no fim, fica tudo mais claro. No meu caso, eu crio um pdf temporário só para sacar o container vazio e depois crio outro com o pdf assinado final. Tive de fazer assim, porque se usasse o mesmo pdf, dizia que o "documento estava corrompido". Exatamente o que eu fiz é mesmo isso. Para a criação de conta faço assim: Chamada ao URL de autenticação com os respetivos scopes Recebo o token de auth Espero 15 segundos (muito importante) Recolho os dados na conta no endpoint OAuthResourceServer/Api/AttributeManager Envio o Token recebido no auth Envio o attributesName com o valor http://interop.gov.pt/SAFE/createSignatureAccount (sem os scopes) Recebo o token e authenticationContextId Espero 2 segundos (se não fizer isto 80% das vezes não são retornados os dados) Recolho os dados da conta no endpoint OAuthResourceServer/Api/AttributeManager?token={Token}&authenticationContextId={authenticationContextId} Se não receber dados tento 5 vezes desde o passo 2 1 Report
zeph Posted November 10, 2022 at 09:44 AM Report #628087 Posted November 10, 2022 at 09:44 AM (edited) @laboss, Já agora, adicionaste LTV aos documentos? Se sim, que provider usaste? Edited November 10, 2022 at 09:44 AM by zeph
Nel Posted November 10, 2022 at 10:13 AM Report #628088 Posted November 10, 2022 at 10:13 AM Em 10/11/2022 às 09:44, zeph disse: @laboss, Já agora, adicionaste LTV aos documentos? Se sim, que provider usaste? Alguém esta a implementar um PHP? Quando vcs falam em "1 - Crias um container de assinatura vazio, e sacas o hash", em que consiste mesmo isto?
laboss Posted November 10, 2022 at 10:19 AM Report #628089 Posted November 10, 2022 at 10:19 AM Sim adicionei. Usei este: http://timestamp.entrust.net/TSS/RFC3161sha2TS Mas encontrei estes quando andei a pesquisar. //TSAServer = "http://aatl-timestamp.globalsign.com/tsa/aohfewat2389535fnasgnlg5m23"; //TSAServer = "http://tsa.quovadisglobal.com/TSS/HttpTspServer"; //TSAServer = "http://timestamp.entrust.net/TSS/RFC3161sha2TS"; //TSAServer = "https://freetsa.org/tsr" //TSAServer = "http://ts.cartaodecidadao.pt/tsa/server" 2 Report
zeph Posted November 10, 2022 at 10:37 AM Report #628095 Posted November 10, 2022 at 10:37 AM On 11/10/2022 at 10:19 AM, laboss said: Sim adicionei. Usei este: http://timestamp.entrust.net/TSS/RFC3161sha2TS Mas encontrei estes quando andei a pesquisar. //TSAServer = "http://aatl-timestamp.globalsign.com/tsa/aohfewat2389535fnasgnlg5m23"; //TSAServer = "http://tsa.quovadisglobal.com/TSS/HttpTspServer"; //TSAServer = "http://timestamp.entrust.net/TSS/RFC3161sha2TS"; //TSAServer = "https://freetsa.org/tsr" //TSAServer = "http://ts.cartaodecidadao.pt/tsa/server" Mas esses tsa's são free? E se forem down ? 😛
laboss Posted November 10, 2022 at 12:16 PM Report #628100 Posted November 10, 2022 at 12:16 PM São free, se forem down fica sem LTV, a do cartão do cidadão tem uns limites estúpidos Serviço de Selos Temporais: Configurar um serviço de selos temporais personalizado. A aplicação permite seleccionar uma servidor diferente para a obtenção de selos temporais, uma vez que o servidor por defeito do Cartão do Cidadão (http://ts.cartaodecidadao.pt/tsa/server) tem um limite máximo de 20 pedidos em cada período de 20 minutos que se podem efectuar. Se este valor for excedido o serviço será bloqueado durante 24 horas, sem prejuízo de outras consequências em caso de repetição de situações de bloqueio. (para mais informações sobre o serviço de selo temporal/timestamps do Cartão do Cidadão, consulte a página https://pki.cartaodecidadao.pt). in https://amagovpt.github.io/docs.autenticacao.gov/user_manual.html 1 Report
bioshock Posted November 10, 2022 at 12:58 PM Report #628101 Posted November 10, 2022 at 12:58 PM (edited) On 11/10/2022 at 9:00 AM, zeph said: 1 - Crias um container de assinatura vazio, e sacas o hash 2- Pegas no hash gerado acima, e fazes um pedido para a AMA para te assinar esse hash 3 - Juntas o hash assinado ao pdf Juntas-lhe o hash + a chain de certificados presumo eu. On 11/10/2022 at 9:00 AM, zeph said: 7 - GET https://pprsafe.autenticacao.gov.pt/credentials/authorize/verify com o processID do ponto 6 (Hoje, isto não te vai funcionar... Eles estão com problemas nestes novos métodos). Aqui recebes o SAD Hoje de madrugada cheguei a este ponto e não consegui pôr a funcionar porque me devolvia sempre erro 500. É só em pré-produção a anomalia? É que sem isto não dá para assinar documentos. Depois há incoerências no Swagger: O Swagger diz que o endpoint v2/credentials/authorize devolve o SAD e não devolve O Swagger não diz que no endpoint credentials/authorize/verify deve ser passado o BASIC Authentication (e provavelmente o SAFE Authorization) e deve On 11/10/2022 at 10:13 AM, Nel said: Alguém esta a implementar um PHP? Quando vcs falam em "1 - Crias um container de assinatura vazio, e sacas o hash", em que consiste mesmo isto? Eu estou. Ainda não cheguei a este ponto, pois não consigo obter o SAD. Assim que eu tiver isto aceite e a bombar em produção, coloco aqui o código em PHP completo. Edited November 10, 2022 at 12:58 PM by bioshock
zeph Posted November 10, 2022 at 01:26 PM Report #628102 Posted November 10, 2022 at 01:26 PM (edited) On 11/10/2022 at 12:58 PM, bioshock said: Juntas-lhe o hash + a chain de certificados presumo eu. Hoje de madrugada cheguei a este ponto e não consegui pôr a funcionar porque me devolvia sempre erro 500. É só em pré-produção a anomalia? É que sem isto não dá para assinar documentos. Depois há incoerências no Swagger: O Swagger diz que o endpoint v2/credentials/authorize devolve o SAD e não devolve O Swagger não diz que no endpoint credentials/authorize/verify deve ser passado o BASIC Authentication (e provavelmente o SAFE Authorization) e deve Eu estou. Ainda não cheguei a este ponto, pois não consigo obter o SAD. Assim que eu tiver isto aceite e a bombar em produção, coloco aqui o código em PHP completo. Esses métodos v2 não funcionam.. Estão a devolver o status 500. Já falei com eles desde que lançaram esses novos métodos e ainda estão a aguardar resolução. Não sei se já lançaram para produção. O que podes fazer para testar, é usar os antigos (deprecados): /credentials/authorize e /signatures/signHash, respectivamente. Estes em principio, vão funcionar até Junho de 2023 Edited November 10, 2022 at 01:29 PM by zeph
CCoutinho Posted November 10, 2022 at 04:05 PM Report #628105 Posted November 10, 2022 at 04:05 PM Chamo a v/ atenção para a informação não-oficial que foi passada na Reunião Livre Online - 09 novembro 2022 da Ordem dos Contabilistas Certificados a partir do minuto 14 1 Report
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now