문서의 이전 판입니다!


SDK API

장치를 관리하는 정보를 초기화 하고, 동적 메모리 제어와 PIN 생성을 위해 사용되는 API입니다.


BS2Handshake

enum {
    BS2_HANDSHAKE_KEY_SIZE = 32,
};
 
/**
 * BS2Handshake
 */
typedef struct {
    uint32_t maxPacketSize;			///< 4 bytes
    uint8_t  key[BS2_HANDSHAKE_KEY_SIZE];	///< 32 bytes
    bool     dualIDSupported;			///< 1 byte
    bool     useAlphanumericID;			///< 1 byte
    bool     credentialKeySupported;		///< 1 byte
    bool     credentialKeyRequired;		///< 1 byte
    bool     discoverySession;			///< 1 byte
    uint8_t  reserved[27];			///< 27 bytes (reserved)
} BS2Handshake;

1. maxPacketSize
장치가 허용하는 최대 TCP 패킷 사이즈입니다.

2. key
장치의 DB 암호화 키로 사용되는 값 입니다.

3. dualIDSupported
장치의 userID 형식(숫자, 문자)을 변경허용하는지 여부를 나타냅니다.

4. useAlphanumericID
장치에서 alphanumeric userID를 사용하지는에 관한 flag입니다.

5. credentialKeySupported
데이터 키 변경 지원 여부를 나타냅니다.
신규 버전의 FW에서는 장치의 데이터 암호화 키에 대한 변경을 지원하기 시작했는데,
true를 반환받으면 데이터 키 변경이 가능한 장치임을 나타내며,
false를 반환받으면 데이터 키 변경이 불가능한 장치를 나타냅니다.

6. credentialKeyRequired
이 설정을 이용하여 장치의 키를 요청할 수 있습니다.
BS2_GetCredentialKey와 함께 사용되며, BS2_SetCredentialKey를 호출 할 경우 이 필드는 무시 될 것입니다.
true로 장치에 요청하면 장치는 데이터 키를 key 필드를 통해 반환 할 것이며,
false로 장치에 요청하면 장치는 통신 키를 key 필드를 통해 반환 할 것입니다.

7. reserved
예약된 영역입니다.