mbedtls/tests
Manuel Pégourié-Gonnard 4608c48b0c Rm useless use of MD in PK test functions
Same rationale as previous "Rm useless use of MD" commits.

Here the first two test functions were already not depending on MD_C,
but the new version is much simpler, as it avoids having two versions of
the code depending on the value of USE_PSA.

Changes to the data file generated with the following Python script:

import hashlib

suite = 'pk'
functions = {
        'pk_rsa_verify_test_vec': (2, 1, True),
        'pk_rsa_verify_ext_test_vec': (2, 1, True),
        'pk_sign_verify_restart': (6, 7, False),
}

def hash_ctx(s):
    if s == 'MBEDTLS_MD_MD5':
        return hashlib.md5()
    if s == 'MBEDTLS_MD_SHA1':
        return hashlib.sha1()
    if s == 'MBEDTLS_MD_SHA224':
        return hashlib.sha224()
    if s == 'MBEDTLS_MD_SHA256':
        return hashlib.sha256()
    if s == 'MBEDTLS_MD_SHA384':
        return hashlib.sha384()
    if s == 'MBEDTLS_MD_SHA512':
        return hashlib.sha512()
    if s == 'MBEDTLS_MD_RIPEMD160':
        return hashlib.new("ripemd160")

def fix(l):
    parts = l.rstrip().split(":")

    fun = parts[0]
    if fun not in functions:
        return l

    (alg_idx, msg_idx, is_hex) = functions[fun]

    alg_str = parts[alg_idx]
    if alg_str == "MBEDTLS_MD_NONE" or alg_str == "255":
        return l
    h = hash_ctx(alg_str)

    msg_str = parts[msg_idx][1:-1]
    msg = bytes.fromhex(msg_str) if is_hex else bytes(msg_str, 'ascii')
    h.update(msg)
    msg_hash = h.hexdigest()
    msg_hash_str = '"' + msg_hash + '"'

    parts[msg_idx] = msg_hash_str
    return ":".join(parts) + '\n'

filename = 'tests/suites/test_suite_' + suite + '.data'
with open(filename) as f:
    lines = f.readlines()

lines = [fix(l) for l in lines]

with open(filename, 'w') as f:
    f.writelines(lines)

Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2022-07-18 10:55:56 +02:00
..
.jenkins
configs Remove use_psa_crypto in test scripts 2022-03-22 15:13:35 +08:00
data_files Fix parsing of special chars in X509 DN values 2022-06-27 11:19:50 +01:00
docker/bionic Jinja2 prerequisite set up on the docker 2021-12-18 13:29:10 +05:30
git-scripts Update scripts to use check-names.py 2021-08-06 21:04:32 +01:00
include Merge pull request #5834 from mprse/HKDF_1 2022-06-20 15:27:46 +02:00
opt-testcases Refactor compat scripts 2022-06-12 20:53:02 +08:00
scripts Build with SHA-256 accelerated too 2022-07-12 11:11:20 +02:00
src Initilize variable 2022-07-01 15:06:34 +02:00
suites Rm useless use of MD in PK test functions 2022-07-18 10:55:56 +02:00
.gitignore tests: Add build of a PSA test driver library 2021-12-06 07:50:27 +01:00
CMakeLists.txt Merge pull request #5635 from gilles-peskine-arm/psa-test-op-fail 2022-04-15 10:52:47 +02:00
compat-in-docker.sh Upgrade gnutls-next to 3.7.2 2021-09-02 17:31:10 +08:00
compat.sh Add comment in compat.sh about callers 2022-04-14 09:21:56 +02:00
context-info.sh
Descriptions.txt
make-in-docker.sh
Makefile Declare modules used by generate_psa_tests.py as dependencies 2022-03-15 18:32:10 +01:00
ssl-opt-in-docker.sh Upgrade gnutls-next to 3.7.2 2021-09-02 17:31:10 +08:00
ssl-opt.sh Merge remote-tracking branch 'mbedtls-restricted/development-restricted' into mbedtls-3.2.0rc0-pr 2022-07-11 10:22:37 +02:00