3.2 IF-IMV API

In analogy to the module IF-IMC API, the module IF-IMV API contains Java classes and interfaces, which have been defined by the TNC-WG for the binding version 1.3 of the vertical IF-IMV interface. The names of the various classes and interfaces are shown in Fig. 2. The interfaces TNCS and TNCSLong provide methods, which can be used by an IMV to retrieve common parameters from a TNCS. On the other hand, the interfaces IMV, IMVLong, IMVSOH and IMVTNCSFirst are used by a TNCS to interact with an IMV. IMVConnection, IMVConnectionLong and IMVConnectionSOH represent the connection, the integrity assessment is executed for. These three interfaces provide methods for an IMV, to send messages and to initiate an integrity assessment. The interfaces IMV, TNCS and IMVConnection specify the basic functionality for an implementation of the IF-IMV interface. The interfaces marked by the keywords "Long", "SOH" or "TNCSFirst" in their names contain additional methods. Interfaces containing the keyword "Long" in their names provide methods to support a more complex message addressing scheme for the transmission of messages between an IMV and a TNCS. The interfaces containing the keyword "SOH" in their names are especially used for the transmission of messages between a TNCS and an IMV in case the binding IF-TNCCS-SOH is utilized for the communication between a TNCS and a TNCC. As already mentioned in the description of the module IF-IMC API (s. 3.1), the "SOH" type of interfaces is currently not used by jTNC, because the binding IF-TNCCS-SOH is not supported yet. The last interface type containing the keyword "TNCSFirst" is supported on the other hand. This interface type provides additional methods that can be used if a TNCS is able to initiate an integrity attestation instead of a TNCC [4, pp. 90-115].

An additional interface like the interface AttributeSupport contained in the module IF-IMC API does not exist in this module. Methods that can be used to query protocol properties such as the maximum transmission cycles (s. [3, pp. 31-31] and [4, pp. 35-36]) supported by the IF-T interface are integrated into the interfaces described above. But, as well as the module IF-IMC API, the module IF-IMV API does contain the interface TNCConstants that provides several constant default values, which have been defined by the TNC-WG for the IF-IMV interface. However, these values are partially the same as the values defined by the TNCConstants interface of the module IF-IMC API. For example, the interface of this module contains the same numeric identifiers that describe the state of a connection, while an integrity assessment is running. Not just partially the same, but fully identical is the class TNCException of this module in comparison to the class TNCException of the module IF-IMC API. Hence, it is used in the same manner to encapsulate and relay exceptions that may occur while calling a method of the Java interfaces described above [4, pp. 90-115].


PIC

Figure 3: Interfaces and classes from [4, pp. 90-115] contained in the module IF-IMV API