Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Junto com o trabalho para habilitar o SafeEvpPKeyHandle.DuplicateHandle() suporte a provedores OpenSSL, uma alteração foi feita no método que afeta os ECDsaOpenSsl construtores e RSAOpenSsl construtores que usam um SafeEvpPKeyHandlearquivo . Modificações externas do identificador passado agora também afetam o identificador armazenado em instâncias dessas classes.
Comportamento anterior
DuplicateHandle() criou uma nova EVP_PKEY instância. As modificações na chave duplicada (ou seja, através de chamadas diretas para APIs OpenSSL) não afetaram a chave original.
SafeEvpPKeyHandle.DuplicateHandle foi chamado pelos construtores de ECDsaOpenSsl e RSAOpenSsl que tomam um SafeEvpPKeyHandle.
Novo comportamento
DuplicateHandle() incrementa a contagem de referência do existente EVP_PKEY e retorna um identificador para a mesma chave. Isso significa que chamadas externas para APIs OpenSSL que modificam EVP_PKEY agora também afetam instâncias do arquivo .SafeEvpPKeyHandle Essas APIs incluem ECDsaOpenSsl instâncias criadas RSAOpenSsl a partir desses identificadores.
Versão introduzida
.NET 9 Visualização 7
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a alteração
Essa alteração foi feita para habilitar o suporte a provedores OpenSSL. Como efeito colateral, há também algumas melhorias de desempenho.
Ação recomendada
Evite modificações de passado para APIs . EVP_PKEY NET. Se você não puder evitar modificações no EVP_PKEY, crie uma cópia de EVP_PKEY si mesmo (ou seja, copie parâmetros para a nova EVP_PKEY instância).
APIs afetadas
- System.Security.Cryptography.SafeEvpPKeyHandle.DuplicateHandle()
- ECDsaOpenSsl(SafeEvpPKeyHandle)
- RSAOpenSsl(SafeEvpPKeyHandle)
Todas as APIs que aceitam uma ou RSA instância ECDsa originária também SafeEvpPKeyHandle são afetadas.