Ambos campos deben ser idénticos. La redundancia aparentemente estaba destinada a derrotar un oscuro vector de ataque que se basa en las debilidades que los algoritmos de firma existentes no tienen, y para objetivos no especificados. Como dice Peter Gutmann en su guía de estilo X.509 , cuando se habla del% campo signature
en la TBS:
No parece haber
mucho uso para este campo, aunque debería comprobar que el algoritmo
El identificador coincide con el de la firma en el certificado (si alguien puede falsificar
La firma en el certificado, entonces también pueden cambiar el algoritmo interno
identificador, es posible que esto haya sido incluido debido a algún ataque oscuro
donde alguien que podría convencer (roto) el algoritmo de firma A para producir el
el mismo valor de firma que el algoritmo (seguro) B podría cambiar el exterior,
identificador de algoritmo no protegido de B a A, pero no pudo cambiar el interior
Identificador sin invalidar la firma. Lo que esto lograría es
claro).
Una implementación sensata de la validación del certificado X.509 usará el campo externo ( signatureAlgorithm
) para verificar la firma, y luego verificará que el campo interno signature
coincida con el campo externo (pero al hacerlo no es el último). la verificación no dañará realmente la seguridad).