Sto provando a creare un ambiente con le CA con firma incrociata e a verificare un certificato emesso contro una CA, tutte utilizzando openssl
. Il meglio che ho ottenuto finora è ottenere openssl
in un ciclo infinito durante la verifica (il ciclo termina al livello 100).
Ho pubblicato tutti i certificati che ho creato . Ora, ci sono un certo numero di ipotesi che sto facendo e in gran parte basate su questo documento Oasis per costruire il modello. Ecco le mie ipotesi:
- Ci dovrebbero essere 4 certificati, autofirmati dalle autorità # 1 e # 2, e firmati a croce, dove l'autorità # 1 è firmata dall'autorità n. 2 e viceversa.
- Esistono solo 2 soggetti effettivi (DN) utilizzati (lo stesso argomento utilizzato da un'autorità per l'autofirmazione è ciò che ha firmato dall'autorità, anche se in un diverso certificato).
- Tutti e 4 i certificati dovrebbero essere la parte del trust dell'utente finale.
- Le chiavi utilizzate dalla stessa autorità, sia per i certificati autofirmati che per i certificati incrociati devono essere lo stesso
- L'AKI non dovrebbe essere usato (potrebbe essere "should not" è troppo di una parola strong, ma non usarla non dovrebbe far male. A causa della stessa regola delle chiavi, non dovrebbe avere importanza)
- Ho provato a impostare CA: TRUE per i certificati cross-signed, con lo stesso risultato.
La mia conoscenza della cross-sign è che dà al processo di verifica percorsi alternativi. Considerando che vedo openssl
loop, sembra che stia selezionando i certificati con firma incrociata ogni volta. Quindi il punto cruciale della domanda è: cosa farebbe la procedura di verifica per favorire il certificato autofirmato rispetto a quello con firma incrociata, considerando che entrambi hanno lo stesso soggetto.
Questo è un certificato foglia di prova , non posso fare openssl verify
per verificarlo correttamente.
[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