com.intel.util
Class PlatformInfo
- java.lang.Object
-
- com.intel.util.PlatformInfo
-
public class PlatformInfo extends java.lang.Object
This class provides the applet with ability to query various platform capabilities and configurations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
PlatformInfo.Version
-
Field Summary
Fields Modifier and Type Field and Description static short
CPU_TYPE_CELERON
static short
CPU_TYPE_CORE2_NONVPRO
static short
CPU_TYPE_PENTIUM
static short
CPU_TYPE_UNIDENTIFIED
static short
CPU_TYPE_VPRO
static short
CPU_TYPE_XEON
static short
CPU_TYPE_XEONVPRO
static int
FEATURE_SET_AMT
A constant indicating AMT is supportedstatic int
FEATURE_SET_CRYPTO
A constant indicating crypto capability is supported (RSA, symmetric encryption algorithm, hash and signature)static int
FEATURE_SET_DEBUG
A constant indicating platform debug capability is supportedstatic int
FEATURE_SET_FIPS
A constant indicating FIPS is supportedstatic int
FEATURE_SET_IAC
A constant indicating platform inter-applet communication (IAC) is supportedstatic int
FEATURE_SET_NFC
A constant indicating NFC capability is supportedstatic int
FEATURE_SET_PLATFORM_API
A constant indicating platform specific utility APIs are supportedstatic int
FEATURE_SET_PLATFORM_SEED
A constant indicating Platform Seed is supportedstatic int
FEATURE_SET_SECURE_TIME
A constant indicating secure time is supportedstatic int
FEATURE_SET_SENSORS
A constant indicating platform sensors capability is supportedstatic int
FEATURE_SET_SIGMA
A constant indicating Sigma/EPID capability is supportedstatic int
FEATURE_SET_SIGMA_2_0
A constant indicating Sigma2.0/EPID2.0 capability is supportedstatic int
FEATURE_SET_SSL
A constant indicating SSL capability is supportedstatic int
FEATURE_SET_STORAGE
A constant indicating flash storage capability is supportedstatic int
FEATURE_SET_STORAGE_ANTI_REPLAY
A constant indicating anti replay is supportedstatic int
FEATURE_SET_TRUSTED_INPUT
A constant indicating trusted input capability is supportedstatic int
FEATURE_SET_TRUSTED_OUTPUT
A constant indicating trusted output capability is supportedstatic int
FEATURE_SET_UTILS
A constant indicating utility classes capability is supported (events, timers, calendar, MTC)static int
FEATURE_SET_VTEE
A constant indicating VTEE is supportedstatic short
OEM_CREDENTIAL_1
static short
OEM_CREDENTIAL_2
static short
SECURITY_ENGINE_FAMILY_CSE
A constant indicating the security engine family is "Intel(R) Converged Security Engine"static short
SECURITY_ENGINE_FAMILY_ME
A constant indicating the security engine family is "Intel(R) Manageability Engine"static short
SECURITY_ENGINE_FAMILY_TXE
A constant indicating the security engine family is "Intel(R) Trusted Execution Engine"
-
Method Summary
Methods Modifier and Type Method and Description static int
getCpuType()
This method returns the CPU brand type, the return value may change with the introduction of new CPU types.static boolean
getEOMState()
Returns the End Of Manufacturing (EOM) state of the platform.static int
getFeatureSet()
Returns the features supported on the platformstatic java.lang.String
getSecurityDomainUUID()
Returns the UUID of the Security Domain in which context the applet is running.static short
getSecurityEngineFamily()
Returns the security engine familystatic int
getSecurityEngineSVN()
Returns the current CSME Secure Version Number.static PlatformInfo.Version
getSecurityEngineVersion()
Returns the version of the security enginestatic int
getSkuId()
Returns a number representing the platform specific SKUstatic byte[]
getUniquePlatformId()
Retrieves a unique and persistent platform identifier.static boolean
isCoinBatteryPresent()
Indicates if the platform contains a coin battery.static byte[]
retrieveOemPublicKeyHash(short oemKeyHashType)
Retrieve the OEM public key hash stored in the platform's Field Programmable Fuses (FPFs).
-
-
-
Field Detail
-
FEATURE_SET_CRYPTO
public static final int FEATURE_SET_CRYPTO
A constant indicating crypto capability is supported (RSA, symmetric encryption algorithm, hash and signature)- See Also:
- Constant Field Values
-
FEATURE_SET_SIGMA
public static final int FEATURE_SET_SIGMA
A constant indicating Sigma/EPID capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_STORAGE
public static final int FEATURE_SET_STORAGE
A constant indicating flash storage capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_UTILS
public static final int FEATURE_SET_UTILS
A constant indicating utility classes capability is supported (events, timers, calendar, MTC)- See Also:
- Constant Field Values
-
FEATURE_SET_SSL
public static final int FEATURE_SET_SSL
A constant indicating SSL capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_TRUSTED_OUTPUT
public static final int FEATURE_SET_TRUSTED_OUTPUT
A constant indicating trusted output capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_TRUSTED_INPUT
public static final int FEATURE_SET_TRUSTED_INPUT
A constant indicating trusted input capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_NFC
public static final int FEATURE_SET_NFC
A constant indicating NFC capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_PLATFORM_API
public static final int FEATURE_SET_PLATFORM_API
A constant indicating platform specific utility APIs are supported- See Also:
- Constant Field Values
-
FEATURE_SET_DEBUG
public static final int FEATURE_SET_DEBUG
A constant indicating platform debug capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_SENSORS
public static final int FEATURE_SET_SENSORS
A constant indicating platform sensors capability is supported- See Also:
- Constant Field Values
-
FEATURE_SET_IAC
public static final int FEATURE_SET_IAC
A constant indicating platform inter-applet communication (IAC) is supported- See Also:
- Constant Field Values
-
FEATURE_SET_AMT
public static final int FEATURE_SET_AMT
A constant indicating AMT is supported- See Also:
- Constant Field Values
-
FEATURE_SET_SECURE_TIME
public static final int FEATURE_SET_SECURE_TIME
A constant indicating secure time is supported- See Also:
- Constant Field Values
-
FEATURE_SET_STORAGE_ANTI_REPLAY
public static final int FEATURE_SET_STORAGE_ANTI_REPLAY
A constant indicating anti replay is supported- See Also:
- Constant Field Values
-
FEATURE_SET_FIPS
public static final int FEATURE_SET_FIPS
A constant indicating FIPS is supported- See Also:
- Constant Field Values
-
FEATURE_SET_VTEE
public static final int FEATURE_SET_VTEE
A constant indicating VTEE is supported- See Also:
- Constant Field Values
-
FEATURE_SET_PLATFORM_SEED
public static final int FEATURE_SET_PLATFORM_SEED
A constant indicating Platform Seed is supported- See Also:
- Constant Field Values
-
FEATURE_SET_SIGMA_2_0
public static final int FEATURE_SET_SIGMA_2_0
A constant indicating Sigma2.0/EPID2.0 capability is supported- See Also:
- Constant Field Values
-
SECURITY_ENGINE_FAMILY_ME
public static final short SECURITY_ENGINE_FAMILY_ME
A constant indicating the security engine family is "Intel(R) Manageability Engine"- See Also:
- Constant Field Values
-
SECURITY_ENGINE_FAMILY_TXE
public static final short SECURITY_ENGINE_FAMILY_TXE
A constant indicating the security engine family is "Intel(R) Trusted Execution Engine"- See Also:
- Constant Field Values
-
SECURITY_ENGINE_FAMILY_CSE
public static final short SECURITY_ENGINE_FAMILY_CSE
A constant indicating the security engine family is "Intel(R) Converged Security Engine"- See Also:
- Constant Field Values
-
CPU_TYPE_UNIDENTIFIED
public static final short CPU_TYPE_UNIDENTIFIED
- See Also:
- Constant Field Values
-
CPU_TYPE_CORE2_NONVPRO
public static final short CPU_TYPE_CORE2_NONVPRO
- See Also:
- Constant Field Values
-
CPU_TYPE_VPRO
public static final short CPU_TYPE_VPRO
- See Also:
- Constant Field Values
-
CPU_TYPE_PENTIUM
public static final short CPU_TYPE_PENTIUM
- See Also:
- Constant Field Values
-
CPU_TYPE_CELERON
public static final short CPU_TYPE_CELERON
- See Also:
- Constant Field Values
-
CPU_TYPE_XEON
public static final short CPU_TYPE_XEON
- See Also:
- Constant Field Values
-
CPU_TYPE_XEONVPRO
public static final short CPU_TYPE_XEONVPRO
- See Also:
- Constant Field Values
-
OEM_CREDENTIAL_1
public static final short OEM_CREDENTIAL_1
- See Also:
- Constant Field Values
-
OEM_CREDENTIAL_2
public static final short OEM_CREDENTIAL_2
- See Also:
- Constant Field Values
-
-
Method Detail
-
getCpuType
public static int getCpuType() throws UtilException
This method returns the CPU brand type, the return value may change with the introduction of new CPU types. | * @throws UtilException if an internal error occurs- Returns:
- CPU brand type one of the CPU_TYPE_XXXX values.
- Throws:
UtilException
-
getFeatureSet
public static int getFeatureSet() throws UtilException
Returns the features supported on the platform- Returns:
- A bitmask representing the features supported on the platforms a bitmask of values from FEATURE_SET_XXXX.
- Throws:
UtilException
- if an internal error occurs
-
getSecurityEngineFamily
public static short getSecurityEngineFamily() throws UtilException
Returns the security engine family- Returns:
- returns the security engine family. One of the SECURITY_ENGINE_FAMILY_XXXX values.
- Throws:
UtilException
- if an internal error occurs
-
getSecurityEngineVersion
public static PlatformInfo.Version getSecurityEngineVersion() throws UtilException
Returns the version of the security engine- Returns:
- The version of the security engine
- Throws:
UtilException
- if an internal error occurs
-
getSkuId
public static int getSkuId() throws UtilException
Returns a number representing the platform specific SKU- Returns:
- A number representing the platform specific SKU
- Throws:
UtilException
- if an internal error occurs
-
retrieveOemPublicKeyHash
public static byte[] retrieveOemPublicKeyHash(short oemKeyHashType) throws UtilException
Retrieve the OEM public key hash stored in the platform's Field Programmable Fuses (FPFs).- Parameters:
oemKeyHashType
- OEM public key type- Returns:
- The OEM public key hash
- Throws:
IllegalParameterException
- if the given OEM public key hash type is invalidFileNotFoundException
- if the fuse file was not writtenUtilException
- if an internal error occurs
-
isCoinBatteryPresent
public static boolean isCoinBatteryPresent() throws UtilException
Indicates if the platform contains a coin battery.- Returns:
- False if the device is designed such that it may lose PRTC power more than 10 times throughout the normal lifecycle of the product. true otherwise.
If returned value is false:
PRTC secure time feature is supported, with possible data loss.
If platform does not support RPMC/RPMB then AR feature is supported with possible data loss - when the platform loses PRTC power.
In order to indicate if AR is supported, useFEATURE_SET_STORAGE_ANTI_REPLAY
. - Throws:
UtilException
- in case of internal error.
-
getUniquePlatformId
public static byte[] getUniquePlatformId() throws UtilException
Retrieves a unique and persistent platform identifier.- Returns:
- unique platform id buffer
- Throws:
UtilException
- in case of internal error.
-
getSecurityDomainUUID
public static java.lang.String getSecurityDomainUUID()
Returns the UUID of the Security Domain in which context the applet is running.- Returns:
- The UUID of this Security Domain in String representation. All the characters of the string are lower case. The returned string format is a hex string of length 36 with 4 hypens.
-
getSecurityEngineSVN
public static int getSecurityEngineSVN()
Returns the current CSME Secure Version Number.- Returns:
- the current CSME SVN
-
getEOMState
public static boolean getEOMState()
Returns the End Of Manufacturing (EOM) state of the platform.- Returns:
- true - platform is after EOM ; false - platform is pre-EOM
-
-