Pular para o conteúdo principal

Configurações do Digiploma

Uma instância on-premises lê as configurações de um arquivo JSON:

PlataformaArquivo
Windows (IIS)appsettings.iis.json, na pasta da aplicação
Linux/etc/lacuna-digiploma/appsettings.linux.json

As variáveis de ambiente têm precedência sobre o arquivo, com __ entre a seção e a chave (por exemplo, General__SiteUrl).

As seções abaixo estão agrupadas por finalidade. Chaves com grafia incomum, como EnableIdentiferMaskingOnDegreeValidation, devem ser digitadas exatamente como aparecem aqui.

Requisitos​

Banco de dados e armazenamento​

  • ConnectionStrings:DefaultConnection: connection string do banco de dados SQL Server, como Data Source=SERVER;Initial Catalog=DATABASE;User ID=USERNAME;Password=PASSWORD.
  • General:AutoUpdateDatabase (padrão: true): depois de uma atualização, a aplicação aplica as alterações no modelo do banco de dados, quando necessário. Defina como false se a aplicação não tiver permissões de proprietário sobre o banco de dados.
  • BlobStorage:Type: onde os arquivos são armazenados, como FileSystem.
  • BlobStorage:Path: com FileSystem, a pasta em que os arquivos são armazenados; a aplicação precisa de permissão de escrita nela. No Linux, o padrão é /var/lacuna-digiploma; no Windows não há padrão, então defina esta chave.

Configurações gerais​

