Los certificados se utilizan para crear una infraestructura de clave pública (PKI). Generalmente, se utiliza la forma X.509 de los certificados, en cuyo caso la PKI se llama PKIX, después del estándar. Las claves privadas que forman parte de un par de claves se utilizan para firmar certificados de nivel inferior. De esta manera se puede verificar un certificado verificando una cadena de certificados donde cada certificado se usa para verificar el que está debajo.
PKI requiere el uso de criptografía de clave pública / privada, también conocida como criptografía asimétrica. Un ejemplo de un algoritmo asimétrico es RSA. AES solo se puede utilizar con una única clave secreta y, por lo tanto, forma parte de la criptografía simétrica : la misma clave se utiliza para el cifrado / descifrado o la generación / verificación de firmas. Es poco probable que un certificado contenga una clave AES.
Los certificados de cifrado son certificados que se han designado para realizar el cifrado. Esto se realiza simplemente configurando un indicador específico de uso de clave . Entonces, aunque la clave pública dentro del certificado puede usarse para cualquier tarea (cifrado o verificación de firmas sobre datos) el certificado indica que solo debe usarse para cifrado (o la función de cualquier otro indicador que se establece).
Sin embargo, los algoritmos asimétricos no son eficientes, por lo que, en cambio, se establece una clave simétrica utilizando el algoritmo, por ejemplo. cifrando (o envolviendo ) una clave simétrica aleatoria, como una clave AES. Esto permite un cifrado / descifrado eficiente de los datos. Para descifrar la clave AES se desenvuelve en la memoria (preferiblemente segura) y luego se usa para descifrar los datos reales. Probablemente esto es lo que se espera que haga : implementar un sistema criptográfico híbrido, por ejemplo, RSA y AES.
Para utilizar la criptografía asimétrica para cifrar algo, debe confiar en que la clave pública se origina en el receptor. Los certificados se utilizan para establecer la confianza para la clave pública dentro del certificado.
Tenga en cuenta que estos son solo los conceptos básicos. Si tiene que enviar el texto cifrado a alguna parte, entonces está intentando establecer un protocolo de transporte seguro. Eso es muy complicado, por lo que generalmente se le indicará que simplemente use SSL / TLS en su lugar.