Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

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 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 Conscrypt usa BoringSSL , una biblioteca nativa que es una bifurcación de Google de OpenSSL y que se usa en muchos productos de Google para 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 esas clases y algunas API de Conscrypt no públicas son utilizadas por libcore o código de frameworks.

Android 10 agrega una pequeña cantidad de métodos API públicos en android.net.ssl para acceder a la funcionalidad de Conscrypt que no está expuesta por las clases en javax.net.ssl . Android 10 también incluye una copia reducida de Bouncy Castle para proporcionar herramientas criptográficas de menor popularidad como parte de Android Runtime (no incluido en el módulo Conscrypt).

Formato y dependencias

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

El módulo Conscrypt expone las siguientes API:

  • Las API públicas son extensiones de clases e interfaces en paquetes en java.* Y javax.* , Además de clases en 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.
  • Las API de la plataforma central son API ocultas que utiliza el marco para acceder a funciones no públicas. Estos son relativamente limitados; el usuario más grande es NetworkSecurityConfig , que amplía el administrador de confianza Conscrypt (el componente que verifica los certificados) para implementar la función de configuración de seguridad de la red .
  • Las API intranúcleo están limitadas a constructores de argumento cero llamados de forma reflexiva por la maquinaria JCA y JSEE.