Search Results for

    Show / Hide Table of Contents

    · 04/16/2026 ·

    Intel® Transparent Supply Chain (TSC)

    The Intel® Transparent Supply Chain (TSC) comprises policies and procedures that OEMs/ODMs implement while manufacturing their products. The OEMs use the information collected to ensure transparency in their manufacturing process. IT departments use the information produced by the TSC to validate their platforms.

    Transparent Supply Chain Overview

    The Intel® Transparent Supply Chain (TSC) is composed of five separate processes:

    1. Platform component data is collected in real-time at the ODM Factory during manufacturing process using TSC Manufacturing Tools.
    2. Platform component data collected at the ODM is securely transmitted to Intel.
    3. Once Intel receives the platform component data collected during the manufacturing process, the data is signed by Intel at Intel’s High-Security signing facility using Intel’s Signing Certificate Authority.
    4. The signed data files are then uploaded to the TSC database for storage and retrieval by the TSC web portal.
    5. The TSC web portal enables the user to download the Local TSC Verify Tool and the signed platform data files.

    Graphic of the Intel Transparent Supply Chain Process

    Intel® Transparent Supply Chain Web Portal

    The Intel® TSC Web Portal provides access to the Intel TSC data files for Intel TSC-enabled systems. The Intel TSC Web Portal enables admin users to manage Admin API keys and users. The Web Portal also contains documentation and download links for The Intel TSC Local Verify Tool. The user also has the option to remove their account and personal information from the web portal in compliance with GDPR.

    The TSC Local Verify Tool can be downloaded from the TSC Web Portal Downloads once access has been granted.

    The TSC Web Portal is located on the Intel® TSC domain URL: https://portal.tsc.trustauthority.intel.com/

    TSC Local Verify Tool Overview

    The TSC Local Verify Tool is a standalone application that runs under the Windows operating system. The tool performs the following functions:

    • Scanning the system component information.
    • Reading the Direct Platform Data file
    • Validation of the Platform Certificate issued to the platform.
    • Validation of the Direct Platform Data file generated at the factory during manufacturing.

    X.509 Platform Certificates

    Every platform has a unique X.509 Platform Certificate signed by the Intel Signing Authority. This unique Platform Certificate is cryptographically bound to the system through the TPM module installed during manufacturing.

    X.509 Platform Certificate process

    Platform Certificates Validation

    • Verifies that the platform TPM module matches the signed platform certificates.
    • Platform Attestation is confirmed by comparing the TPM module's Endorsement Key Serial Number against the System Serial Number and Motherboard Serial numbers.

    Direct Platform Components Validation

    The direct platform components validation compares the snapshot of the platform component data taken during manufacturing at the ODM's factory with the snapshot taken at the first boot. It answers the question: "Is the platform that arrived at the customer the same as the one that shipped from the ODM's factory?" Any changes in the Direct Platform Data from the ODM to the Customer are flagged.

    Graphic of the Direct platform components validation process.

    TSC Local Verify Tool Download and Installation

    TSC Local Verify Tool Download

    The Intel® Transparent Supply Chain Portal Download Center will allow the user to download the TSC Verify Tool. On the left-hand navigation section select Download center. The Download Center page contains the Verify Tools for Windows and Linux, and the Remote Verify Tool for Platform Lifecycle Assurance.

    1. Log in to the Intel TSC web portal.

    2. Select the Download Center Tab

    3. Download the TSC local verify tool zip file.

    Graphic of the TSC Web Portal Download Center.

    1. Create the following directory:

      `C:\Users\User\Documents\TSCVERIFY

    2. Move the TSC local verify tool zip file to the directory.

    3. Extract the contents of the TSC local verify zip file into the TSCVERIFY directory.

      The TSC local verify tool zip contains the following files:

      • TSCVerifyTool.exe
      • DirectPlatformData.ini
      • XSD Folder
    4. Open a command prompt.

    5. Navigate to the folder in which the TSCVerifyTool.exe was extracted.

    6. Run the following command to execute the TSC local verify tool.

      C:\Users\User\TSCVERIFY\TSCVerifyTool.exe

    A graphic of the command to start the TSC executable.

    TSC Local Verify Tool System Requirements

    The Windows version of the TSC Local Verify Tool is compatible with Windows 10, Windows 11, WinPE, and Windows Server 2016/2020. The tool is provided as a signed executable file named TSCVerifyTool.exe.

    TSC Local Verify Tool Commands

    The TSC Local Verify Tool is a command-line executable that runs in Windows Command Prompt.

    The TSC Local Verify Tool has the following commands:

    SCANSYSTEM - This command scans the platform to read the current platform values and outputs the platform component values to the console. There are no input or output files associated with the SCANSYSTEM command. The output will be directed to the console output. If the –html flag is included the output will also be written to an html file.

    READFILE - This command will read in the Direct Platform Data file specified by the –in file option and output the values out to the console output. The TSC Issuing CA file is specified by the –ca file option.

    SCANREADCOMP - This command scans the platform to read its current values. It then reads the Direct Platform Data file specified by the –in option and compares the values. The comparison results are output to the console. If the –fl flag is included the comparison results will be written to the file specified (output file). If the –html flag is included the comparison results will be written to an html file. The TSC Issuing CA file is specified by the –ca file option.

    PFORMCRTCOMP - This command compares the contents of the signed platform attribute certificate file specified by the –in option to the current information from the system. It detects changes in elements like the EK Serial Number from the Trusted Platform Module and the Platform Serial Number in the system. It also compares the platform configuration from the file against the current components of the system. The results of the comparison are sent to the console. If the –fl flag is included the comparison results will be written to the file specified (output file). The command indicates whether changes were detected at the system or component level as yellow warning messages. The TSC Issuing CA file is specified by the –ca file option.

    If the result of the comparison is successful, then a success message is displayed saying PFORMCRTCOMP PASS.

    If the result of the comparison is not successful, then it displays PFORMCRTCOMP FAIL. It also shows the differences line by line in red.

    CASIGVERIFY - This command verifies the signature of the TSC Issuing CA file. Optionally, it also verifies the signature of a signed platform attribute certificate or Direct Platform Data File using the public key of the TSC Issuing CA certificate.

    The TSC Issuing CA file is specified by the –ca option. The signed platform attribute certificate or signed Direct Platform Data File is specified by the –in option. The CASIGVERIFY command will only verify one file at a time.

    The following is the Command Line Syntax of commands and options:

    Commands

    Commands Command Line Options Description
    SCANSYSTEM -html, /html Flag to turn on html output.
    READFILE -in, /in
    -ca, /ca
    Flag to specify the direct platform data input file.
    Flag to specify the CA certificate file.
    SCANREADCOMP -in, /in
    -ca, /ca
    -ini, /ini
    -html, /html
    -fl, /fl
    Flag to specify the direct platform data input file.
    Flag to specify the CA certificate file.
    Flag to specify direct platform data.ini file
    Flag to turn on html output.
    Flag to specify comparison results output file.
    PFORMCRTCOMP -in, /in
    -ca, /ca
    -html, /html
    -fl, /fl
    Flag to specify the platform certificate data input file.
    Flag to specify the CA certificate file.
    Flag to turn on html output.
    Flag to specify comparison results output file.
    CASIGVERIFY -ca, /ca Flag allows user to load CA cert.

    Miscellaneous Options

    The flags listed below can be used with any of the commands listed in the above tables.

    Command Options

    Options Description
    -vl,/vl Flag to turn on verbose
    -notpm,/notpm Flag to allow user to collect DPD on non-TPM system or board.
    -nohdd,/nohdd Flag to allow user to skip the hard drive in generating DPD file.
    -noamt,/noamt Flag to skip the Intel® AMT Version Verification.
    -ecc,/ecc Flag to specify to retrieve the EK TPM certificate using ECC algorithm.
    -server,/server Flag to support server features: BMC, FRU, SDR & etc.
    -dsg,/dsg Flag to support DSG server configurations.

    Scan System Command SCANSYSTEM

    This command scans the platform to read the current platform values and sends the platform component values to the console. The SCANSYSTEM command does not involve an input or output file; all output is directed to the console.

    The SCANSYSTEMcommand performs the following operations:

    • Read the System BIOS DMI Tables for BIOS, System, Motherboard, Chassis, Processor, Memory, Security/AMT, Power Supplies, Batteries, Camera, USB, Fingerprint Reader, Bluetooth, Keyboard, Touchpad and TrackPoint.
    • Reads the Trusted Platform Module PCR registers, the public endorsement key, and the endorsement key serial number.
    • Reads the drive information (note: removable drives are not scanned).

    Output from the SCANSYSTEM command.

    Output from the SCANSYSTEM html command.

    Read File Command READFILE

    This ccommand will read in the Direct Platform Data file specified by the file selected –in . The platform component information in the Direct Platform Data file will be directed to the console output. The TSC Issuing CA file is specified by the –ca file option.

    The TSC Issuing CA file is specified by the –ca file option

    A graphic showing the output READ FILE option.

    The DPD file is a signed XML file. Once the DPD file has been read, the XML signature of the XML file is verified against the TSC_Issuing CA. If the DPD file XML signature does not match, the following error message is displayed:

    Direct Platform Data file: DPD_Filename.xml - XML file signature does not match.

    Scan System Read File Compare SCANREADCOMP

    This command scans the platform components and reads in the Direct Platform Data file specified by the file selected –in The component change information is directed to the console. If the -fl option is used, the Platform Component Change data file is generated with the provided filename; otherwise, a default filename is used. This data file contains a consolidated summary of the results for the compare command.

    A graphic displaying the output of the Scan Read Compare option.

    After the compare operation has been completed the two success messages are displayed. The first one indicates tha the PCR information matched against the system. The second message indicates that all the components information matched against the systems.

    If the results of the compare operation do not match, the following message is displayed:

    Change results from the can Read Compare option.

    The changes between the System Snapshot data and the DPD are displayed line by line. Any Component Data changes are displayed in red.

    It will display an error message if the changes were detected either on the TPM PCRs or at the system component level.

    Platform Component Compare Data File

    After the comparison is performed, a Platform Component Compare data xml file is written. When the –fl option is used, it allows customization of the file name. If the –fl option is not used, the tool creates the file using a default filename.

    A graphic showing the output from the Platform component compare option.

    When the compare operation has been completed, the Platform Component Compare data file is created. If the results of the compare operation match, then the data file compare results will be true.

    <?xml version="1.0" encoding="utf-8"?>  
    
    <PlatformComponentCompare ver="1">  
    
        <Header>  
            <SystemSN>PF0ZAQSW</SystemSN>  
            <Manufacturer>OEM_NAME</Manufacturer>  
            <Model>20L7002BUS</Model>  
            <DateTime>2020-08-13T11:21:38</DateTime>  
            <OEM>OEM_NAME</OEM>  
            <ODM>OEM_NAME</ODM>  
        </Header>  
    
        <CompareResults>  
            <CompareResult>true</CompareResult>  
            <ComponentScanCount>10</ComponentScanCount>  
            <ComponentChangeCount>0</ComponentChangeCount>  
        </CompareResults>  
    
    </PlatformComponentCompare>
    

    HTML output file

    Output with no changes

    Component Changes

    Graphics showing component changes,

    If the results of the Compare operation return changes, then the data file compare results are false along with the components that have changed.

    Platform Component Compare Data File

    When the compare operation has been completed then the Platform Component Compare data file will be written out. If the results of the Compare operation match, then the Compare Results will be true.

    <?xml version="1.0" encoding="utf-8"?>  
    
    <PlatformComponentCompare ver="1">  
    
        <Header>  
            <SystemSN>PF0ZAQSW</SystemSN>  
            <Manufacturer>LENOVO</Manufacturer>  
            <Model>20L7002BUS</Model>  
            <DateTime>2020-08-13T10:23:18</DateTime>  
            <OEM>LENOVO</OEM>  
            <ODM>LENOVO</ODM>  
        </Header>  
    
        <CompareResults>  
            <CompareResult>false</CompareResult>  
            <ComponentScanCount>10</ComponentScanCount>  
            <ComponentChangeCount>1</ComponentChangeCount>  
        </CompareResults>  
    
        <ComponentChanges>  
            <ComponentChange id="0"> 
                <ComponentType>Bios</ComponentType> 
                <ComponentName>Default</ComponentName> 
                <SystemValue>2024-07-30</SystemValue> 
                <SnapshotValue>2024-01-18</SnapshotValue> 
                <ComponentName>Default</ComponentName> 
                <SystemValue>U70 Ver. 01.12.01</SystemValue> 
                <SnapshotValue>U70 Ver. 01.10.00</SnapshotValue> 
            </ComponentChange> 
        </ComponentChanges>  
    
    </PlatformComponentCompare>
    

    Platform Component Compare Data File XML Schema

    The Platform Component Compare data file XML schema is as follows:

    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">  
        <xs:element name="PlatformComponentCompare">  
            <xs:complexType>  
                <xs:sequence>  
                    <xs:element name="Header" maxOccurs="1" minOccurs="0">  
                        <xs:complexType>  
                            <xs:sequence>  
                                <xs:element type="xs:string" name="SystemSN"/>  
                                <xs:element type="xs:string" name="GUID" maxOccurs="1" minOccurs="0"/>  
                                <xs:element type="xs:string" name="Manufacturer"/>  
                                <xs:element type="xs:string" name="Model"/>  
                                <xs:element type="xs:dateTime" name="DateTime"/>  
                                <xs:element type="xs:string" name="OEM"/>  
                                <xs:element type="xs:string" name="ODM" maxOccurs="1" minOccurs="0"/>  
                                <xs:element type="xs:string" name="MfgPubKeyHash" maxOccurs="1" minOccurs="0"/>  
                            </xs:sequence>  
                        </xs:complexType>  
                    </xs:element>  
                    <xs:element name="CompareResults" maxOccurs="1" minOccurs="0">  
                        <xs:complexType>  
                            <xs:sequence>  
                                <xs:element type="xs:boolean" name="CompareResult"/>  
                                <xs:element type="xs:int" name="ComponentScanCount"/>  
                                <xs:element type="xs:int" name="ComponentChangeCount"/>  
                            </xs:sequence>  
                        </xs:complexType>  
                    </xs:element>  
                    <xs:element name="ComponentChanges" minOccurs="0">  
                        <xs:complexType>  
                            <xs:sequence>  
                                <xs:element name="ComponentChange" maxOccurs="unbounded" minOccurs="0">  
                                    <xs:complexType>  
                                        <xs:sequence>  
                                            <xs:element type="xs:string" name="ComponentType" maxOccurs="1" minOccurs="0"/>  
                                            <xs:element type="xs:string" name="ComponentName" maxOccurs="unbounded" minOccurs="0"/>  
                                            <xs:element type="xs:string" name="SystemValue" maxOccurs="unbounded" minOccurs="0"/>  
                                            <xs:element type="xs:string" name="SnapshotValue" maxOccurs="unbounded" minOccurs="0"/>  
                                        </xs:sequence>  
                                        <xs:attribute type="xs:short" name="id"/>  
                                    </xs:complexType>  
                                </xs:element>  
                            </xs:sequence>  
                        </xs:complexType>  
                    </xs:element>  
                </xs:sequence>  
                <xs:attribute type="xs:string" name="ver"/>  
            </xs:complexType>  
        </xs:element>  
    </xs:schema>
    

    HTML output file

    Output with component changes

    Platform Component Compare Behavior

    The Component Compare command scans the platform and generates a list of the detected components. The Command then reads the Direct Platform data file and generates the list of components from the file.

    During the comparison operation the comparison algorithm will then compare the 2 list of components. The Compare Command will then begin the component comparison logic to compare the individual components from each list.

    The Comparison Results have 4 different outcomes: Components Match, Component Changed, Component Removed and Component Added.

    Output with component changes

    Components Match - If the platform component information matches the Direct Platform Data file component information, then the comparison logic will return an exact component match and will assign a pass to that component.

    Component Changed - If there is a change to platform component information compared to the Direct Platform Data file component information, then the comparison logic will return a component mismatch and flag a fail to that component.

    Component Removed - If there is a component not detected in the platform component list that was in the Direct Platform Data file component list, then the comparison logic will return a component mismatch and flag a fail to that component.

    Component Added - If there is a component detected in the platform component list that is not in the Direct Platform Data file component list, then the comparison logic will return a warning that one or more components have been added to the system. It will not flag the component as a mismatch.

    Direct Platform Data ini File

    The DirectPlatformData.ini file is used to enable or disable the collection and checking of component data and the individual TPM PCR registers. If the component is enabled then the comparison logic will check the platform component information and compare the Direct Platform Data file component information.

    The following additional (Extended) components have been added to the platform component list; Integrated Camera, USB, Integrated Fingerprint Reader, Bluetooth, Keyboard, Touchpad and TrackPoint.

    The following Table contains the DirectPlatformData.ini file definitions:

    DirectPlatformData.ini

    Direct Data Component Default Setting Definition
    PCRMask= 101100101110111111111111 PCR registers 1, 4, 5, 7 & 11 comparison checks are disabled PCR Mask will enable/disable the individual TPM Registers 0-23. Each digit represents 1 PCR register with PCR Register 0 being the leftmost digit and PCR 23 being the rightmost digit.
    BiosEnabled= 1 (Enabled) BIOS version (SMBIOS Table 0) check
    BaseboardEnabled= 1 (Enabled) Motherboard version (SMBIOS Table 2) check
    AMTEnabled= 1 (Enabled) vPro AMT version (SMBIOS Table 131) check
    CpuEnabled= 1 (Enabled) Processors’ information (SMBIOS Table 4) check
    MemoryEnabled= 1 (Enabled) DIMM modules’ information (SMBIOS Table 17) check
    HddEnabled= 1 (Enabled) HDD/SATA Internal Drive information check
    TpmEnabled= 1 (Enabled) TPM module information (separate from PCR registers) check
    NICEnabled= 0 (Disabled) Network Card / Network Adaptors’ information check
    WiFiEnabled=/td> 0 (Disabled) WiFi Card / WiFi Adapter information check
    BatteryEnabled= 1 (Enabled) Integrated Batter information check
    Extended Components Default Setting Definition
    CameraEnabled= 1 (Enabled) Integrated Camera information check
    USBEnabled= 1 (Enabled) USB Devices information check
    FingerPrintReaderEnabled= 1 (Enabled) Integrated Fingerprint Read information check
    BlueToothEnabled= 1 (Enabled) Bluetooth Card/ Bluetooth Adapter information check
    KeyboardEnabled= 1 (Enabled) Integrated Keyboard information check
    TouchPadEnabled= 1 (Enabled) Integrated Touch Pad information check
    TrackPointEnabled= 1 (Enabled) Integrated Track Point information check
    VideoEnabled= 0 (Disabled) Integrated Video Controller information check

    Scan Read Compare (Match) Console Output

    After the compare operation has been completed two success messages will be displayed. The first one indicates that PCR information did match against the system and the second one indicates that all the components information did match against the system.

    Scan Read Compare Console Match Output

    Scan Read Compare (Changes) Console Output

    If there are component changes between the System Snapshot data and the Direct Platform Data the changes will be displayed line by line along with an error message will be displayed.

    Scan Read Compare Console Match Output

    Scan Read Compare (Added) Console Output

    If there is a component detected in the platform component list that is not in the Direct Platform Data file component list, then the comparison logic will return a component added and assign a warning that one or more components have been added to the system.

    Scan Read Compare Console Match Output

    Scan Read Compare (Changes) HTML Output

    If there are component changes the changes between the System Snapshot data and the Direct Platform Data the changes with an error message will be written to an HTML file.

    Scan Read Compare Console HTML Output

    Platform Certificate Compare Command PFORMCRTCOMP

    This command compares the contents of the signed platform attribute certificate file specified by the –in option to the current system information. It detects changes in elements such as the EK Serial Number in the Trusted Platform Module and the Platform Serial Number in the system. It also compares the platform configuration from the file against the current components from the system. The results of the comparison are output to the console. The command indicates whether changes were detected at the system or component level as yellow warning messages. If the result of the comparison is successful, a success message is displayed in yellow: PFORMCRTCOMP PASS. If the result of the comparison is successful, then it displays a failure message in red: PFORMCRTCOMP FAIL.

    The differences are shown line by line in red.

    The Platform Certificate Verify function checks the Platform Certificate file issued for the platform against the platform itself, using the TPM as the hardware root of trust. It verifies that the system manufacturer, version, serial number, and motherboard serial number match the values in the signed platform certificate.

    Platform certificate compare process

    Platform Cert Compare (Match) Console Output

    If the Platform Certificate matches the System values then the Platform Certificate general info matched and There are no platform configuration changes messages will be displayed along with the Certificate Values. In addition, the command will output a success message indicating that the command was successful (i.e. PFORMCRTCOMP PASS).

    Graphic showing the platform certificate compare process passing.

    Platform Cert Compare (Changes) Console Output

    If the Platform Certificate does not match the System values, then two possible messages will be displayed: If the information that did not match is related to values like Serial Number, Model, Manufacturer, EK TPM Serial Number and others then the Platform Certificate general info did not match message is displayed. If the differences found are related to platform components configuration, then there are platform configuration changes messages will be displayed. All the differences that are found are going to be highlighted in red. Finally, the command will output an error message indicating that the command was not successful (i.e. PFORMCRTCOMP FAIL)

    PFORMCRTCOMP FAIL

    Graphic showing the platform certificate compare process with a failing message.

    CA signature verify command CASIGVERIFY

    This command verifies the signature of the TSC Issuing CA file. Optionally, it also enables verification of the signature of either a signed platform attribute certificate or a signed Direct Platform Data File using the public key of the TSC Issuing CA certificate. The TSC Issuing CA file is specified by the –ca file option . The platform attribute certificate or signed Direct Platform Data File can be specified by the –in or the –in . The CASIGVERIFY command will only verify one file at a time.

    Graphic showing the output from the CASIGVERIFY option.

    Passing Signed Direct Platform Data File

    Passing signed Direct Platform Data file output that passed.

    When no valid signed Direct Platform Data file is being passed, the command displays an error message.

    Passing signed Direct Platform Data file output that failed.

    Passing Signed Platform Attribute Certificate

    Passing signed Direct Platform Data file output that passed an attribute certificate.

    The Platform Attribute Certificate and the Direct Platform Data files are downloaded from the TSC Web Portal are signed using a PKI signing process. To validate the signature of these files, an Intermediate Certificate Authority file is used.

    This Intermediate Certificate Authority file contains a public key that is used to verify the signature of the Platform Attribute Certificate file and the Direct Platform Data files.

    Download the Intermediate Certificate Authority file and save it on the system. If you don’t know where to download your Issuing CA, please contact the TSC web portal team, and they will help you to retrieve your Issuing CA.cer file.

    Open-Source acknowledgments

    This product includes software developed by the open-source community.

    Bouncy Castle (Version 1.9) Bouncy Castle is a collection of APIs used in cryptography. It is licensed under the MIT License. Copyright (c) 2021 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org) For more details, see the Bouncy Castle License: https://www.bouncycastle.org/licence.html

    Microsoft TSS (Version 2.1.1) Microsoft TSS is a library for TPM 2.0. It is licensed under the MIT License. Copyright (c) 2019 Microsoft Corporation For more details, see the Microsoft TSS License: https://github.com/Microsoft/TSS.MSR/blob/main/LICENSE

    In this article
    Back to top Notice & Disclaimer