While building a context through openssl, if I do not provide a certificate by using the function
SSL_CTX_use_certificate, would all the connections from that context default to anonymous diffie-hellman? Or can there be another reason for that.
In order to use ADH (anonymous diffie-hellman) the relevant ciphers need to be enabled by both client and server. This is by default not the case for OpenSSL and for common clients (like browsers) and that's why ADH will not be used.