> The important question is, "who signed the certificate you created?"
>
> Typically, the certificate is signed by a trusted Certificate
> authority (CA) where "trusted" means that your browser has the CA's
> root certificate in it's list of trusted CA's. Look at your browser.
> There are probably 10-20 root CA certificates.
>
> The hacker can't create exactly the same certificate since the CA
> won't sign it.
I used the HowTo I found via Google:
http://makeashorterlink.com/?G54413D19
So I signed the certificate by myself (openssl ca ...).
I think I just found out that I need SSL_CTX_load_verify_locations
(with my cacert.pem) and SSL_get_verify_result for that what I want,
but I keep getting error X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
on SSL_get_verify_result. SSL_CTX_load_verify_locations does not fail.
Here ist the part of my code:
----------
mpSSLCertificate = SSL_get_peer_certificate(mpSSL);
[...] // ::connect, SSL-connect, ...
if (mpSSLCertificate != NULL)
{
SSL_CTX_set_options(mpSSLContext, SSL_VERIFY_PEER);
if (SSL_CTX_load_verify_locations(mpSSLContext, "./cacert.pem",
NULL) == 1)
{
int verifyResult = SSL_get_verify_result(mpSSL);
if (verifyResult == X509_V_OK)
{
[...]
}
else
{
[...]
// ***** I always get
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
}
}
else
{
[...]
}
X509_free(mpSSLCertificate);
}
else
{
[...]
}
----------
If I use command-line openssl
openssl verify cacert.pem
I don't get this error but X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
what sounds ok as it is a self signed certificate.
So
1) how can I get rid of X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY,
what am I missing (as you might have seen, I am very new to SSL
and sockets), and
2) what do I have to do to get X509_V_OK instead of
X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT?
Ciao and bye,
(:Clemens:)
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]