Na seção General:

  • SiteUrl: URL pública do site (ex.: https://digiploma.patorum.com/). É usada nos links dos e-mails enviados, no endereço de validação e no QR code impressos nos documentos (a menos que um modelo defina os seus próprios) e nos links dos arquivos de fiscalização.
  • SiteName: nome da instância, exibido nos títulos das páginas e na referência da API.
  • EncryptionKey: chave de 256 bits, em Base64, usada para criptografar os segredos que a aplicação armazena. Gere uma, por exemplo com openssl rand -base64 32, e guarde-a: os segredos criptografados com ela não podem ser lidos com outra chave.
  • SupportEmailAddress: endereço de e-mail de suporte (usado no rodapé dos e-mails enviados).
  • Theme: esquema de cores da aplicação web: mse, cgo, obg, epg ou yby, ou vazio para o padrão.
  • UserManualUrl: quando definida, a aplicação web mostra um botão para baixar o manual do usuário desse endereço.

Integração com o Signer​

  • SignerUrl: URL do Signer em que os documentos serão criados.
  • UploadsPerRequest (padrão: 50): número de arquivos por requisição de criação de documentos enviada ao Signer. Os lotes são processados em grupos desse tamanho.
  • DisableCertificateLevelRequirementToSign (v1.6.0): se true, desativa a exigência de que todos os certificados usados para assinar os documentos sejam A3. Os históricos escolares parciais nunca exigem certificado A3.

Validação e publicação​

  • DisableRecaptcha (v1.6.0): se true, desativa o reCAPTCHA da página de validação, mesmo que as chaves dele estejam definidas.
  • EnableIdentiferMaskingOnDegreeValidation (padrão: true): mascara o CPF do aluno na validação pública.
  • IsNonProductionEnvironment (padrão: false): se true, os arquivos XML gerados declaram o ambiente Homologação em vez de Produção. Use em instâncias de teste.
  • GenerateCancellationListInDays (padrão: 120): uma nova lista de diplomas anulados é gerada quando faltam menos que esse número de dias para o prazo da lista atual, que vence 180 dias depois de gerada. Deve ser menor que 180.
  • DegreeFileTicketValidityPeriodInDays (padrão: 14): por quantos dias os links dos documentos nos arquivos de fiscalização continuam válidos.

Registro​

  • EnableRegistrationRequestAcceptStep (padrão: false): as requisições de registro vindas de uma emissora ficam primeiro em Aguardando aceitação, antes da revisão.
  • RequireManualRegistrationAcceptance (padrão: false): junto com a chave anterior, faz com que as requisições enviadas pela própria registradora também precisem ser aceitas.
  • AllowSkipSignatureValidation (padrão: false): permite que a registradora pule a validação das assinaturas dos arquivos de documentação acadêmica que ela envia (Pular validação das assinaturas).

Uploads​

  • MaxUploadSizeInBytes (padrão: 631242752, cerca de 600 MB): tamanho máximo de uma requisição. No IIS, o arquivo web.config também limita esse tamanho, a 1,5 GB.
  • UploadedFilesValidityInDays (padrão: 1): por quanto tempo a aplicação web considera ainda disponível um arquivo enviado para um formulário.

Geração de documentos​

  • UseSocialNameInAcademicTrancript (padrão: true): mostra o nome social do aluno na representação visual dos históricos escolares.

Validação de arquivos e assinaturas​

Estas chaves desligam verificações. Em produção, mantenha os valores padrão.

  • DisableDegreeXmlStructureValidationOnCreation, DisableAcademicDocXmlStructureValidationOnCreation, DisableAcademicTranscriptXmlStructureValidationOnCreation, DisableCurriculumXmlStructureValidationOnCreation (padrão: false): pulam a validação, pelo schema XML do MEC, dos arquivos gerados pelo Digiploma.
  • DisableAcademicDocScructureValidationInRegistration, DisableUploadedDegreeXmlStructureValidationInEmission (padrão: false): pulam a validação, pelo schema XML do MEC, dos arquivos de documentação acadêmica recebidos por uma registradora e dos arquivos de diploma recebidos por uma emissora.
  • DisableDegreeXmlExtensiveValidation (padrão: false): pula as verificações ICP-Brasil das assinaturas dos arquivos XML recebidos e dos certificados das instituições.
  • AllowRevocationStatusUnknown (padrão: false): aceita, com um alerta, assinaturas cujo status de revogação do certificado não pode ser verificado.
  • AllowPersonalCertificateInInstitute (padrão: false): aceita um certificado e-CPF como certificado de uma instituição. Somente para testes.

Configurações de lotes (v1.6.0)​

Na seção Batches:

  • MaxDegreesInBatch (padrão: 50000): número máximo de documentos numa operação em massa, como um download em lote ou um arquivo de fiscalização.
  • MaxItemsRetrievedFromDatabase (padrão: 10000): número de documentos lidos do banco de dados em cada rodada de uma operação em massa e número máximo de documentos que podem ser selecionados de uma vez.

Configurações do reCAPTCHA (v1.6.0)​

Na seção Recaptcha, as chaves de um site do Google reCAPTCHA v2 do tipo invisível. A página de validação usa o reCAPTCHA quando as duas chaves estão definidas (e General:DisableRecaptcha não é true).

  • SiteKey: a chave do site do Captcha.
  • SecretKey: a chave secreta do Captcha.

Configurações de renotarização e carimbo de tempo​

O Digiploma renova os carimbos de tempo de arquivamento dos documentos assinados antes que expirem (veja Renotarizações). Para isso, é preciso um servidor de carimbo de tempo, configurado na seção Timestamper:

  • Url: URL do servidor de carimbo de tempo.
  • Type (padrão: BearerToken): como se autenticar no servidor: BearerToken, BasicAuthentication ou BasicAuthenticationV2.
  • BearerToken, ou Username e Password: as credenciais.
  • Enabled (padrão: false): aplica carimbo de tempo também às assinaturas que o próprio Digiploma faz, nas listas de diplomas anulados e nos arquivos de fiscalização.
  • MaxAutoRetryCount (padrão: 3) e RetryDelayInMilliseconds (padrão: 1500): novas tentativas de uma requisição que falhou.

Na seção Restamp:

  • DisableRestamp (padrão: false): desliga a renotarização na instância inteira. Defina como true se a instância não tiver servidor de carimbo de tempo.
  • RestampDocumentsBeforeExpiringInDays (padrão: 180): quantos dias antes da expiração um documento é renotarizado.
  • EnableRegistrationRestamp (padrão: false): renotariza também os arquivos de diploma das requisições de registro.
  • DisableWebhookSending (padrão: true): defina como false para enviar os webhooks de renotarização.
  • DocumentsToRestampOnBusinessHours / DocumentsToRestampNotOnBusinessHours (padrão: 10 / 50) e RestampsToCreateOnBusinessHours / RestampsToCreateNotOnBusinessHours (padrão: 10 / 50): quantos documentos cada execução dos jobs de renotarização processa.

Na seção BusinessHours, o horário comercial, em que os jobs em segundo plano processam menos itens:

  • StartHour (padrão: 8) e EndHour (padrão: 18).
  • IsWeekendBusinessDays (padrão: false).
  • TimeZoneId (padrão: E. South America Standard Time): também é o fuso horário dos jobs noturnos de renotarização.

Configurações da representação visual​

Na seção VisualRepresentation, as margens padrão, em centímetros, sugeridas na criação de modelos de histórico escolar e de currículo: MarginTopInCentimeters (3.5), MarginBottomInCentimeters (1), MarginLeftInCentimeters (1) e MarginRightInCentimeters (1).

Personalização da página de validação​

Na seção Customization, a página de validação pode mostrar nome, logotipo e cores próprios de uma organização, num domínio próprio. Em Subscriptions, adicione uma entrada cujo nome é o id da organização (ou {id da organização}_{código MEC}, para uma das instituições dela):

"Customization": {
"Subscriptions": {
"4c1e…": {
"Name": "Universidade Exemplo",
"Domains": "diplomas.exemplo.edu.br",
"LogoUrl": "https://exemplo.edu.br/logo.png",
"FaviconUrl": "https://exemplo.edu.br/favicon.ico",
"Theme": "obg"
}
}
}

Uma requisição para um domínio diferente do que está em General:SiteUrl é redirecionada para a página de validação.

Proxy reverso​

Na seção Bindings:

  • UseReverseProxy: true quando a aplicação roda atrás de um proxy reverso, como na instalação em Linux. Nesse caso, os headers X-Forwarded-For e X-Forwarded-Proto são respeitados.
  • AcceptForwardedHostHeader (padrão: false): respeita também o header X-Forwarded-Host.
  • ReverseProxyForwardLimit: número máximo de proxies nos headers X-Forwarded-*.
  • HttpsMode: defina como Optional se o HTTPS estiver desativado.

Licenças​

Na seção PkiSuite:

  • SdkLicense: a licença do Lacuna PKI SDK, em Base64. Obrigatória.
Ver em Markdown