@@ -740,7 +740,7 @@ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
740740}
741741# endif
742742
743- void * EVP_PKEY_get0 (const EVP_PKEY * pkey )
743+ const void * EVP_PKEY_get0 (const EVP_PKEY * pkey )
744744{
745745 if (pkey == NULL )
746746 return NULL ;
@@ -750,7 +750,7 @@ void *EVP_PKEY_get0(const EVP_PKEY *pkey)
750750
751751const unsigned char * EVP_PKEY_get0_hmac (const EVP_PKEY * pkey , size_t * len )
752752{
753- ASN1_OCTET_STRING * os = NULL ;
753+ const ASN1_OCTET_STRING * os = NULL ;
754754 if (pkey -> type != EVP_PKEY_HMAC ) {
755755 ERR_raise (ERR_LIB_EVP , EVP_R_EXPECTING_AN_HMAC_KEY );
756756 return NULL ;
@@ -763,7 +763,7 @@ const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len)
763763# ifndef OPENSSL_NO_POLY1305
764764const unsigned char * EVP_PKEY_get0_poly1305 (const EVP_PKEY * pkey , size_t * len )
765765{
766- ASN1_OCTET_STRING * os = NULL ;
766+ const ASN1_OCTET_STRING * os = NULL ;
767767 if (pkey -> type != EVP_PKEY_POLY1305 ) {
768768 ERR_raise (ERR_LIB_EVP , EVP_R_EXPECTING_A_POLY1305_KEY );
769769 return NULL ;
@@ -777,7 +777,7 @@ const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len)
777777# ifndef OPENSSL_NO_SIPHASH
778778const unsigned char * EVP_PKEY_get0_siphash (const EVP_PKEY * pkey , size_t * len )
779779{
780- ASN1_OCTET_STRING * os = NULL ;
780+ const ASN1_OCTET_STRING * os = NULL ;
781781
782782 if (pkey -> type != EVP_PKEY_SIPHASH ) {
783783 ERR_raise (ERR_LIB_EVP , EVP_R_EXPECTING_A_SIPHASH_KEY );
@@ -790,7 +790,7 @@ const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len)
790790# endif
791791
792792# ifndef OPENSSL_NO_DSA
793- DSA * EVP_PKEY_get0_DSA (const EVP_PKEY * pkey )
793+ static DSA * evp_pkey_get0_DSA_int (const EVP_PKEY * pkey )
794794{
795795 if (pkey -> type != EVP_PKEY_DSA ) {
796796 ERR_raise (ERR_LIB_EVP , EVP_R_EXPECTING_A_DSA_KEY );
@@ -799,6 +799,11 @@ DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey)
799799 return evp_pkey_get_legacy ((EVP_PKEY * )pkey );
800800}
801801
802+ const DSA * EVP_PKEY_get0_DSA (const EVP_PKEY * pkey )
803+ {
804+ return evp_pkey_get0_DSA_int (pkey );
805+ }
806+
802807int EVP_PKEY_set1_DSA (EVP_PKEY * pkey , DSA * key )
803808{
804809 int ret = EVP_PKEY_assign_DSA (pkey , key );
@@ -808,7 +813,8 @@ int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
808813}
809814DSA * EVP_PKEY_get1_DSA (EVP_PKEY * pkey )
810815{
811- DSA * ret = EVP_PKEY_get0_DSA (pkey );
816+ DSA * ret = evp_pkey_get0_DSA_int (pkey );
817+
812818 if (ret != NULL )
813819 DSA_up_ref (ret );
814820 return ret ;
@@ -818,7 +824,7 @@ DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
818824
819825#ifndef FIPS_MODULE
820826# ifndef OPENSSL_NO_EC
821- static ECX_KEY * evp_pkey_get0_ECX_KEY (const EVP_PKEY * pkey , int type )
827+ static const ECX_KEY * evp_pkey_get0_ECX_KEY (const EVP_PKEY * pkey , int type )
822828{
823829 if (EVP_PKEY_base_id (pkey ) != type ) {
824830 ERR_raise (ERR_LIB_EVP , EVP_R_EXPECTING_A_ECX_KEY );
@@ -829,7 +835,7 @@ static ECX_KEY *evp_pkey_get0_ECX_KEY(const EVP_PKEY *pkey, int type)
829835
830836static ECX_KEY * evp_pkey_get1_ECX_KEY (EVP_PKEY * pkey , int type )
831837{
832- ECX_KEY * ret = evp_pkey_get0_ECX_KEY (pkey , type );
838+ ECX_KEY * ret = ( ECX_KEY * ) evp_pkey_get0_ECX_KEY (pkey , type );
833839 if (ret != NULL )
834840 ossl_ecx_key_up_ref (ret );
835841 return ret ;
@@ -859,7 +865,7 @@ int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key)
859865 return ret ;
860866}
861867
862- DH * EVP_PKEY_get0_DH (const EVP_PKEY * pkey )
868+ DH * evp_pkey_get0_DH_int (const EVP_PKEY * pkey )
863869{
864870 if (pkey -> type != EVP_PKEY_DH && pkey -> type != EVP_PKEY_DHX ) {
865871 ERR_raise (ERR_LIB_EVP , EVP_R_EXPECTING_A_DH_KEY );
@@ -868,9 +874,15 @@ DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey)
868874 return evp_pkey_get_legacy ((EVP_PKEY * )pkey );
869875}
870876
877+ const DH * EVP_PKEY_get0_DH (const EVP_PKEY * pkey )
878+ {
879+ return evp_pkey_get0_DH_int (pkey );
880+ }
881+
871882DH * EVP_PKEY_get1_DH (EVP_PKEY * pkey )
872883{
873- DH * ret = EVP_PKEY_get0_DH (pkey );
884+ DH * ret = evp_pkey_get0_DH_int (pkey );
885+
874886 if (ret != NULL )
875887 DH_up_ref (ret );
876888 return ret ;
@@ -2166,7 +2178,7 @@ int EVP_PKEY_get_ec_point_conv_form(const EVP_PKEY *pkey)
21662178 || pkey -> keydata == NULL ) {
21672179#ifndef OPENSSL_NO_EC
21682180 /* Might work through the legacy route */
2169- EC_KEY * ec = EVP_PKEY_get0_EC_KEY (pkey );
2181+ const EC_KEY * ec = EVP_PKEY_get0_EC_KEY (pkey );
21702182
21712183 if (ec == NULL )
21722184 return 0 ;
@@ -2206,7 +2218,7 @@ int EVP_PKEY_get_field_type(const EVP_PKEY *pkey)
22062218 || pkey -> keydata == NULL ) {
22072219#ifndef OPENSSL_NO_EC
22082220 /* Might work through the legacy route */
2209- EC_KEY * ec = EVP_PKEY_get0_EC_KEY (pkey );
2221+ const EC_KEY * ec = EVP_PKEY_get0_EC_KEY (pkey );
22102222 const EC_GROUP * grp ;
22112223
22122224 if (ec == NULL )
0 commit comments