[test] ECC: make sure negative tests pass for the right reasons
authorBilly Brumley <bbrumley@gmail.com>
Wed, 22 Aug 2018 06:50:43 +0000 (09:50 +0300)
committerNicola Tuveri <nic.tuv@gmail.com>
Sat, 29 Sep 2018 09:44:22 +0000 (12:44 +0300)
This is a backport of #7028 to 1.1.0.

It squashes the two original commits and applies changes for
compatibility with 1.1.0.

1. cherry picked from commit 30c41bfb158c0f595809d0eaf032926a3c2cf236
    [test] ECC: make sure negative tests pass for the right reasons
2. cherry picked from commit bfb10b975818d1887d676d309fcc21a765611f6d
    [test] throw error from wrapper function instead of an EC_METHOD specific one

Given that in 1.1.0 `EC_POINT_get_affine_coordinates_GFp` and
`EC_POINT_get_affine_coordinates_GF2m` have not been unified, in this
backport the tests distinguish between the 2 different functions as the
cause of the expected error.

[extended tests] to trigger sanitizer checks and coverage analysis.

Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7152)

crypto/ec/ec_lib.c
test/recipes/30-test_evp_data/evppkey.txt
test/recipes/30-test_evp_data/evppkey_ecc.txt

index e256e4e5118066b27cc815ae320aa5830e7ea01b..d665556d5788c2d95aca6b434dc4f8664401a2d1 100644 (file)
@@ -756,6 +756,11 @@ int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group,
               EC_R_INCOMPATIBLE_OBJECTS);
         return 0;
     }
+    if (EC_POINT_is_at_infinity(group, point)) {
+        ECerr(EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP,
+              EC_R_POINT_AT_INFINITY);
+        return 0;
+    }
     return group->meth->point_get_affine_coordinates(group, point, x, y, ctx);
 }
 
@@ -774,6 +779,11 @@ int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group,
               EC_R_INCOMPATIBLE_OBJECTS);
         return 0;
     }
+    if (EC_POINT_is_at_infinity(group, point)) {
+        ECerr(EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M,
+              EC_R_POINT_AT_INFINITY);
+        return 0;
+    }
     return group->meth->point_get_affine_coordinates(group, point, x, y, ctx);
 }
 #endif
index 5ac0a3154aac9ed166367012ea46efb5a71d282c..e0d8b4ff10631e924ddc912d3ab795f0f79dc50f 100644 (file)
@@ -16046,6 +16046,8 @@ Derive=ALICE_cf_sect283k1
 PeerKey=BOB_cf_sect283k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result = DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 
 # Test mismatches
index 66be9ff37d718b7a2d5fc4d0c6929537bc853acc..ae9a543571336f2e92c92d0985a1efa3d9af6843 100644 (file)
@@ -623,12 +623,16 @@ Derive=BOB_cf_c2pnb163v1
 PeerKey=MALICE_cf_c2pnb163v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb163v1
 PeerKey=MALICE_cf_c2pnb163v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2pnb163v2 curve tests
 
@@ -691,12 +695,16 @@ Derive=BOB_cf_c2pnb163v2
 PeerKey=MALICE_cf_c2pnb163v2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb163v2
 PeerKey=MALICE_cf_c2pnb163v2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2pnb163v3 curve tests
 
@@ -759,12 +767,16 @@ Derive=BOB_cf_c2pnb163v3
 PeerKey=MALICE_cf_c2pnb163v3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb163v3
 PeerKey=MALICE_cf_c2pnb163v3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2pnb176v1 curve tests
 
@@ -827,12 +839,16 @@ Derive=BOB_cf_c2pnb176v1
 PeerKey=MALICE_cf_c2pnb176v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb176v1
 PeerKey=MALICE_cf_c2pnb176v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2pnb208w1 curve tests
 
@@ -897,12 +913,16 @@ Derive=BOB_cf_c2pnb208w1
 PeerKey=MALICE_cf_c2pnb208w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb208w1
 PeerKey=MALICE_cf_c2pnb208w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2pnb272w1 curve tests
 
@@ -967,12 +987,16 @@ Derive=BOB_cf_c2pnb272w1
 PeerKey=MALICE_cf_c2pnb272w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb272w1
 PeerKey=MALICE_cf_c2pnb272w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2pnb304w1 curve tests
 
@@ -1037,12 +1061,16 @@ Derive=BOB_cf_c2pnb304w1
 PeerKey=MALICE_cf_c2pnb304w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb304w1
 PeerKey=MALICE_cf_c2pnb304w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2pnb368w1 curve tests
 
