Como usar o SSL_CERT_FILE para o OpenSSL Windows (OpenSSL 1.0.1c)

Como (se de todo) pode-se definir um único arquivo de certificado confiável para o OpenSSL no Windows (Win-7, OpenSSL 1.0.1c) usando a variável de ambiente SSL_CERT_FILE?

Várias pesquisas levaram-me a baixar a versão de dezembro '12 dos certificados confiáveis ​​da Mozilla no formato PEM, a partir daqui:http://curl.haxx.se/docs/caextract.html Isso contém todos os certs e informações relacionadas, concatenadas em um único arquivo.

Eu encontrei várias referências ao uso das variáveis ​​de ambiente SSL_CERT_DIR e SSL_CERT_FILE em relação a outros produtos que dependem do OpenSSL. Por exemplo,http://lynx.isc.org/current/README.sslcerts indica que é possível definir ambos, e as bibliotecas OpenSSL subjacentes os usarão. No entanto, essa não tem sido minha experiência com a própria ferramenta OpenSSL.

Consegui usar o SSL_CERT_DIR com sucesso, mas com muita dor, como segue. Eu exportei (do IE 8) o certificado de www.wellsfargo.com (selecionado aleatoriamente), junto com os dois certificados em sua cadeia de confiança, ambos da Verisign. Eu coloquei cada um dos dois certificados Verisign em um diretório C: \ ca_stuff, e para cada um, gerou um hash assim

openssl x509 -hash -noout -em "Verisign Intl Server.cer"

que tinha saída a302054c, e a partir disso criou um link assim

mklink a302054c.0 "Verisign Intl Server.cer"

e também para o outro certificado da Verisign. Eu então coloquei o certificado Wells Fargo. em um diretório diferente, e foi capaz de verificar com sucesso usando

set SSL_CERT_DIR = C: \ ca_stuff openssl verificar "Wells Fargo web.cer"

No entanto, depois de definir SSL_CERT_FILE, apontando para o cacert.pem transferido por download baixado do site cURL, o mesmo comando falhou. Ele fez isso com e sem ter o SSL_CERT_DIR definido. Verifiquei se os certificados de CA necessários estavam no pacote e confirmei que seus números de série correspondiam aos que eu extraíra manualmente do IE.

Parece um processo árduo extrair manualmente cada certificado e colocá-lo em seu próprio arquivo com um link de hash apontando para ele. Se fosse o Unix, eu poderia automatizá-lo, mas no Windows ... Eu aparentemente não entendi nada sobre como obter um grande arquivo de certificado de CA trabalhando com o OpenSSL.

Agradecemos antecipadamente por quaisquer recomendações, insights e assistência.

questionAnswers(1)

yourAnswerToTheQuestion