Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Conscrypt

El módulo Conscrypt acelera las mejoras de seguridad y mejora la seguridad del dispositivo sin depender de las actualizaciones OTA. Utiliza código Java y una biblioteca nativa para proporcionar la implementación de TLS de Android, así como una gran parte de la funcionalidad criptográfica de Android, como generadores de claves, cifrados y resúmenes de mensajes. Conscrypt está disponible como una biblioteca de código abierto , aunque tiene algunas especializaciones cuando se incluye en la plataforma Android.

El módulo utiliza Conscrypt BoringSSL , una biblioteca nativa que es un tenedor de Google OpenSSL y que se utiliza en muchos productos de Google para la criptografía y TLS (sobre todo Google Chrome). BoringSSL no tiene lanzamientos oficiales (todos los usuarios construyen desde la cabeza) y no ofrece garantías sobre la estabilidad de API o ABI.

Cambios en Android 10

Android 9 no incluye una API pública específica de Android para Conscrypt, sino que utiliza un proveedor de seguridad que implementa clases estándar para Java Cryptography Architecture (JCA), incluidas Cipher y MessageDigest, y Java Secure Socket Extension (JSSE), incluidas SSLSocket y SSLEngine. Los usuarios interactúan con las clases y algunos no públicas API Conscrypt son utilizados por libcore o marcos de código.

Android 10 añade un pequeño número de métodos de la API públicas en android.net.ssl acceder a las funciones Conscrypt que no está expuesta por las clases bajo javax.net.ssl . Android 10 incluye también una copia adelgazado del Castillo Hinchable para proporcionar herramientas criptográficas de menor popularidad como parte de Android de tiempo de ejecución (no incluido en el módulo Conscrypt).

Formato y dependencias

El módulo Conscrypt se distribuye como un APEX archivo que incluye el código Conscrypt Java y una biblioteca nativa Conscrypt que los enlaces dinámicamente a las bibliotecas Android NDK (como liblog ). La biblioteca nativa también incluye una copia de BoringSSL que se ha validado ( Certificado # 3753 ) a través del NIST programa de validación de módulo criptográfico (CMVP) .

El módulo Conscrypt expone las siguientes API:

  • API públicas son extensiones de las clases y las interfaces en paquetes bajo java.* Y javax.* , Además de clases bajo android.net.ssl.* . El código de la aplicación externa no llama a Conscrypt directamente. Los estándares de API de plataforma garantizan que estas API sigan siendo compatibles con versiones anteriores y posteriores.
  • API de la plataforma de núcleo están API utilizadas por el marco para el acceso funcionalidad no pública ocultos. Estos son relativamente limitados; el usuario es más grande NetworkSecurityConfig , la cual se extiende el gestor fiduciario Conscrypt (el componente que verifica los certificados) para poner en práctica la función de configuración de seguridad de la red .
  • APIs Intra-núcleo se limitan a constructores-argumentos cero llamados reflexivamente por la maquinaria JCA y JSEE.