@@ -1110,12 +1138,16 @@ Derive=BOB_cf_c2pnb368w1
 PeerKey=MALICE_cf_c2pnb368w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2pnb368w1
 PeerKey=MALICE_cf_c2pnb368w1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb191v1 curve tests
 
@@ -1180,12 +1212,16 @@ Derive=BOB_cf_c2tnb191v1
 PeerKey=MALICE_cf_c2tnb191v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb191v1
 PeerKey=MALICE_cf_c2tnb191v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb191v2 curve tests
 
@@ -1250,12 +1286,16 @@ Derive=BOB_cf_c2tnb191v2
 PeerKey=MALICE_cf_c2tnb191v2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb191v2
 PeerKey=MALICE_cf_c2tnb191v2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb191v3 curve tests
 
@@ -1320,12 +1360,16 @@ Derive=BOB_cf_c2tnb191v3
 PeerKey=MALICE_cf_c2tnb191v3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb191v3
 PeerKey=MALICE_cf_c2tnb191v3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb239v1 curve tests
 
@@ -1390,12 +1434,16 @@ Derive=BOB_cf_c2tnb239v1
 PeerKey=MALICE_cf_c2tnb239v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb239v1
 PeerKey=MALICE_cf_c2tnb239v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb239v2 curve tests
 
@@ -1460,12 +1508,16 @@ Derive=BOB_cf_c2tnb239v2
 PeerKey=MALICE_cf_c2tnb239v2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb239v2
 PeerKey=MALICE_cf_c2tnb239v2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb239v3 curve tests
 
@@ -1530,12 +1582,16 @@ Derive=BOB_cf_c2tnb239v3
 PeerKey=MALICE_cf_c2tnb239v3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb239v3
 PeerKey=MALICE_cf_c2tnb239v3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb359v1 curve tests
 
@@ -1603,12 +1659,16 @@ Derive=BOB_cf_c2tnb359v1
 PeerKey=MALICE_cf_c2tnb359v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb359v1
 PeerKey=MALICE_cf_c2tnb359v1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=c2tnb431r1 curve tests
 
@@ -1676,12 +1736,16 @@ Derive=BOB_cf_c2tnb431r1
 PeerKey=MALICE_cf_c2tnb431r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_c2tnb431r1
 PeerKey=MALICE_cf_c2tnb431r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=prime192v1 curve tests
 
@@ -2057,12 +2121,16 @@ Derive=BOB_cf_secp112r2
 PeerKey=MALICE_cf_secp112r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GFp
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_secp112r2
 PeerKey=MALICE_cf_secp112r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GFp
+Reason=point at infinity
 
 # Title=secp128r1 curve tests
 
@@ -2158,12 +2226,16 @@ Derive=BOB_cf_secp128r2
 PeerKey=MALICE_cf_secp128r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GFp
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_secp128r2
 PeerKey=MALICE_cf_secp128r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GFp
+Reason=point at infinity
 
 # Title=secp160k1 curve tests
 
@@ -2579,12 +2651,16 @@ Derive=BOB_cf_sect113r1
 PeerKey=MALICE_cf_sect113r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect113r1
 PeerKey=MALICE_cf_sect113r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect113r2 curve tests
 
@@ -2644,12 +2720,16 @@ Derive=BOB_cf_sect113r2
 PeerKey=MALICE_cf_sect113r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect113r2
 PeerKey=MALICE_cf_sect113r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect131r1 curve tests
 
@@ -2712,12 +2792,16 @@ Derive=BOB_cf_sect131r1
 PeerKey=MALICE_cf_sect131r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect131r1
 PeerKey=MALICE_cf_sect131r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect131r2 curve tests
 
@@ -2780,12 +2864,16 @@ Derive=BOB_cf_sect131r2
 PeerKey=MALICE_cf_sect131r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect131r2
 PeerKey=MALICE_cf_sect131r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect163k1 curve tests
 
@@ -2848,12 +2936,16 @@ Derive=BOB_cf_sect163k1
 PeerKey=MALICE_cf_sect163k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect163k1
 PeerKey=MALICE_cf_sect163k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect163r1 curve tests
 
@@ -2916,12 +3008,16 @@ Derive=BOB_cf_sect163r1
 PeerKey=MALICE_cf_sect163r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect163r1
 PeerKey=MALICE_cf_sect163r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect163r2 curve tests
 
@@ -2984,12 +3080,16 @@ Derive=BOB_cf_sect163r2
 PeerKey=MALICE_cf_sect163r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect163r2
 PeerKey=MALICE_cf_sect163r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect193r1 curve tests
 
