1*2175Sjp161948=pod 2*2175Sjp161948 3*2175Sjp161948=head1 NAME 4*2175Sjp161948 5*2175Sjp161948DSA_dup_DH - create a DH structure out of DSA structure 6*2175Sjp161948 7*2175Sjp161948=head1 SYNOPSIS 8*2175Sjp161948 9*2175Sjp161948 #include <openssl/dsa.h> 10*2175Sjp161948 11*2175Sjp161948 DH * DSA_dup_DH(const DSA *r); 12*2175Sjp161948 13*2175Sjp161948=head1 DESCRIPTION 14*2175Sjp161948 15*2175Sjp161948DSA_dup_DH() duplicates DSA parameters/keys as DH parameters/keys. q 16*2175Sjp161948is lost during that conversion, but the resulting DH parameters 17*2175Sjp161948contain its length. 18*2175Sjp161948 19*2175Sjp161948=head1 RETURN VALUE 20*2175Sjp161948 21*2175Sjp161948DSA_dup_DH() returns the new B<DH> structure, and NULL on error. The 22*2175Sjp161948error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>. 23*2175Sjp161948 24*2175Sjp161948=head1 NOTE 25*2175Sjp161948 26*2175Sjp161948Be careful to avoid small subgroup attacks when using this. 27*2175Sjp161948 28*2175Sjp161948=head1 SEE ALSO 29*2175Sjp161948 30*2175Sjp161948L<dh(3)|dh(3)>, L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)> 31*2175Sjp161948 32*2175Sjp161948=head1 HISTORY 33*2175Sjp161948 34*2175Sjp161948DSA_dup_DH() was added in OpenSSL 0.9.4. 35*2175Sjp161948 36*2175Sjp161948=cut 37