Partilhar via


Alguns construtores X509Certificate2 e X509Certificate estão obsoletos

Os construtores em X509Certificate e X509Certificate2 que aceitam conteúdo como um byte[], ReadOnlySpan<byte>ou um caminho de string arquivo são obsoletos, começando no .NET 9. Os Import métodos em X509Certificate2Collection também são obsoletos. Chamá-los em código gera aviso SYSLIB0057 em tempo de compilação.

Comportamento anterior

Os desenvolvedores podem usar as APIs afetadas sem um aviso obsoleto.

Novo comportamento

As APIs afetadas receberão um aviso de compilação obsoleto com ID SYSLIB0057.

Versão introduzida

.NET 9 Visualização 7

Tipo de mudança de rutura

Essa alteração pode afetar a compatibilidade da fonte.

Razão para a alteração

As APIs afetadas suportavam o carregamento de certificados em vários formatos. Por exemplo, new X509Certificate2(data) carregou um certificado de um byte[] chamado data. data pode ser um de qualquer formato suportado, incluindo X.509, PKCS7 ou PKCS12/PFX.

Embora esse método fosse fácil de usar, ele criava problemas em que os dados fornecidos pelo usuário eram passados com um formato diferente do pretendido. Isso pode permitir o carregamento do PKCS12 onde apenas o conteúdo X.509 deveria ser carregado. Ou pode criar problemas de interoperabilidade ao lidar com os dados de maneiras diferentes.

Para obter soluções alternativas, consulte Solução alternativa.

APIs afetadas

Para APIs afetadas, consulte SYSLIB0057.