1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00

New test tool: list-accel.py.

Gives a quick and easy report of which HW-accelerated crypto
implementations are (a) compiled in to testcrypt, (b) actually
instantiable at testcrypt run time.
This commit is contained in:
Simon Tatham 2021-05-09 09:06:12 +01:00
parent 8245510a02
commit 0e83e72b09

34
test/list-accel.py Executable file
View File

@ -0,0 +1,34 @@
#!/usr/bin/env python3
# Simple client of the testcrypt system that reports the available
# variants of each of the crypto primitives that have hardware-
# accelerated implementations.
#
# It will report the set of primitives compiled in to testcrypt, and
# also report whether each one can be instantiated at run time.
from testcrypt import *
def get_implementations(alg):
return get_implementations_commasep(alg).decode("ASCII").split(",")
def list_implementations(alg, checkfn):
print(f"Implementations of {alg}:")
for impl in get_implementations(alg):
if impl == alg:
continue
if checkfn(impl):
print(f" {impl:<32s} available")
else:
print(f" {impl:<32s} compiled in, but unavailable at run time")
def list_cipher_implementations(alg):
list_implementations(alg, lambda impl: ssh_cipher_new(impl) is not None)
def list_hash_implementations(alg):
list_implementations(alg, lambda impl: ssh_hash_new(impl) is not None)
list_cipher_implementations("aes256_cbc")
list_hash_implementations("sha1")
list_hash_implementations("sha256")
list_hash_implementations("sha512")