@@ -3052,12 +3152,16 @@ Derive=BOB_cf_sect193r1
 PeerKey=MALICE_cf_sect193r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect193r1
 PeerKey=MALICE_cf_sect193r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect193r2 curve tests
 
@@ -3120,12 +3224,16 @@ Derive=BOB_cf_sect193r2
 PeerKey=MALICE_cf_sect193r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect193r2
 PeerKey=MALICE_cf_sect193r2_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect233k1 curve tests
 
@@ -3190,12 +3298,16 @@ Derive=BOB_cf_sect233k1
 PeerKey=MALICE_cf_sect233k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect233k1
 PeerKey=MALICE_cf_sect233k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect233r1 curve tests
 
@@ -3260,12 +3372,16 @@ Derive=BOB_cf_sect233r1
 PeerKey=MALICE_cf_sect233r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect233r1
 PeerKey=MALICE_cf_sect233r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect239k1 curve tests
 
@@ -3330,12 +3446,16 @@ Derive=BOB_cf_sect239k1
 PeerKey=MALICE_cf_sect239k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect239k1
 PeerKey=MALICE_cf_sect239k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect283k1 curve tests
 
@@ -3400,12 +3520,16 @@ Derive=BOB_cf_sect283k1
 PeerKey=MALICE_cf_sect283k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect283k1
 PeerKey=MALICE_cf_sect283k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect283r1 curve tests
 
@@ -3470,12 +3594,16 @@ Derive=BOB_cf_sect283r1
 PeerKey=MALICE_cf_sect283r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect283r1
 PeerKey=MALICE_cf_sect283r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect409k1 curve tests
 
@@ -3543,12 +3671,16 @@ Derive=BOB_cf_sect409k1
 PeerKey=MALICE_cf_sect409k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect409k1
 PeerKey=MALICE_cf_sect409k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect409r1 curve tests
 
@@ -3616,12 +3748,16 @@ Derive=BOB_cf_sect409r1
 PeerKey=MALICE_cf_sect409r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect409r1
 PeerKey=MALICE_cf_sect409r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect571k1 curve tests
 
@@ -3689,12 +3825,16 @@ Derive=BOB_cf_sect571k1
 PeerKey=MALICE_cf_sect571k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect571k1
 PeerKey=MALICE_cf_sect571k1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=sect571r1 curve tests
 
@@ -3762,12 +3902,16 @@ Derive=BOB_cf_sect571r1
 PeerKey=MALICE_cf_sect571r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_sect571r1
 PeerKey=MALICE_cf_sect571r1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=wap-wsg-idm-ecid-wtls10 curve tests
 
@@ -3832,12 +3976,16 @@ Derive=BOB_cf_wap-wsg-idm-ecid-wtls10
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls10_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_wap-wsg-idm-ecid-wtls10
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls10_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=wap-wsg-idm-ecid-wtls11 curve tests
 
@@ -3902,12 +4050,16 @@ Derive=BOB_cf_wap-wsg-idm-ecid-wtls11
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls11_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_wap-wsg-idm-ecid-wtls11
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls11_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=wap-wsg-idm-ecid-wtls12 curve tests
 
@@ -4007,12 +4159,16 @@ Derive=BOB_cf_wap-wsg-idm-ecid-wtls1
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_wap-wsg-idm-ecid-wtls1
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls1_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=wap-wsg-idm-ecid-wtls3 curve tests
 
@@ -4075,12 +4231,16 @@ Derive=BOB_cf_wap-wsg-idm-ecid-wtls3
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_wap-wsg-idm-ecid-wtls3
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls3_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=wap-wsg-idm-ecid-wtls4 curve tests
 
@@ -4140,12 +4300,16 @@ Derive=BOB_cf_wap-wsg-idm-ecid-wtls4
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls4_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_wap-wsg-idm-ecid-wtls4
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls4_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=wap-wsg-idm-ecid-wtls5 curve tests
 
@@ -4208,12 +4372,16 @@ Derive=BOB_cf_wap-wsg-idm-ecid-wtls5
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls5_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # ECC CDH Alice with Malice peer
 Derive=ALICE_cf_wap-wsg-idm-ecid-wtls5
 PeerKey=MALICE_cf_wap-wsg-idm-ecid-wtls5_PUB
 Ctrl=ecdh_cofactor_mode:1
 Result=DERIVE_ERROR
+Function=EC_POINT_get_affine_coordinates_GF2m
+Reason=point at infinity
 
 # Title=wap-wsg-idm-ecid-wtls6 curve tests