Example using JTAG (or via U-Boot when in OEM Open):
# On target => get_debug_challenge Challenge: 0xABCD1234... ./cst --sign-debug-challenge --challenge 0xABCD1234... --key srk1_4096.pem --out response.bin Back on target => set_debug_response $(cat response.bin) JTAG unlocked for 15 minutes. Part 7: Common Pitfalls and Debugging Pitfall 1: SRK hash mismatch Symptom: "ESBC verification failed" even though you signed correctly. Solution: Ensure the hash programmed in fuses matches the hash of the table , not a single key. Run: qoriq trust architecture 2.1 user guide
=> fuse prog -y 0 0x0 0x3C2F... ... (you must split the 256-bit SRK hash across 8 32-bit fuse rows) Example using JTAG (or via U-Boot when in
cd cst/keys openssl ecparam -name prime256v1 -genkey -noout -out srk1_256.pem # for ECC # OR for RSA 4K: openssl genrsa -out srk1_4096.pem 4096 openssl rsa -pubout -in srk1_4096.pem -out srk1_4096_pub.pem # Repeat for srk2, srk3, srk4 Then generate the SRK table (hash + public keys): Part 7: Common Pitfalls and Debugging Pitfall 1: