A certificate will not enforce the use of anon DH (ADH), but the server can. And, you don't need to have any certificates with ADH. I've tried it with a recent IO::Socket::SSL (1.973) in Perl:
use strict;
use warnings;
use IO::Socket::SSL;
my $srv = IO::Socket::SSL->new(
LocalPort => 1234,
Listen => 10,
SSL_cipher_list => "ADH"
) or die;
my $cl = $srv->accept or die;
print $cl $cl->get_cipher,"\n";
Then connecting with openssl s_client -connect 127.0.0.1:1234 -cipher ALL
I get:
CONNECTED(00000003)
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 850 bytes and written 601 bytes
---
New, TLSv1/SSLv3, Cipher is ADH-AES256-SHA
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.1
Cipher : ADH-AES256-SHA
....
Verify return code: 0 (ok)
---
ADH-AES256-SHA
read:errno=0
As you see, it negotiates an ADH cipher and successfully connects without an certificate. To test it for your own you really need a recent version of IO::Socket::SSL.