3.1.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.

Note The following variables are logical, abstract parameters that an implementation MUST maintain and expose to provide to the higher layer. How these variables are maintained and exposed is up to the client protocol implementation.

ClientCertificate: A PKCERT structure that contains client machine-specific cryptographic data.

RightsRequested: A list of action strings in ActionNameType; see section 2.2.3.1.3.

ClientAppSec: A 4 byte value as described in section 2.2.2.1 under AppSec.

KeyIdentifier: A base-64 encoded string related to the content as described in section 2.2.2.1.

ClientVersion: This string variable maps to the element in the protocol named clientversion and described in section 2.2.3.1.3.5.

SecurityVersion: This string variable maps to the element in the protocol named securityversion and described in section 2.2.3.1.3.8.

SubjectId1: This string variable maps to the element in the protocol named subjectid1 and described in section 2.2.3.1.3.9.

SubjectId2: This string variable maps to the element in the protocol named subjectid2 and described in section 2.2.3.1.3.10.

DrmKVersion: This string variable maps to the element in the protocol named drmkversion and described in section 2.2.3.1.3.6.

RevocationInfo: This string variable maps to the element in the protocol named revocationinfo and described in section 2.2.3.1.3.7.

WRMHeader: This variable string maps to the element in the protocol named wrmheader and described in section 2.2.3.1.3.12.

RevInfo: This string variable maps to the element in the protocol named revinfo and described in section 2.2.4.1.2.

MachineInfo: This string variable maps to the element in the protocol named MACHINEINFO and described in section 2.2.4.1.1.