Intel

Developer Zone

PlatformInfo

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.
    • 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
      • 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
    • 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 invalid
        FileNotFoundException - if the fuse file was not written
        UtilException - if an internal error occurs
      • retrieveTpmComponent

        public static byte[] retrieveTpmComponent()
                                           throws UtilException
        Retrieves the E prime component of the TPM provided by the BIOS
        Returns:
        the component of the TPM
        Throws:
        NotSupportedException - if this functionality is not supported on the platform
        NotInitializedException - if the component wasn't provided properly by the BIOS
        UtilException - if an internal error occurs
      • isCoinBatteryPresent

        public static boolean isCoinBatteryPresent()
                                            throws UtilException
        Indicates if the platform contains a coin battery.
        Returns:
        True if coin battery is present in this platform, false otherwise. If false is returned, then MTC will not be anti-reply protected on the file system.
        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.
        Supported as of Intel FW kit ME 11.8.x (on big-core platforms) and Intel FW kit TXE 3.1.50.x (on small-core platforms).
        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