O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Conscritar

O módulo Conscrypt acelera as melhorias de segurança e melhora a segurança do dispositivo sem depender de atualizações OTA. Ele usa código Java e uma biblioteca nativa para fornecer a implementação do Android TLS, bem como uma grande parte da funcionalidade criptográfica do Android, como geradores de chave, cifras e resumos de mensagens. Conscrypt está disponível como uma biblioteca de código aberto , embora tenha algumas especializações quando incluídos na plataforma Android.

O módulo Conscrypt usa BoringSSL , uma biblioteca nativa que é um fork do Google de OpenSSL e que é usado em muitos produtos do Google para criptografia e TLS (principalmente Google Chrome). O BoringSSL não tem lançamentos oficiais (todos os usuários constroem a partir da cabeça) e não oferece nenhuma garantia quanto à estabilidade de API ou ABI.

Mudanças no Android 10

O Android 9 não inclui uma API pública específica do Android para Conscrypt, mas usa um provedor de segurança que implementa classes padrão para Java Cryptography Architecture (JCA), incluindo Cipher e MessageDigest, e Java Secure Socket Extension (JSSE), incluindo SSLSocket e SSLEngine. Os usuários interagem com as classes e algumas APIs Conscrypt não públicas são usadas por libcore ou estruturas código.

Android 10 acrescenta um pequeno número de métodos API pública em android.net.ssl para acessar a funcionalidade Conscrypt que não está exposta pelas classes sob javax.net.ssl . Android 10 inclui também uma cópia slimmed de Bouncy Castle para fornecer ferramentas de criptografia de baixa popularidade como parte de Runtime Android (não incluído no módulo Conscrypt).

Formato e dependências

O módulo Conscrypt é distribuído como um APEX arquivo que inclui o código Conscrypt Java e uma biblioteca nativa Conscrypt que as ligações dinamicamente para bibliotecas Android NDK (como liblog ). A biblioteca nativa também inclui uma cópia do BoringSSL que foi validado ( Certificado # 3753 ), através do NIST Module Validation Program criptográfica (CMVP) .

O módulo Conscrypt expõe as seguintes APIs:

  • APIs públicas são extensões de classes e interfaces em pacotes sob java.* E javax.* , Além de aulas sob android.net.ssl.* . O código do aplicativo externo não chama o Conscrypt diretamente. Os padrões da API da plataforma garantem que essas APIs permaneçam compatíveis com versões anteriores e posteriores.
  • APIs plataforma central são APIs utilizadas pela estrutura para acesso funcionalidade não públicas escondido. Eles são relativamente limitados; o maior usuário é NetworkSecurityConfig , que estende o gerenciador de confiança Conscrypt (o componente que os certificados Verifica) para implementar o recurso de configuração de segurança de rede .
  • APIs Intra-core estão limitados a construtores sem argumentos chamados reflexivamente pela máquina JCA e JSEE.