Skip to content

IoTivity

Inho Oh edited this page Jul 19, 2017 · 3 revisions

Version

  • 1.2.1
    • OIC Certification support.
    • OCF Certification not support.
  • 1.3.x
    • OCF Certification support.

Tools

JSON(e.g. oic_svr_db_server.json) Guideline

  • ACL
    • https://wiki.iotivity.org/acl_guideline
    • Wildcard("*") can be used for each property to match any value
    • subjectuuid: UUID of the device to which the ACE applies
    • permission: CRUDN bitmask
      • 0b00000: No permission
      • 0b00001: Create
      • 0b00010: Read
      • 0b00100: Update
      • 0b01000: Delete
      • 0b10000: Notify
  • pstat
    • isop (Is Operational): Device can function even when Cm is non-zero. Device will only service requests related to satisfying Tm when IsOp is FALSE.
    • deviceuuid (Device UUID): Specifies the device to which the provisioning status applies. If not specified, it applies to {this} device.
    • cm (Current Mode): Specifies the current device mode.
    • tm (Target Mode): Specifies a target device mode the device is attempting to enter.
    • om (Operational Mode): Current provisioning services operation mode.
    • sm (Supported Mode): Supported provisioning services operation modes.
    • Bitmask for cm and tm (oic.sec.dpmtype)
      • 0b000001: Reset (Device reset mode enabling manufacturer reset operations)
      • 0b000010: Take Owner (Device pairing mode enabling owner transfer operations)
      • 0b000100: Bootstrap Service (Bootstrap service provisioning mode enabling instantiation of a bootstrap serice)
      • 0b001000: Security Management Services (Service provisioning mode enabling instantiation of device security services and related credentials)
      • 0b010000: Provision Credentials
      • 0b100000: Provision ACLs
    • Bitmask for om and sm (oic.sec.pomtype)
      • 0b0001: Server-directed utilizing multiple provisioning services.
      • 0b0010: Server-directed utilizing a single provisioning service.
      • 0b0100: Client-directed provisioning
  • doxm
    • oxms (Owner Transfer Method)
      • 0: oic.sec.doxm.jw (Just Works)
      • 1: oic.sec.doxm.rdp (Shared Pin)
      • 2: oic.sec.doxm.mfgcert (MfgCert): Manufactured with an embedded asymmetric private key
      • 3: oic.sec.doxm.dcap (DCAP): Deprecated
    • oxmsel (OXM Selection)
    • sct (Supported Credential Types): Identifies the types of credentials the device supports. (oic.sec.credtype)
      • 0b000000: Used for testing
      • 0b000001: Symmetric pair-wise key
      • 0b000010: Symmetric group key
      • 0b000100: Asymmetric signing key
      • 0b001000: Asymmetric signing key with certificate
      • 0b010000: PIN or password
      • 0b100000: Asymmetric encryption key
    • owned (Owned):
    • deviceuuid (Device UUID):
    • devowneruuid (Device Owner Id):
    • rowneruuid (Resource Owner Id):

JSON to DAT(e.g. oic_svr_db_server.dat) Converting

  $ scons RELEASE=true SECURED=1 (build iotivity with secured option)
  $ ./out/linux/x86_64/release/resource/csdk/security/tool/json2cbor <json_file_name> <cbor_file_name>