Using OEMSafetyKey
How to program and verify the OEM Safety Key
Programming Step – Option A
Using GenICam Browser:
- Go to the GenApi tab of the interface module.
- Write a secret key to
ProgramOemSafetyKey
- Copy the value of
EncryptedOemSafetyKey
and paste it somewhere appropriate.
Note: There is a direct relationship between the programming key and the encrypted key. A given programming key will always
lead to the same encrypted key, even on different computers or with different Coaxlink cards. This makes it possible to read the
encrypted key once and hard-code this value in the application that must be protected by the OEM safety key.
Programming Step – Option B
Using a custom application:
- Program the OEM safety key of the Coaxlink card by writing a secret key to ProgramOemSafetyKey.
- Read back the encrypted key by reading EncryptedOemSafetyKey. Write this value somewhere appropriate.
grabber.set<InterfacePort>("ProgramOemSafetyKey","plain-text key"); // 1
std::stringencryptedKey=grabber.get<InterfacePort>("EncryptedOemSafetyKey"); // 2
Verification Step
In the application that must be protected by the OEM key:
InterfacePort>("CheckOemSafetyKey[EncryptedKey]", "encrypted key retrieved in the programming step");
Note: Even if the encrypted key is discovered and an attacker uses it to reprogram cards, the above verification will fail.