=pod

=head1 NAME

DSA_dup_DH - create a DH structure out of DSA structure

=head1 SYNOPSIS

 #include <openssl/dsa.h>

 DH * DSA_dup_DH(const DSA *r);

=head1 DESCRIPTION

DSA_dup_DH() duplicates DSA parameters/keys as DH parameters/keys. q
is lost during that conversion, but the resulting DH parameters
contain its length.

=head1 RETURN VALUE

DSA_dup_DH() returns the new B<DH> structure, and NULL on error. The
error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.

=head1 NOTE

Be careful to avoid small subgroup attacks when using this.

=head1 SEE ALSO

L<dh(3)|dh(3)>, L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>

=head1 HISTORY

DSA_dup_DH() was added in OpenSSL 0.9.4.

=cut
