diff --git a/xtest/otdfctl.py b/xtest/otdfctl.py index b937aa58c..9ab99d478 100644 --- a/xtest/otdfctl.py +++ b/xtest/otdfctl.py @@ -312,7 +312,10 @@ def kas_registry_create_key( # Handle race condition: if key already exists, return the existing one if process.returncode != 0: err_str = (err.decode() if err else "") + (out.decode() if out else "") - if "Invalid key parameters: invalid algorithm" in err_str: + if ( + "Invalid key parameters: invalid algorithm" in err_str + or "key_algorithm_defined" in err_str + ): raise InvalidAlgorithm( f"Algorithm not supported by platform: {err_str}" ) diff --git a/xtest/tdfs.py b/xtest/tdfs.py index 4501604c6..2dcd28752 100644 --- a/xtest/tdfs.py +++ b/xtest/tdfs.py @@ -136,8 +136,10 @@ def __init__(self, **kwargs: dict[str, Any]): if self.semver >= (0, 13, 0): self.features.add("mechanism-ec-curves-384-521") - # X-Wing hybrid PQ/T KEM support (ML-KEM-768 + X25519) - if self.semver >= (0, 14, 0): + # X-Wing / secp+ML-KEM hybrid PQ/T KEM support. + # Key management API for hpqt:* algorithms landed after service/v0.15.0; + # v0.15.0 rejects them with a key_algorithm validation error. + if self.semver >= (0, 16, 0): self.features.add("mechanism-xwing") self.features.add("mechanism-secpmlkem")