Adding ComponentClassTest with necessary resources

This commit is contained in:
iadgovuser62 2023-10-17 12:06:33 -04:00
parent f64d884abf
commit e5f655a069
9 changed files with 826 additions and 0 deletions

View File

@ -0,0 +1,286 @@
package hirs.attestationca.persist.entity.userdefined.certificate.attributes;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import org.junit.jupiter.api.Test;
import java.net.URISyntaxException;
import java.nio.file.Paths;
/**
* Tests for the ComponentClassTest class.
*/
public class ComponentClassTest {
private static final String JSON_FILE = "/config/component-class.json";
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNoneUNK() throws URISyntaxException {
String componentIdentifier = "00000001";
ComponentClass instance = new ComponentClass("TCG",
Paths.get(this.getClass().getResource(JSON_FILE).toURI()),
componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "Unknown");
assertEquals(resultCategory, "None");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNoneOther() throws URISyntaxException {
String componentIdentifier = "00000000";
ComponentClass instance = new ComponentClass("TCG", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "Unknown");
assertEquals(resultCategory, "None");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentBlank() throws URISyntaxException {
String componentIdentifier = "";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "Unknown");
assertEquals(resultCategory, "None");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNFEx() throws URISyntaxException {
String componentIdentifier = "99999999";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "Unknown");
assertEquals(resultCategory, "None");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNull() throws URISyntaxException {
String componentIdentifier = null;
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "Unknown");
assertEquals(resultCategory, "None");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQueryTCG() throws URISyntaxException {
String componentIdentifier = "0x00040002";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "SAS Bridgeboard");
assertEquals(resultCategory, "Modules");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQuerySMBIOS() throws URISyntaxException {
String componentIdentifier = "0x00040003";
ComponentClass instance = new ComponentClass("2.23.133.18.3.3", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals("Central Processor", resultComponent);
assertEquals("Processor", resultCategory);
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQueryIntTCG() throws URISyntaxException {
String componentIdentifier = "0x00040002";
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "SAS Bridgeboard");
assertEquals(resultCategory, "Modules");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQueryIntSMBIOS() throws URISyntaxException {
String componentIdentifier = "0x00040003";
ComponentClass instance = new ComponentClass("2.23.133.18.3.3", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals("Central Processor", resultComponent);
assertEquals("Processor", resultCategory);
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQueryIntOther() throws URISyntaxException {
String componentIdentifier = "0x00040000";
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals("Other", resultComponent);
assertEquals("Modules", resultCategory);
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQueryIntUnk() throws URISyntaxException {
String componentIdentifier = "0x00040001";
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals("Unknown", resultComponent);
assertEquals("Modules", resultCategory);
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQuery2() throws URISyntaxException {
String componentIdentifier = "0x00060015";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals("DDR3 Memory", resultComponent);
assertEquals("Memory", resultCategory);
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentStandardQueryUNK() throws URISyntaxException {
String componentIdentifier = "0x00060001";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals("Unknown", resultComponent);
assertEquals("Memory", resultCategory);
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNonStandardQuery() throws URISyntaxException {
String componentIdentifier = "0x00040002";
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "SAS Bridgeboard");
assertEquals(resultCategory, "Modules");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNonStandardQuery2() throws URISyntaxException {
String componentIdentifier = "0x00040002";
ComponentClass instance = new ComponentClass("2.23.133.18.3.1", Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "SAS Bridgeboard");
assertEquals(resultCategory, "Modules");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNonExistentValue() throws URISyntaxException {
String componentIdentifier = "0x00040014";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertNull(resultComponent);
assertEquals(resultCategory, "Modules");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNonExistentValue2() throws URISyntaxException {
String componentIdentifier = "0x0004FF14";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertNull(resultComponent);
assertEquals(resultCategory, "Modules");
}
/**
* Test of getComponent method, of class ComponentClass.
* @throws URISyntaxException if there is a problem constructing the URI
*/
@Test
public void testGetComponentNonExistentCategory() throws URISyntaxException {
String componentIdentifier = "0x0015FF14";
ComponentClass instance = new ComponentClass(Paths.get(this.getClass()
.getResource(JSON_FILE).toURI()), componentIdentifier);
String resultCategory = instance.getCategoryStr();
String resultComponent = instance.getComponentStr();
assertEquals(resultComponent, "Unknown");
assertEquals(resultCategory, "None");
}
}

View File

@ -0,0 +1,17 @@
list.items=item_one,item_two
list.items.item_one.size=small
list.items.item_one.priority=high
list.items.item_two.size=large
list.items.item_two.priority=low
list.empty_items=
list.items.spaces= item_one, item_two , item_three
testEnabled.one=true
testEnabled.two=TRUE
testEnabled.three=false
testEnabled.four=FALSE
testEnabled.five=

View File

@ -0,0 +1,3 @@
hirs.client.collector.srk.mode=INVALID_MODE
hirs.client.collector.srk.value=0000000000000000000000000000000000000000
hirs.client.collector.tpmm=tpm_module

View File

@ -0,0 +1,13 @@
hirs.client.collectors=test
hirs.client.collectors.test.class=hirs.collector.TestCollector
hirs.client.appraisers=test_appraiser
hirs.client.appraisers.test_appraiser.url=https://sampleAppraiserURL:8443/HIRS_Appraiser/SOAPMessageProcessor?wsdl
hirs.client.appraisers.test_appraiser.truststore=/etc/hirs/provisioner/setup/TrustStore.jks
hirs.client.appraisers.test_appraiser.truststorePassword=password
hirs.client.appraisers.test_appraiser.identityUuid=RPMUUID
hirs.client.appraisers.test_appraiser.identityAuth.mode=SHA1
hirs.client.appraisers.test_appraiser.identityAuth.value=0000000000000000000000000000000000000000
hirs.client.appraisers.test_appraiser.identityCert=/tpm/sample_identity_cert.cer

View File

@ -0,0 +1 @@
hirs.client.collector.imaLog=/test/path/to/ima.log

View File

@ -0,0 +1,25 @@
hirs.client.collector.tpm=true
hirs.client.collector.ima=true
hirs.client.collector.device=true
hirs.client.processing_mode=1
hirs.client.max_retries=0
hirs.client.appraisers=hirs-appraiser,test-appraiser
hirs.client.appraisers.test-appraiser.url=https://test-appraiser:8443/HIRS_Appraiser/SOAPMessageProcessor?wsdl
hirs.client.appraisers.test-appraiser.truststore=/etc/hirs/provisioner/setup/TrustStore.jks
hirs.client.appraisers.test-appraiser.truststorePassword=password
hirs.client.appraisers.test-appraiser.identityUuid=d5606e40-366f-4693-a21f-12916cb1e732
hirs.client.appraisers.test-appraiser.identityAuth.mode=SHA1
hirs.client.appraisers.test-appraiser.identityAuth.value=0000000000000000000000000000000000000000
hirs.client.appraisers.test-appraiser.identityCert=/etc/hirs/provisioner/certs/d5607e40-366f-4693-a21f-12916cb1e732.cer
hirs.client.appraisers.hirs-appraiser.url=https://hirs-appraiser:8443/HIRS_Appraiser/SOAPMessageProcessor?wsdl
hirs.client.appraisers.hirs-appraiser.truststore=/etc/hirs/provisioner/setup/TrustStore.jks
hirs.client.appraisers.hirs-appraiser.truststorePassword=password
hirs.client.appraisers.hirs-appraiser.identityUuid=d5606e40-366f-4693-a21f-12916cb1e733
hirs.client.appraisers.hirs-appraiser.identityAuth.mode=SHA1
hirs.client.appraisers.hirs-appraiser.identityAuth.value=0000000000000000000000000000000000000000
hirs.client.appraisers.hirs-appraiser.identityCert=/etc/hirs/provisioner/certs/d5607e40-366f-4693-a21f-12916cb1e733.cer

View File

@ -0,0 +1,4 @@
hirs.client.collector.srk.mode=SHA1
hirs.client.collector.srk.value=0000000000000000000000000000000000000000
hirs.client.collector.tpmm=tpm_module
hirs.client.collector.maximumNumberOfQuoteRetries=3

View File

@ -0,0 +1,477 @@
{
"TCG": {
"Processors": {
"ID": "0x00010000",
"Types": {
"0x00000002": "CPU",
"0x00000003": "Math Processor",
"0x00000004": "DSP Processor",
"0x00000005": "Video Processor",
"0x00000006": "GPU"
}
},
"Containers": {
"ID": "0x00020000",
"Types": {
"0x00000002": "Desktop",
"0x00000003": "Low Profile Desktop",
"0x00000004": "Pizza Box",
"0x00000005": "Mini Tower",
"0x00000006": "Tower",
"0x00000007": "Portable",
"0x00000008": "Laptop",
"0x00000009": "Notebook",
"0x0000000A": "Hand Held",
"0x0000000B": "Docking Station",
"0x0000000C": "All in One",
"0x0000000D": "Sub Notebook",
"0x0000000E": "Space-saving",
"0x0000000F": "Lunch Box",
"0x00000010": "Main Server Chassis",
"0x00000011": "Expansion Chassis",
"0x00000012": "Sub Chassis",
"0x00000013": "Bus Expansion Chassis",
"0x00000014": "Peripheral Chassis",
"0x00000015": "RAID Chassis",
"0x00000016": "Rack Mount Chassis",
"0x00000017": "Sealed-case PC",
"0x00000018": "Multi-system Chassis",
"0x00000019": "Compact PCI",
"0x0000001A": "Advanced TCA",
"0x0000001B": "Blade",
"0x0000001C": "Blade Enclosure",
"0x0000001D": "Tablet",
"0x0000001E": "Convertible",
"0x0000001F": "Detachable",
"0x00000020": "IoT Gateway",
"0x00000021": "Embedded PC",
"0x00000022": "MiniPC",
"0x00000023": "Stick PC",
"0x00000024": "1U Rack Mount Chassis",
"0x00000025": "2U Rack Mount Chassis",
"0x00000026": "3U Rack Mount Chassis",
"0x00000027": "4U Rack Mount Chassis",
"0x00000028": "5U Rack Mount Chassis",
"0x00000029": "6U Rack Mount Chassis",
"0x0000002A": "7U Rack Mount Chassis",
"0x0000002B": "8U Rack Mount Chassis"
}
},
"IC Boards": {
"ID": "0x00030000",
"Types": {
"0x00000002": "Daughter Board",
"0x00000003": "Motherboard",
"0x00000004": "Riser Card"
}
},
"Modules": {
"ID": "0x00040000",
"Types": {
"0x00000002": "SAS Bridgeboard",
"0x00000003": "Processor Module",
"0x00000004": "I/O Module",
"0x00000005": "Memory Module",
"0x00000006": "Power Module",
"0x00000007": "Processor/Memory Module",
"0x00000008": "Processor/IO Module",
"0x00000009": "TPM"
}
},
"Controllers": {
"ID": "0x00050000",
"Types": {
"0x00000002": "Video Controller",
"0x00000003": "SCSI Controller",
"0x00000004": "Ethernet Controller",
"0x00000005": "Token Ring Controller",
"0x00000006": "Audio/Sound Controller",
"0x00000007": "PATA Controller",
"0x00000008": "SATA Controller",
"0x00000009": "SAS Controller",
"0x0000000A": "LED Display Controller",
"0x0000000B": "RAID Controller",
"0x0000000C": "Remote Access Controller",
"0x0000000E": "USB Controller",
"0x0000000F": "Multi-function Storage Controller",
"0x00000010": "Multi-function Network Controller",
"0x00000011": "Smart IO Controller"
}
},
"Memory": {
"ID": "0x00060000",
"Types": {
"0x00000002": "Port Controller",
"0x00000003": "Baseboard Management Controller",
"0x00000004": "DRAM Memory",
"0x00000005": "EDRAM Memory",
"0x00000006": "VRAM Memory",
"0x00000007": "SRAM Memory",
"0x00000008": "RAM Memory",
"0x00000009": "ROM Memory",
"0x0000000A": "FLASH Memory",
"0x0000000B": "EEPROM Memory",
"0x0000000C": "FEPROM Memory",
"0x0000000D": "EPROM Memory",
"0x0000000E": "CDRAM Memory",
"0x0000000F": "3DRAM Memory",
"0x00000010": "SDRAM Memory",
"0x00000011": "SGRAM Memory",
"0x00000012": "RDRAM Memory",
"0x00000013": "DDR Memory",
"0x00000014": "DDR2 Memory",
"0x00000015": "DDR3 Memory",
"0x00000016": "DDR4 Memory",
"0x00000017": "LPDDR Memory",
"0x00000018": "LPDDR2 Memory",
"0x00000019": "LPDDR3 Memory",
"0x0000001A": "LPDDR4 Memory",
"0x0000001B": "NVRAM Memory",
"0x0000001C": "3D Xpoint Memory"
}
},
"Storage": {
"ID": "0x00070000",
"Types": {
"0x00000002": "Storage Drive",
"0x00000003": "SSD Drive",
"0x00000004": "M.2 Drive",
"0x00000005": "HDD Drive"
}
},
"Media Drives": {
"ID": "0x00080000",
"Types": {
"0x00000002": "Floppy Drive",
"0x00000003": "Tape Drive",
"0x00000004": "PCIe Drive",
"0x00000005": "CD Drive",
"0x00000006": "DVD Drive",
"0x00000007": "Blu-Ray Drive"
}
},
"Network Adapters": {
"ID": "0x00090000",
"Types": {
"0x00000002": "Ethernet Adapter",
"0x00000003": "WiFi Adapter",
"0x00000004": "Bluetooh Adapter",
"0x00000005": "Cellular Adapter",
"0x00000006": "Zigbee Adapter",
"0x00000007": "3G Cellular Adapter",
"0x00000008": "4G Cellular Adapter",
"0x00000009": "5G Cellular Adapter",
"0x0000000A": "Network Switch",
"0x0000000B": "Network Router"
}
},
"Energy Object": {
"ID": "0x000A0000",
"Types": {
"0x00000002": "Power Supply",
"0x00000003": "Battery",
"0x00000004": "Coin Battery",
"0x00000005": "Capacitor Battery"
}
},
"Sensors": {
"ID": "0x000B0000",
"Types": {
"0x00000002": "Optical Sensor",
"0x00000003": "Temperature Sensor",
"0x00000004": "Proximity Sensor",
"0x00000005": "IR Sensor",
"0x00000006": "Chemical Sensor",
"0x00000007": "Motion Detection Sensor",
"0x00000008": "Level Sensor",
"0x00000009": "Gyroscopic Sensor",
"0x0000000A": "Humidity Sensor",
"0x0000000B": "Accelerometer Sensor"
}
},
"Display Devices": {
"ID": "0x000C0000",
"Types": {
"0x00000002": "LCD Display Panel",
"0x00000003": "LED Display Panel",
"0x00000004": "OLED Display Panel",
"0x00000005": "CRT Display Panel"
}
},
"Cooling": {
"ID": "0x000D0000",
"Types": {
"0x00000002": "Thermal Assembly",
"0x00000003": "Fan",
"0x00000004": "Chassis Fan",
"0x00000005": "Socket Fan",
"0x00000006": "Heatsink",
"0x00000007": "Liquid Cooling"
}
},
"Input Devices": {
"ID": "0x000E0000",
"Types": {
"0x00000002": "Mouse",
"0x00000003": "Track Ball",
"0x00000004": "Track Point",
"0x00000005": "Glide Point",
"0x00000006": "Touch Pad",
"0x00000007": "Touch Screen",
"0x00000008": "Camera",
"0x00000009": "Fingerprint Reader",
"0x0000000A": "Keyboard",
"0x0000000B": "Smartcard Reader",
"0x0000000C": "Biometric Reader",
"0x0000000D": "Joystick",
"0x0000000E": "Gaming Controller",
"0x0000000F": "IR Camera",
"0x00000010": "Facial Recognition Camera",
"0x00000011": "Scanner"
}
},
"Slots": {
"ID": "0x000F0000",
"Types": {
"0x00000002": "Socket",
"0x00000003": "ISA Slot",
"0x00000004": "PCI Slot",
"0x00000005": "AGP Slot",
"0x00000006": "PCI-X Slot",
"0x00000007": "M.2 Slot",
"0x00000008": "MXM Slot",
"0x00000009": "PCI Express Slot",
"0x0000000A": "PCI Express Mini",
"0x0000000B": "PC-98 Slot",
"0x0000000C": "Memory Slot"
}
},
"Ports": {
"ID": "0x00100000",
"Types": {
"0x00000002": "Parallel Port",
"0x00000003": "Serial Port",
"0x00000004": "SCSI Port",
"0x00000005": "MIDI Port",
"0x00000006": "USB Port",
"0x00000007": "Firewire Port",
"0x00000008": "PCMCIA Port",
"0x00000009": "ATA Port",
"0x0000000A": "SATA Port",
"0x0000000B": "SAS Port",
"0x0000000C": "Optical Port",
"0x0000000D": "DisplayPort",
"0x0000000E": "Mini DisplayPort",
"0x0000000F": "HDMI Port",
"0x00000010": "Mini HDMI Port",
"0x00000011": "Micro HDMI Port",
"0x00000012": "Thunderbolt Port",
"0x00000013": "VGA Port",
"0x00000014": "Mini VGA Port",
"0x00000015": "DVI Port",
"0x00000016": "DVI-I Port",
"0x00000017": "DVI-D Port",
"0x00000018": "DVI-A Port",
"0x00000019": "Mini DVI Port",
"0x0000001A": "Micro DVI Port",
"0x0000001B": "Ethernet Port",
"0x0000001C": "ADB Port",
"0x0000001D": "Mac Serial Port",
"0x0000001E": "PS/2 Port",
"0x0000001F": "Surround Sound Port",
"0x00000020": "Stereo Port",
"0x00000021": "Dolby 5.1 Port",
"0x00000022": "Dolby 7.1 Port",
"0x00000023": "Dolby 7.2 Port",
"0x00000024": "Line In Port",
"0x00000025": "Microphone Port",
"0x00000026": "Speaker Port",
"0x00000027": "Digital Audio Port",
"0x00000028": "TOSLINK Port"
}
},
"Discrete Component": {
"ID": "0x00110000",
"Types": {
"0x00000002": "Capacitor",
"0x00000003": "Resistor",
"0x00000004": "Inductor",
"0x00000005": "Diode",
"0x00000006": "Crystal Oscilator",
"0x00000007": "Logic Gate",
"0x00000008": "Ferrite Beads",
"0x00000009": "Transistor",
"0x0000000A": "Fuse",
"0x0000000B": "Voltage Regulator",
"0x0000000C": "DC/DC Converter",
"0x0000000D": "Switching Regulator",
"0x0000000E": "Power Switch"
}
},
"Cabling": {
"ID": "0x00120000",
"Types": {
"0x00000002": "AC Adapter",
"0x00000003": "Power Cord",
"0x00000004": "Serial ATA Cable",
"0x00000005": "Serial ATA Power Cable",
"0x00000006": "Drive Cable",
"0x00000007": "Power Supply Cable",
"0x00000008": "IDE Cable",
"0x00000009": "Molex Cable",
"0x0000000A": "Ribbon Cable",
"0x0000000B": "PCI Express Cable"
}
},
"Firmware": {
"ID": "0x00130000",
"Types": {
"0x00000002": "UEFI",
"0x00000003": "System BIOS",
"0x00000004": "Drive BIOS",
"0x00000005": "Bootloader",
"0x00000006": "System Management Module"
}
}
},
"SMBIOS": {
"BIOS": {
"ID": "0x00000000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown"
}
},
"System": {
"ID": "0x00010000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown"
}
},
"Baseboard": {
"ID": "0x00020000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown",
"0x00000003": "Server Blade",
"0x00000004": "Connectivity Switch",
"0x00000005": "System Management Module",
"0x00000006": "Processor Module",
"0x00000007": "I/O Module",
"0x00000008": "Memory Module",
"0x00000009": "Daughter board",
"0x0000000A": "Motherboard (includes processor, memory, and I/O)",
"0x0000000B": "Processor/Memory Module",
"0x0000000C": "Processor/IO Module",
"0x0000000D": "Interconnect board"
}
},
"Chassis": {
"ID": "0x00030000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown",
"0x00000003": "Desktop",
"0x00000004": "Low Profile Desktop",
"0x00000005": "Pizza Box",
"0x00000006": "Mini Tower",
"0x00000007": "Tower",
"0x00000008": "Portable",
"0x00000009": "Laptop",
"0x0000000A": "Notebook",
"0x0000000B": "Hand Held",
"0x0000000C": "Docking Station",
"0x0000000D": "All in One",
"0x0000000E": "Sub Notebook",
"0x0000000F": "Space-saving",
"0x00000010": "Lunch Box",
"0x00000011": "Main Server Chassis",
"0x00000012": "Expansion Chassis",
"0x00000013": "SubChassis",
"0x00000014": "Bus Expansion Chassis",
"0x00000015": "Peripheral Chassis",
"0x00000016": "RAID Chassis",
"0x00000017": "Rack Mount Chassis",
"0x00000018": "Sealed-case PC",
"0x00000019": "Multi-system chassis",
"0x0000001A": "Compact PCI",
"0x0000001B": "Advanced TCA",
"0x0000001C": "Blade",
"0x0000001D": "Blade Enclosure",
"0x0000001E": "Tablet",
"0x0000001F": "Convertible",
"0x00000020": "Detachable",
"0x00000021": "IoT Gateway",
"0x00000022": "Embedded PC",
"0x00000023": "Mini PC",
"0x00000024": "Stick PC"
}
},
"Processor": {
"ID": "0x00040000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown",
"0x00000003": "Central Processor",
"0x00000004": "Math Processor",
"0x00000005": "DSP Processor",
"0x00000006": "Video Processor"
}
},
"RAM": {
"ID": "0x00110000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown",
"0x00000003": "DRAM",
"0x00000004": "EDRAM",
"0x00000005": "VRAM",
"0x00000006": "SRAM",
"0x00000007": "RAM",
"0x00000008": "ROM",
"0x00000009": "FLASH",
"0x0000000A": "EEPROM",
"0x0000000B": "FEPROM",
"0x0000000C": "EPROM",
"0x0000000D": "CDRAM",
"0x0000000E": "3DRAM",
"0x0000000F": "SDRAM",
"0x00000010": "SGRAM",
"0x00000011": "RDRAM",
"0x00000012": "DDR",
"0x00000013": "DDR2",
"0x00000014": "DDR2 FB-DIMM",
"0x00000015": "Reserved",
"0x00000016": "Reserved",
"0x00000017": "Reserved",
"0x00000018": "DDR3",
"0x00000019": "FBD2",
"0x0000001A": "DDR4",
"0x0000001B": "LPDDR",
"0x0000001C": "LPDDR2",
"0x0000001D": "LPDDR3",
"0x0000001E": "LPDDR4",
"0x0000001F": "Logical non-volatile device",
"0x00000020": "HBM (High Bandwidth Memory)",
"0x00000021": "HBM2 (High Bandwidth Memory Generation 2)",
"0x00000022": "DDR5",
"0x00000023": "LPDDR5"
}
},
"Power Supply": {
"ID": "0x00270000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown"
}
},
"TPM": {
"ID": "0x002B0000",
"Types": {
"0x00000001": "Other",
"0x00000002": "Unknown"
}
}
}
}