Documentation Index

Fetch the complete documentation index at: https://docs.zpesystems.com/llms.txt

Use this file to discover all available pages before exploring further.

How to Validate the Platform Certificate

Prev Next

These steps validate that the platform certificate stored in the device's TPM NVRAM was generated by ZPE Systems.

# Get platform certificate from device's TPM
curl -s -X GET \
  https://nodegrid/api/v1/security/certificates/Platform-Certificate \
  --insecure \
  -H 'Content-Type: application/json' \
  -H 'accept: application/json' \
  -H "ticket: $ticket" | \
  jq -r .certificate | \
  tr -d '\r' | \
  sed '/^[[:space:]]*$/d' > device-platform-certificate.crt

# Verify which subordinated CA signed the device platform certificate
# This device CA was signed by 'ZPE Systems Manufacturing CA 1'
openssl x509 -issuer -noout -in device-platform-certificate.crt
#issuer=O = ZPE Systems, CN = ZPE Systems Manufacturing CA 1

# Download subordinated certificate from device
scp admin@nodegrid:/usr/share/ca-certificates/platform-certificate/zpe_systems_manufacturing_ca_1.crt .

# Verify that crt is unadulterated
md5sum zpe_systems_manufacturing_ca_1.crt
#f62cd72093eff2405761df7f66f6aaad  ./zpe_systems_manufacturing_ca_1.crt

# Verify which root CA signed subordinated CA
# This subordinated was signed by 'ZPE Systems Root CA 1'
openssl x509 -issuer -noout -in zpe_systems_manufacturing_ca_1.crt
#issuer=O = ZPE Systems, CN = ZPE Systems Root CA 1

# Download root certificate from device
scp admin@nodegrid:/usr/share/ca-certificates/platform-certificate/zpe_systems_root_ca_1.crt .

# Verify that root CA crt is unadulterated
md5sum zpe_systems_root_ca_1.crt
#bb48016879300c1ab97aa847f80d342e  ./zpe_systems_root_ca_1.crt

# All required certificates are now available
ls -1
#device-platform-certificate.crt
#zpe_systems_manufacturing_ca_1.crt
#zpe_systems_root_ca_1.crt

# create CA chain
cat "zpe_systems_root_ca_1.crt" > ca_chain.pem
cat "zpe_systems_manufacturing_ca_1.crt" >> ca_chain.pem

# Validate platform certificate with openssl
openssl verify --verbose -CAfile ca_chain.pem device-platform-certificate.crt
#device-platform-certificate.pem: OK