Un certificado consta de una clave pública, información de identificación y posiblemente uno o varios certificados que pertenecen a la entidad emisora de certificados.
Existen dos modos de establecer la confianza en un certificado. Se puede obtener una copia del certificado directamente del firmante; por ejemplo, en soportes físicos o a través de una transmisión digital segura como, por ejemplo, una transacción SSL. También se puede confiar en una entidad emisora de certificados para determinar si el certificado de firma es de confianza.
Para confiar en una entidad de este tipo, el certificado debe proceder de una autoridad de confianza para el equipo en el que se valida la firma. La mayor parte de los fabricantes de sistemas operativos sitúan los certificados raíz de una serie de entidades emisoras de certificados en el almacén de confianza del sistema operativo. Los usuarios también pueden añadir y eliminar certificados del almacén.
Aunque un certificado proceda de una entidad de confianza, aún debe decidir si el certificado pertenece a un usuario de confianza. En muchos casos esta decisión pertenece al usuario final. Por ejemplo, cuando se instala una aplicación de AIR, el archivo de instalación de AIR muestra información de identificación del certificado del editor cuando solicita al usuario que confirme si desea instalar la aplicación. En otros casos, se puede comparar la clave pública u otra información del certificado con una lista de claves aceptables. (Esta lista se debe asegurar, quizás mediante su propia firma, o bien, almacenándola en el almacén local cifrado de AIR, con el fin de que no se pueda manipular.)
Nota:
aunque puede optar por confiar en el certificado de firma sin verificación independiente (como cuando se trata de una firma automática), de este modo no se obtienen muchas garantías de nada al verificar la firma. Si no se conoce quién creó una firma, la garantía de que esta no se ha manipulado no es una opción muy eficaz, si es que esta opción sirve de algo. La firma podría ser una falsificación firmada con validez.
Caducidad y revocación de certificados
Todos los certificados caducan. Los certificados también se pueden revocar mediante la entidad emisora de certificados si, por ejemplo, la clave privada relacionada con el certificado se ha robado o pierde su carácter de privacidad. Si una firma aparece en un certificado caducado o revocado, la firma se notificará como no válida a no ser que se haya incluido una marca de hora como parte de la firma. Si se incluye una marca de hora, la clase XMLSignatureValidator validará la firma si el certificado era válido en el momento de la firma.
Una marca de hora es un mensaje digital firmado procedente de un servicio de marca de hora que certifica que los datos se firmaron en una fecha y horas concretas. Las marcas de hora provienen de entidades emisoras y se firman mediante el propio certificado de la entidad emisora de marcas de hora. El certificado de la entidad emisora incorporado a la marca de hora debe ser de confianza en el equipo actual para que la marca de hora se considere válida. XMLSignatureValidator no proporciona ninguna API para designar un certificado diferente para su uso en la validación de marcas de hora.