mod_ssl SSLCACertificatePath utilizzo corretto o qual è il modo migliore per gestire più CA di certificati client accettabili


9

Sto tentando di utilizzare la direttiva mod_proxy SSLCACertificatePath, ma sono un po 'confuso su come usarlo correttamente.

Ecco due link che spiegano la direttiva SSLCACertificatePath:
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslcacertificatepath
http://www.modssl.org/docs/2.8/ssl_reference.html#ToC13

Non sono positivo su come creare i collegamenti simbolici con hash. Il secondo link afferma di usare il file apache make, ma sono abbastanza all'oscuro di ciò che viene detto esattamente lì.

Qualsiasi consiglio amichevole sarebbe molto apprezzato.

Grazie per il tuo tempo.

AGGIORNARE

L'obiettivo della mia domanda era capire come gestire più CA per la convalida dei certificati client degli utenti finali. Non mi rendevo conto che più certificati pem potevano essere utilizzati in un unico file, che nel mio caso è chiaramente il modo giusto di andare avanti.

Risposte:


5

Se non sei chiaro su come creare i collegamenti simbolici con nome hash, il mio suggerimento non è quello di utilizzare CACertificatePath, ma piuttosto di utilizzare CACertificateFileinvece. (In realtà questo è il mio suggerimento in generale: mantenere correttamente un CACertificateFile potrebbe essere leggermente più lavoro se si dispone di molti certificati CA che cambiano spesso, ma probabilmente non si dovrebbero avere molti certificati CA e non dovrebbero comunque cambiare molto .. .) Inoltre, sembra che il Makefile a cui si fa riferimento sia scomparso dai tarball di distribuzione di Apache (e la generale mancanza di protesta pubblica può indicare quante persone stanno usando il metodo "path" per archiviare i certificati :).

Detto questo, se vuoi ancora farlo puoi procedere secondo quello che DerfK ha detto (o prendi il vecchio Makefile o scrivi il tuo script / makefile che gira openssl x509 -noout -hashsu tutti i tuoi file di certificato e crea collegamenti simbolici con nomi appropriati).


La ringrazio per la risposta. Sfortunatamente, avremo più certificati CA e cambieranno. Sai come avere più certificati in un file? È semplice come tagliare e incollare un certificato da un file a un altro file che ha tutti i certificati?
hooknc

1
In realtà è semplice come tagliare e incollare: un tempo era ca-bundle.crtincluso con mod_ssl nei giorni Apache 1.x (ed è ancora disponibile su certifie.com/ca-bundle/ca-bundle.crt.txt ). Per tua sanità mentale vorrei commentare il file in modo da poter dire a quale blocco di certificati appartiene a quale CA se / quando è necessario modificarli in seguito.
voretaq7,

Notizie fantastiche. Molto probabilmente andremo avanti con questa soluzione. Fortunatamente qualcun altro avrà il compito di generare quel file .crt. Grazie ancora per il tuo tempo.
hooknc

4

Ho trovato un bug aperto riguardo a questo. Oltre a scaricare la vecchia versione di modssl.org a cui si fa riferimento nel bug e ottenere il Makefile da esso, sembra che tu possa ottenere il valore dell'hash openssl x509 -in foo.crt -noout -hashanche se non è chiaro a cosa si riferisca la parte ".N" (forse era per collisioni di hash (ad es. il primo certificato con hash 12345678 ha un link simbolico 12345678.1 che punta ad esso, il secondo certificato che ha lo stesso hash utilizza .2? O forse inizia con .0?)

Se ottieni il Makefile.crtfile dal vecchio modssl, credo che ciò che faresti è lasciarlo nella cartella con tutti i tuoi certificati, quindi eseguirlo make -f Makefile.crtin quella cartella.


La ringrazio per la risposta. Indicare tale segnalazione di bug ha davvero aiutato. Ecco il link diretto per il download della risorsa menzionata nel bug: modssl.org/source/mod_ssl-2.8.31-1.3.41.tar.gz Ho dato un'occhiata a Makefile.crt e credo che tu abbia ragione sullo schema di numerazione, ma non sono molto bravo con gli script * nix. <hash> .1, <hash> .2, <hash> .3, ecc ... Ho provato ad usare i comandi che mi hai consigliato e poi il link simbolico chiamato hash e tutto sembrava funzionare. Ora dovrò provare con più file CA.
uncinetto

1
La numerazione inizia con .0.
Raman,

1
Ecco il Makefilegià estratto da tar.gz: gist.github.com/rocketraman/9228a42b78e094b3c2218f6e57844ee0
Raman

L'esecuzione make -f Makefile.crtnella cartella con certificati genera Makefile.crt ... Skippederrori.
Serio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.