차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
ko:sdk_api [2016/02/01 12:16] 127.0.0.1 바깥 편집 |
ko:sdk_api [2018/03/13 17:52] kkshin [BS2Handshake] |
||
---|---|---|---|
줄 12: | 줄 12: | ||
* [[BS2_ComputeCRC16CCITT]]: CRC-16 CCITT 체크섬을 계산합니다. | * [[BS2_ComputeCRC16CCITT]]: CRC-16 CCITT 체크섬을 계산합니다. | ||
* [[BS2_GetCardModel]]: 지원하는 카드 모델을 가져옵니다. | * [[BS2_GetCardModel]]: 지원하는 카드 모델을 가져옵니다. | ||
+ | * [[BS2_GetCredentialKey]]: 장치의 데이터 암호화 키를 가져옵니다. | ||
+ | * [[BS2_SetCredentialKey]]: 장치의 데이터 암호화 키를 설정합니다. | ||
+ | * [[BS2_RemoveCredentialKey]]: 장치의 데이터 암호화 키를 삭제합니다. | ||
+ | |||
+ | ===== 구조체 ===== | ||
+ | ==== BS2Handshake ==== | ||
+ | <code cpp> | ||
+ | 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; | ||
+ | </code> | ||
+ | |||
+ | 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// \\ | ||
+ | 예약된 영역입니다. \\ |