1# Copyright (c) 2017, The MITRE Corporation. All rights reserved. 2# See LICENSE.txt for complete terms. 3 4from mixbox import entities 5from mixbox import fields 6 7import cybox.bindings.account_object as account_binding 8from cybox.common import ObjectProperties, String, DateTime 9from cybox.common.vocabs import VocabField 10 11 12class StructuredAuthenticationMechanism(entities.Entity): 13 _binding = account_binding 14 _binding_class = account_binding.StructuredAuthenticationMechanismType 15 _namespace = 'http://cybox.mitre.org/objects#AccountObject-2' 16 _XSI_NS = "AccountObj" 17 _XSI_TYPE = "AccountObjectType" 18 19 description = fields.TypedField("Description", String) 20 21 22class Authentication(entities.Entity): 23 _binding = account_binding 24 _binding_class = account_binding.AuthenticationType 25 _namespace = 'http://cybox.mitre.org/objects#AccountObject-2' 26 _XSI_NS = "AccountObj" 27 _XSI_TYPE = "AccountObjectType" 28 29 authentication_type = VocabField("Authentication_Type") 30 authentication_data = fields.TypedField("Authentication_Data", String) 31 authentication_token_protection_mechanism = VocabField("Authentication_Token_Protection_Mechanism") 32 structured_authentication_mechanism = fields.TypedField("Structured_Authentication_Mechanism", StructuredAuthenticationMechanism) 33 34 35class Account(ObjectProperties): 36 _binding = account_binding 37 _binding_class = account_binding.AccountObjectType 38 _namespace = 'http://cybox.mitre.org/objects#AccountObject-2' 39 _XSI_NS = "AccountObj" 40 _XSI_TYPE = "AccountObjectType" 41 42 disabled = fields.TypedField("disabled") 43 locked_out = fields.TypedField("locked_out") 44 description = fields.TypedField("Description", String) 45 domain = fields.TypedField("Domain", String) 46 authentication = fields.TypedField("Authentication", Authentication, multiple=True) 47 creation_date = fields.TypedField("Creation_Date", DateTime) 48 modified_date = fields.TypedField("Modified_Date", DateTime) 49 last_accessed_time = fields.TypedField("Last_Accessed_Time", DateTime) 50