Simplify DSAPublicKey_it
authortb <tb@openbsd.org>
Fri, 14 Jan 2022 08:29:06 +0000 (08:29 +0000)
committertb <tb@openbsd.org>
Fri, 14 Jan 2022 08:29:06 +0000 (08:29 +0000)
commit354ae18b989bec352eae83580002a22da841f5a6
tree205f5c6aac391ef36c75691df4ee71c27d112db4
parent339abe94df18967525a625d9cb975f5d81331758
Simplify DSAPublicKey_it

This was obtained by porting the OpenSSL commit below and then using
expand_crypto_asn1.go to unroll the new ASN.1 macros - actually the
ones from 987157f6f63 which fixed the omission of dsa_cb() in the
first commit.

ok inoguchi jsing

commit ea6b07b54c1f8fc2275a121cdda071e2df7bd6c1
Author: Dr. Stephen Henson <steve@openssl.org>
Date:   Thu Mar 26 14:35:49 2015 +0000

    Simplify DSA public key handling.

    DSA public keys could exist in two forms: a single Integer type or a
    SEQUENCE containing the parameters and public key with a field called
    "write_params" deciding which form to use. These forms are non standard
    and were only used by functions containing "DSAPublicKey" in the name.

    Simplify code to only use the parameter form and encode the public key
    component directly in the DSA public key method.

Reviewed-by: Richard Levitte <levitte@openssl.org>
lib/libcrypto/dsa/dsa_ameth.c
lib/libcrypto/dsa/dsa_asn1.c
lib/libcrypto/dsa/dsa_lib.c
lib/libcrypto/dsa/dsa_locl.h