This is an old revision of the document!


SDK API

The followings are a set of APIs that initialize device management information and that are used for dynamic memory control and PIN code generation.

BS2CredentialKeyInfo

/**
 * BS2_CRED_KEY_REQ
 */
enum
{
    BS2_CRED_KEY_REQ_COMM = 0,
    BS2_CRED_KEY_REQ_DATA = 1,
};
 
enum
{
    BS2_CRED_KEY_SIZE = 32,
};
 
/**
 * BS2CredentialKeyInfo
 */
typedef struct
{
    uint32_t maxPacketSize;			///< 4 bytes
    uint8_t  key[BS2_CRED_KEY_SIZE];		///< 32 bytes
    uint8_t  dualIDSupported;			///< 1 byte
    uint8_t  useAlphanumericID;			///< 1 byte
    uint8_t  credentialKeySupported;		///< 1 byte
    uint8_t  credentialKeyRequest;		///< 1 byte
    uint8_t  reserved[28];			///< 28 bytes (reserved)
} BS2CredentialKeyInfo;

1. maxPacketSize
The maximum TCP packet size allowed by the device.

2. key
The key value used by the device.
Depending on the credentialKeyRequest setting, you can get a communication encryption key, or a data encryption key.

3. dualIDSupported
Indicates whether the device's userID format (number, character) is allowed to change.

4. useAlphanumericID
A flag indicating whether the device uses an alphanumeric userID.

5. credentialKeySupported
Indicates whether data key changes are allowed.
Device supports data credential key changes when the release date of FW for each device is later than 30 Mar 2018,
So it indicates whether the currently connected device supports the modification of these keys.

6. credentialKeyRequest
You can use this setting to request a key for the device.
This setting is applicable only when the release date of FW for each device is later than 30 Mar 2018.
In the case of the previous FW, only the communication key is returned regardless of whether this is set or not.

Value Description
BS2_CRED_KEY_REQ_COMM Communication credential key request
BS2_CRED_KEY_REQ_DATA Data credential key reuqest

7. reserved
Reserved space.