Come posso mantenere la mia corrente Cacer.pem per motivi di sicurezza quando si utilizza il ricciolo?

StackOverflow https://stackoverflow.com//questions/23032165

Domanda

Vorrei mantenere il mio certificati di radice corrente per l'uso con il comando curltaGcode interno di Curl e PHP, tuttavia non esiste un parametro attualmente scaricare il file corrente richiesto per una connessione sicura adeguata e mantenerla corrente.

ed esempio di utilizzo di curl in PHP per una connessione sicura che richiede un file denominato cacert.pem (catena di certificazione codificata PEM per la convalida dei collegamenti remoti) è il seguente:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.google.com");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_CAINFO, "pathto/cacert.pem");
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
if (!($data = curl_exec($ch))) {
    echo "No data received";
} else {
    echo strlen($data) + " total byte(s)";
}
curl_close($ch);
.

Mentre la maggior parte delle persone imposta semplicemente CURLOPT_SSL_VERIFYPEER to False, e quindi ignorare il problema, che è cattiva . Puoi Vedi qui dove a L'autorità di certificazione mostra che se non si dispone di questa corrente di file, l'unico modo per connettersi a un server sicuro è quello di disabilitare il controllo del certificato e ulteriori avvertenze delle implicazioni dietro la disattivazione della verifica dei peer .

Quello che sto richiedendo è per un modo legittimo per mantenere una copia locale di cacert.pem in modo che quando utilizzo curl in PHP per comunicare con altri server, posso continuare a farlo in modo sicuro . .

Non è una richiesta di risorse esterne o collegamento fuori sede ecc. Tuttavia, a causa della natura del problema, è probabile che possa essere l'unico modo per risolversi questo in quanto richiederebbe un aggiornamento continuo come le catene di certificazione sono revocato. Ad oggi, non c'è modo di ottenere questo file sia come parte della distribuzione del ricciolo stesso o PHP o della libreria Curl per PHP e continuare a mantenerlo. Mentre sta scoraggiando che questo non è qualcosa che un comando di aggiornamento semplice come curl --update-root-ca sarebbe bello, non esiste in nessuna forma.

È stato utile?

Soluzione

Dal momento che inizialmente scrivendo questo articolo, (e quindi questa riscrittura), sono stato in grado di risolvere il mio problema includendo link direttamente all'origine legittimate per mantenere questo file fornito sul sito Mantenuto dall'autore di curl at Questa posizione

Inoltre, in quanto la tecnologia sta avanzando questa domanda è stata aggiornata per mostrare come utilizzare curl in Connessione PHP e Force TLS V1.2 (qualcosa in cui alcuni fornitori di transazione richiedono o raccomandano e potrebbero non fornire le informazioni su come eseguire questa operazione).

Per quanto riguarda le autorità dei certificati, ci sono alcune autorità fondamentali chiave come:

    .
  • Symantec
  • rapidsl
  • Thawte
  • GeoTRUST
  • comodo

così come altre autorità dalla loro natura come

    .
  • Microsoft
  • mozilla
  • Google

che può essere una cornice per chiunque cerchi di mantenere il proprio cacer.pem. Tieni presente che avresti bisogno di scaricare i loro elenchi di revoca (certificati che sono stati violati o scaduti) dai rispettivi CRL per mantenere un corretto meccanismo fiduciario, mentre dovresti essere in grado di allontanarsi con basta scaricare le loro catene di certificazione radice e usando quelli come file autorevole locale come tuo cacer.pem.

Altri suggerimenti

cacert.pem viene utilizzato da curl.Non vi è alcuna autorità definitiva su cui devono essere affidati i certificati, ma Gli elenchi utilizzati dai browser Web sono una buona fonte .Queste liste sono costantemente aggiornate a causa delle modifiche CA e delle modifiche alle pratiche di sicurezza.

Gli autori di curl mantengono uno strumento che può estrarre un cacert.pem da Firefox e pubblica un'uscita ragionevolmente aggiornata sul proprio sito:

    .
  • cacert.pem generato dagli autori di curl
  • Caextract : Per la maggior parte della sicurezza consapevole, scaricare lo strumento, ispezionare la fontecodice ed eseguilo contro il tuo firefox.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top