문서의 이전 판입니다!


SDK API

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


BS2Handshake

enum {
    BS2_HANDSHAKE_KEY_SIZE = 32,
};
 
/**
 * BS2CredentialKeyInfo
 */
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
    uint8_t  reserved[28];			///< 28 bytes (reserved)
} BS2CredentialKeyInfo;

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

2. key
장치의 통신 암호화키(또는 데이터 암호화키)로 사용되는 값 입니다.
credentialKeyRequired에 true/false를 설정하여 장치의 key를 요청할 수 있으며,
true는 데이터 키를, false는 통신 키를 key 필드를 통해 반환 할 것입니다.
각 장치별 FW의 release 날짜가 2018.03.30 일 이후의 경우에 한하며,
이전 날짜의 경우 true, false에 상관없이 통신 키만 반환 됩니다.

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

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

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

6. credentialKeyRequired
이 설정을 이용하여 장치의 키를 요청할 수 있습니다.
true는 데이터 키를, false는 통신 키를 요청합니다.

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