Come posso scoprire, dove il mio OpenSSL installato è alla ricerca di certificati installati (attendibile)?
Non è possibile. OpenSSL non si fida di nulla per impostazione predefinita e non cerca i certificati. Devi istruirlo su cosa fidarti. C'è anche una FAQ argomento coprendolo: Why does <SSL program>
fail with a certificate verify error?:
Questo problema è di solito indicato da messaggi di log dicendo qualcosa come "incapace di ottenere il certificato emittente locale" o "self firmato certificato". Quando un certificato viene verificato, la CA radice deve essere "trusted" di OpenSSL, ciò significa che il certificato CA deve essere inserito in una directory o in un file e il relativo programma configurato per leggerlo. Il programma 'verifica' di OpenSSL si comporta in modo simile e emette messaggi di errore simili: consultare la pagina di manuale del programma di verifica (1) per ulteriori informazioni.
risposta di Caf è una specie di corretto, ma OpenSSL non lo usa e non c'è niente lì ...
$ grep -R X509_get_default_cert_dir *
...
crypto/x509/x509_def.c:const char *X509_get_default_cert_dir(void)
...
In quanto sopra, si noti lo fa non colpo su qualsiasi cosa in la directory apps/
. apps/
è dove tutti i campioni di OpenSSL e le utilità sono, come openssl req
, openssl rsa
, openssl dsa
, openssl x509
, openssl sign
, openssl verify
, ecc
Poi:
$ cat crypto/x509/x509_def.c
...
const char *X509_get_default_cert_dir(void)
{ return(X509_CERT_DIR); }
...
$ grep -R X509_CERT_DIR *
crypto/cryptlib.h:#define X509_CERT_DIR OPENSSLDIR "/certs"
E infine:
$ ls /usr/local/ssl/certs/
$
Come Ho detto che non è usato e non c'è niente lì.
Prova a cercare il tipo di sistema in questa pagina: http://gagravarr.org/writing/openssl-certs/ others.shtml – indiv