Estoy tratando de crear un entorno con CAs con firma cruzada, y verificar un certificado emitido contra una de las CA, todas usando openssl
. Lo mejor que obtuve hasta ahora es obtener openssl
en un bucle sin fin mientras se verifica (el bucle termina en el nivel 100).
He publicado todos los certificados que creé . Ahora, hay una serie de suposiciones que estoy haciendo y que se basan en gran medida en este documento Oasis para construir el modelo. Aquí están mis suposiciones:
- Debe haber 4 certificados, autofirmados por las autoridades # 1 y # 2, y con firma cruzada, donde la autoridad # 1 está firmada por la autoridad # 2 y viceversa.
- Solo se utilizan 2 sujetos reales (DN) (el mismo sujeto utilizado por una autoridad para autofirmado es lo que ha firmado por la otra autoridad, aunque en un certificado diferente).
- Los 4 certificados deben ser parte de la confianza del usuario final.
- Las claves utilizadas por la misma autoridad, tanto para certificados autofirmados como para certificados cruzados deben ser el mismo
- La AKI no debe usarse (puede ser "no debería" es una palabra muy fuerte, pero no usarla no debe doler. Debido a la misma regla de las teclas, no debería importar)
- Intenté establecer CA: VERDADERO para certificados firmados con el mismo resultado.
Mi comprensión de la firma cruzada, es que le da al proceso de verificación rutas alternativas. Teniendo en cuenta que veo openssl
loop, parece que está seleccionando certificados firmados cada vez. Entonces, el punto crucial de la pregunta es: ¿qué haría que el proceso de verificación favoreciera el certificado autofirmado sobre el firmado de forma cruzada, considerando que ambos tienen el mismo tema?
Aquí hay un certificado de hoja de prueba , no puedo hacer openssl verify
para verificarlo correctamente.
[vps@druid]~/ws/EF/pki3$ openssl verify -verbose -CAfile cas.pem cert.pem
cert.pem: C = US, O = Excelfore, OU = PoC, CN = xl4 CA 2
error 2 at 100 depth lookup:unable to get issuer certificate