Visible to Intel only — GUID: GUID-7F434EDE-584D-442D-90BD-3F3ED40A5D55
For API Level 1 - Intel® ME 7.x - Sandy Bridge
For API Level 1.1 - Intel® ME 8.x lite - Sandy Bridge
For API Level 2 - Intel® ME 8.0 - Ivy Bridge
For API Level 3 - Intel® ME 8.1 - Ivy Bridge
For API Level 3 - SEC1.0, SEC1.1, SEC1.2, SEC2.0
For API Level 4 - Intel® ME 9.5, Intel ME 9.5.55 - Haswell
For API Level 4 - Intel® ME 9.1, Intel ME 9.1.35 - Haswell
For API Level 5 - Intel® ME 10.0.0 - Haswell
For API Level 6 - Intel® ME 10.0.20 - Broadwell
For API Level 7 - ME 11.0 - Skylake_LP and Skylake_H
For API Level 8 - TXE3.0 - Broxton, ME 11.5/11.8 - Kabylake_LP, Kabylake_H
For API Level 9 - Intel® ME 12.0 - Cannon Lake
Trusted Application Validation Guidelines
Validating the Manifest
Memory and Performance
Error Handling and Recovery
Functional Validation and Multi-Instance Support
Pack and DALP Generation and Validation
Host-Side Software Validation Guidelines
Trusted Application Management Flows
Error Handling and Recovery Flows
Multi-Instance and Interoperability Testing of Trusted Application Management
General and Platform-Related Events
End-to-End and Setup Validation Guidelines
Cross Trusted Application Interoperability Functional Testing
Creating a New Project
Importing an Existing Project
Converting an Existing Project
Building and Packaging Your Project and Running in Emulated Environment
Running Your Project
Running and Testing on Emulation and on Silicon
Debugging Trusted Applications
Preparing and Submitting Your Project for Signing
Signing an Applet
Signing New Versions
Visible to Intel only — GUID: GUID-7F434EDE-584D-442D-90BD-3F3ED40A5D55
Multi-Instance and Interoperability Testing of Trusted Application Management
As mentioned above in the management flows, managing the trusted application is an important part of the development and validation. Some advanced aspects of those should be validated and defined below. Those are not trivial, but mainly address the general design of the system and interaction between trusted application and host application:
- Managing multiple applications or multiple trusted application sessions - This is design-dependent, but according to the chosen model you should test that the model supports the expected use cases. Different tests should be covered for a multi-browser plugin design which works with one shared session, in opposition to one application which might serve all applications and internally manage the trusted application sessions.
- Checking what the bottlenecks are - Which APIs are used the most? With which parameters? What are the performance and memory bottlenecks of our application? All of those should be examined, and tests for tackling those areas will ensure that those will not have a functional impact on users.
- Client-server model and using events as trigger - Make sure you understand how information is passed between host-side and trusted application: what is sent via events, and what in regular communication commands.