def test_LengthBytes(self): # Test conditions for valid arguments. length_bytes = SCHEMA.LengthBytes(11) self.assertTrue(length_bytes.matches(b'Hello World')) self.assertTrue(length_bytes.matches(b'Hello Marty')) # Test conditions for invalid arguments. self.assertRaises(securesystemslib.exceptions.FormatError, SCHEMA.LengthBytes, 'hello') self.assertRaises(securesystemslib.exceptions.FormatError, SCHEMA.LengthBytes, True) self.assertFalse(length_bytes.matches(b'hello')) self.assertFalse(length_bytes.matches(8))
scheme=RSA_SCHEME_SCHEMA, keyid=KEYID_SCHEMA, keyid_hash_algorithms=SCHEMA.Optional(HASHALGORITHMS_SCHEMA), keyval=KEYVAL_SCHEMA) # An ECDSA securesystemslib key. ECDSAKEY_SCHEMA = SCHEMA.Object( object_name='ECDSAKEY_SCHEMA', keytype=SCHEMA.String('ecdsa-sha2-nistp256'), scheme=ECDSA_SCHEME_SCHEMA, keyid=KEYID_SCHEMA, keyid_hash_algorithms=SCHEMA.Optional(HASHALGORITHMS_SCHEMA), keyval=KEYVAL_SCHEMA) # An ED25519 raw public key, which must be 32 bytes. ED25519PUBLIC_SCHEMA = SCHEMA.LengthBytes(32) # An ED25519 raw seed key, which must be 32 bytes. ED25519SEED_SCHEMA = SCHEMA.LengthBytes(32) # An ED25519 raw signature, which must be 64 bytes. ED25519SIGNATURE_SCHEMA = SCHEMA.LengthBytes(64) # An ECDSA signature. ECDSASIGNATURE_SCHEMA = SCHEMA.AnyBytes() # Required installation libraries expected by the repository tools and other # cryptography modules. REQUIRED_LIBRARIES_SCHEMA = SCHEMA.ListOf( SCHEMA.OneOf([ SCHEMA.String('general'),
scheme=RSA_SCHEME_SCHEMA, keyid=KEYID_SCHEMA, keyid_hash_algorithms=SCHEMA.Optional(HASHALGORITHMS_SCHEMA), keyval=KEYVAL_SCHEMA) # An ECDSA TUF key. ECDSAKEY_SCHEMA = SCHEMA.Object( object_name='ECDSAKEY_SCHEMA', keytype=SCHEMA.String('ecdsa-sha2-nistp256'), scheme=ECDSA_SCHEME_SCHEMA, keyid=KEYID_SCHEMA, keyid_hash_algorithms=SCHEMA.Optional(HASHALGORITHMS_SCHEMA), keyval=KEYVAL_SCHEMA) # An ED25519 raw public key, which must be 32 bytes. ED25519PUBLIC_SCHEMA = SCHEMA.LengthBytes(32) # An ED25519 raw seed key, which must be 32 bytes. ED25519SEED_SCHEMA = SCHEMA.LengthBytes(32) # An ED25519 raw signature, which must be 64 bytes. ED25519SIGNATURE_SCHEMA = SCHEMA.LengthBytes(64) # Lengths of SPX raw keys and signatures try: SPXPUBLIC_SCHEMA = SCHEMA.LengthBytes(pyspx.crypto_sign_PUBLICKEYBYTES) SPXSEED_SCHEMA = SCHEMA.LengthBytes(pyspx.crypto_sign_SECRETKEYBYTES) SPXSIGNATURE_SCHEMA = SCHEMA.LengthBytes(pyspx.crypto_sign_BYTES) except NameError: # pragma: no cover pass # raised when pyspx was not available on import