Nikolay Sivov (@nsivov) commented about dlls/bcrypt/tests/bcrypt.c:
- status = BCryptGenerateKeyPair(alg, &key, 0, 0);
- ok(status == STATUS_SUCCESS, "got %#lx\n", status);
- status = BCryptFinalizeKeyPair(key, 0);
- ok(status == STATUS_INVALID_PARAMETER, "got %#lx\n", status);
- BCryptDestroyKey(key);
- BCryptCloseAlgorithmProvider(alg, 0);
- status = BCryptOpenAlgorithmProvider(&alg, BCRYPT_ECDSA_ALGORITHM, NULL, 0);
- ok(status == STATUS_SUCCESS, "got %#lx\n", status);
- status = BCryptSetProperty(alg, BCRYPT_ECC_CURVE_NAME, (UCHAR *)BCRYPT_ECC_CURVE_SECP256R1, sizeof(BCRYPT_ECC_CURVE_SECP256R1), 0);
- ok(status == STATUS_SUCCESS, "got %#lx\n", status);
- status = BCryptGenerateKeyPair(alg, &key, 255, 0);
- todo_wine ok(status == STATUS_INVALID_PARAMETER, "got %#lx\n", status);
This size is what we should validate against curve_strength() in principle? I don't mean that we need that now, especially because the size is fixed for ECC case.