simplifications
[openssl.git] / crypto / ecdsa / ecs_asn1.c
index 3a5baf013b1700142ef254b872d1adc275681f46..886cd01db202f3c6cd78db420eaf9184554e82e6 100644 (file)
 
 static point_conversion_form_t POINT_CONVERSION_FORM = POINT_CONVERSION_COMPRESSED;
 
-/* Override the default new methods */
-static int sig_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it)
-{
-       if(operation == ASN1_OP_NEW_PRE) {
-               ECDSA_SIG *sig;
-               sig = OPENSSL_malloc(sizeof(ECDSA_SIG));
-               if (sig == NULL)
-               {
-                       ECDSAerr(ECDSA_F_SIG_CB, ERR_R_MALLOC_FAILURE);
-                       return 0;
-               }
-               sig->r = NULL;
-               sig->s = NULL;
-               *pval = (ASN1_VALUE *)sig;
-               return 2;
-       }
-       return 1;
-}
-
-ASN1_SEQUENCE_cb(ECDSA_SIG, sig_cb) = {
+ASN1_SEQUENCE(ECDSA_SIG) = {
        ASN1_SIMPLE(ECDSA_SIG, r, CBIGNUM),
        ASN1_SIMPLE(ECDSA_SIG, s, CBIGNUM)
-} ASN1_SEQUENCE_END_cb(ECDSA_SIG, ECDSA_SIG)
+} ASN1_SEQUENCE_END(ECDSA_SIG)
 
 IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG)
 
@@ -119,7 +100,7 @@ ASN1_CHOICE(EC_PARAMETERS) = {
        ASN1_SIMPLE(EC_PARAMETERS, value.implicitlyCA, ASN1_NULL)
 } ASN1_CHOICE_END(EC_PARAMETERS)
 
-IMPLEMENT_ASN1_FUNCTIONS_const(EC_PARAMETERS);
+IMPLEMENT_ASN1_FUNCTIONS_const(EC_PARAMETERS)
              
 ASN1_SEQUENCE(ECDSAPrivateKey) = {
        ASN1_SIMPLE(ECDSAPrivateKey, version, LONG),
@@ -439,7 +420,7 @@ ECDSA         *ECDSA_x9_62parameters2ecdsa(const X9_62_EC_PARAMETERS *params, EC
                if ((point = EC_POINT_new(ret->group)) == NULL) goto err;
        }
        else OPENSSL_ECDSA_ABORT(ECDSA_R_WRONG_FIELD_IDENTIFIER)
-       if (params->curve->seed != NULL && params->curve->seed->data > 0)
+       if (params->curve->seed != NULL)
        {
                if (ret->seed != NULL)
                        OPENSSL_free(ret->seed);
@@ -502,7 +483,7 @@ ECDSA *ECDSA_ecparameters2ecdsa(const EC_PARAMETERS *params, ECDSA *ecdsa)
                        EC_GROUP_free(ret->group);
                tmp = OBJ_obj2nid(params->value.named_curve);
                ret->parameter_flags |= ECDSA_FLAG_NAMED_CURVE;
-               if ((ret->group = EC_GROUP_get_group_by_name(tmp)) == NULL)
+               if ((ret->group = EC_GROUP_new_by_name(tmp)) == NULL)
                {
                        ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_EC_GROUP_NID2CURVE_FAILURE);
                        ECDSA_free(ret);