Aviso do NuGet NU3028

NuGet 4.6.0+

The author primary signature's timestamp found a chain building issue: The revocation function was unable to check revocation because the revocation server could not be reached. For more information, visit https://aka.ms/certificateRevocationMode

Problema

Falha na criação da cadeia de certificados para a assinatura de carimbo de data/hora. O certificado de autenticação de carimbo de data/hora não é confiável, foi revogado ou as informações de revogação do certificado estão indisponíveis.

Apenas no Windows, NU3028 pode ocorrer na primeira vez que um certificado raiz é observado e com a mensagem "Uma cadeia de certificação processada corretamente, mas encerrada em um certificado raiz que não é confiável pelo provedor de confiabilidade". Se o problema for resolvido com novas tentativas, haverá uma opção que pode ajudar.

Solução

Use um certificado confiável e válido. Verifique a conectividade com a Internet.

Para Linux e macOS, leia Verificação de pacotes assinados do NuGet. Especificamente para avisos/erros de certificado raiz não confiáveis no Linux e no macOS, confira também NU3042.

Modo de verificação de revogação

Observação

Essa opção está disponível do NuGet 4.8.1 em diante.

Se o computador tiver acesso restrito à Internet (por exemplo, um computador de build em um cenário de CI/CD), a instalação/restauração de um pacote do nuget com sinal resultará neste aviso, pois os servidores de revogação não estarão acessíveis. Isso é esperado. No entanto, em alguns casos, isso pode ter consequências não intencionais, como a instalação/restauração do pacote levar mais tempo que o normal. Se isso acontecer, você poderá contornar o problema definindo a variável de ambiente NUGET_CERT_REVOCATION_MODE como offline. Isso forçará o NuGet a verificar o status de revogação do certificado apenas com relação à lista de certificados revogados armazenado em cache, e o NuGet não tentará acessar servidores de revogação.

Aviso

Não é recomendável colocar o modo de verificação de revogação offline em circunstâncias normais. Isso fará o NuGet ignorar a verificação de revogação online e executar apenas uma verificação de revogação offline em relação à lista de certificados revogados armazenada em cache, que pode estar desatualizada. Isso significa que pacotes em que o certificado de autenticação possa ter sido revogado continuará a ser instalado/restaurado, o que, de outra forma, teria falhado na verificação de revogação e não teria sido instalado.

Quando o modo de verificação de revogação é definido como offline, será feito o downgrade do aviso para um nível de informação.

The author primary signature's timestamp found a chain building issue: The revocation function was unable to check revocation because the certificate is not available in the cached certificate revocation list and NUGET_CERT_REVOCATION_MODE environment variable has been set to offline. For more information, visit https://aka.ms/certificateRevocationMode.

Observação

O NU3028 é gerado como um erro na maioria dos casos. Quando o modo de validação de assinatura do NuGet é definido como aceitar (padrão), o NU3028 é gerado como um aviso em alguns casos.