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
      • 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
    • 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
      • 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, use FEATURE_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