So after 1 hour of googling I found out that cadaver fetches the CA certs from an not well defined "ca-bundle.crt" file and that the version compiled in debian lenny (0.22.5-2) doesn't have it defined. And (what is worse) you can define the variable only at compilation time.
So if you run into the same problem. Just do this:
1) Get the cert:
echo "quit" | openssl s_client -connect host:port 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cert
2) Added the cert to the certificates bundle file:
cat cert >> /etc/ssl/certs/ca-certificates.crt
3) Get cadaver sources:
apt-get source cadaver
4) Recompile them with the right options:
./configure --with-ca-bundle="/etc/ssl/certs/ca-certificates.crt" --with-ssl && make
5) Use the compiled version instead of the installed one in your script (or make install to install it)
Worked like a charm!
ReplyDeleteThank you very much for the tips.
bruce
Great, that was a big help for me!
ReplyDeleteI found great information from your blog,keep posting this kind of stuff ahead.thanks for share with us.
ReplyDeleteThanks for taking the time to write this post, it's been a great help and it works brilliantly.
ReplyDeletehttp://gagravarr.org/writing/openssl-certs/others.shtml
ReplyDeletejust change in cadaver.c return !yesno(); to return 1; and then make
ReplyDelete