docs(protocol): clarify OwnerPSK vector scope

This commit is contained in:
Jason Morcos committed 2026-08-18 11:10:44 -07:00
1 parent cd86424ca0
commit 6db846563a
2 files changed
+8 -2

No files matched your search

+2
View File
@@ -80,6 +80,8 @@ def derive_mfg_certificate_owner_psk(
It performs no session access, network I/O, ownership writes, or storage. It performs no session access, network I/O, ownership writes, or storage.
The caller must supply state from an authenticated manufacturer-certificate The caller must supply state from an authenticated manufacturer-certificate
session and explicitly select the OXM label used by that transaction. session and explicitly select the OXM label used by that transaction.
IoTivity's other 96-byte ECDH_ANON, ECDHE_PSK, and ECDHE_RSA mappings are
intentionally outside this helper's manufacturer-certificate allowlist.
""" """
if not isinstance(cipher_name, str): if not isinstance(cipher_name, str):
+6 -2
View File
@@ -23,7 +23,11 @@ _VALID_INPUTS = {
} }
def test_fixed_iotivity_gcm_vector(): # These synthetic expected values were generated from the fixed inputs above;
# they were not captured from IoTivity or a device. They lock deterministic
# output for the selected mappings, while the table test below states the
# key-block-length contract explicitly.
def test_fixed_synthetic_gcm_regression_vector():
assert derive_mfg_certificate_owner_psk(**_VALID_INPUTS).hex() == ( assert derive_mfg_certificate_owner_psk(**_VALID_INPUTS).hex() == (
"ccd6c618a91290dee8c106544ed79a33" "ccd6c618a91290dee8c106544ed79a33"
) )
@@ -42,7 +46,7 @@ def test_owner_then_device_uuid_order_matches_iotivity_callers():
assert reversed_context != derive_mfg_certificate_owner_psk(**_VALID_INPUTS) assert reversed_context != derive_mfg_certificate_owner_psk(**_VALID_INPUTS)
def test_fixed_iotivity_ccm8_vector(): def test_fixed_synthetic_ccm8_regression_vector():
inputs = { inputs = {
**_VALID_INPUTS, **_VALID_INPUTS,
"cipher_name": "ECDHE-ECDSA-AES128-CCM8", "cipher_name": "ECDHE-ECDSA-AES128-CCM8",