차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
ko:sdk_api [2018/03/13 21:38] kkshin [BS2Handshake] |
ko:sdk_api [2018/03/13 22:24] kkshin [BS2CredentialKeyInfo] |
||
---|---|---|---|
줄 17: | 줄 17: | ||
===== 구조체 ===== | ===== 구조체 ===== | ||
- | ==== BS2Handshake ==== | + | ==== BS2CredentialKeyInfo ==== |
<code cpp> | <code cpp> | ||
- | enum { | + | /** |
- | BS2_HANDSHAKE_KEY_SIZE = 32, | + | * BS2_CRED_KEY_REQ |
+ | */ | ||
+ | enum | ||
+ | { | ||
+ | BS2_CRED_KEY_REQ_COMM = true, | ||
+ | BS2_CRED_KEY_REQ_DATA = false, | ||
+ | }; | ||
+ | |||
+ | enum | ||
+ | { | ||
+ | BS2_CRED_KEY_SIZE = 32, | ||
}; | }; | ||
줄 26: | 줄 36: | ||
* BS2CredentialKeyInfo | * BS2CredentialKeyInfo | ||
*/ | */ | ||
- | typedef struct { | + | typedef struct |
+ | { | ||
uint32_t maxPacketSize; ///< 4 bytes | uint32_t maxPacketSize; ///< 4 bytes | ||
- | uint8_t key[BS2_HANDSHAKE_KEY_SIZE]; ///< 32 bytes | + | uint8_t key[BS2_CRED_KEY_SIZE]; ///< 32 bytes |
bool dualIDSupported; ///< 1 byte | bool dualIDSupported; ///< 1 byte | ||
bool useAlphanumericID; ///< 1 byte | bool useAlphanumericID; ///< 1 byte | ||
bool credentialKeySupported; ///< 1 byte | bool credentialKeySupported; ///< 1 byte | ||
- | bool credentialKeyRequired; ///< 1 byte | + | BS2_CRED_KEY_REQ credentialKeyRequest; ///< 1 byte |
uint8_t reserved[28]; ///< 28 bytes (reserved) | uint8_t reserved[28]; ///< 28 bytes (reserved) | ||
} BS2CredentialKeyInfo; | } BS2CredentialKeyInfo; | ||
줄 41: | 줄 52: | ||
2. //key// \\ | 2. //key// \\ | ||
- | 장치의 통신 암호화키(또는 데이터 암호화키)로 사용되는 값 입니다. \\ | + | 장치에서 사용되는 키 값입니다. \\ |
- | credentialKeyRequired에 true/false를 설정하여 장치의 key를 요청할 수 있으며,\\ | + | credentialKeyRequest 설정에 따라 통신 암호화키, 또는 데이터 암호화키를 반환 받을 수 있습니다.\\ |
- | true는 데이터 키를, false는 통신 키를 key 필드를 통해 반환 할 것입니다. \\ | + | |
- | 각 장치별 FW의 release 날짜가 2018.03.30 일 이후의 경우에 한하며,\\ | + | |
- | 이전 날짜의 경우 true, false에 상관없이 통신 키만 반환 됩니다.\\ | + | |
3. //dualIDSupported// \\ | 3. //dualIDSupported// \\ | ||
줄 54: | 줄 62: | ||
5. //credentialKeySupported// \\ | 5. //credentialKeySupported// \\ | ||
- | 데이터 키 변경 지원 여부를 나타냅니다. \\ | + | 데이터 키 변경을 허용하는지 여부를 나타냅니다. \\ |
- | 신규 버전의 FW에서는 장치의 데이터 암호화 키에 대한 변경을 지원하기 시작했는데,\\ | + | 장치 별 FW의 release 날짜가 2018.03.30 일 이후부터는, 장치에서 사용하는 데이터 암호화 키의 변경할 수 있도록 지원하는데,\\ |
- | true를 반환받으면 데이터 키 변경이 가능한 장치임을 나타내며,\\ | + | 현재 연결된 장치가 이러한 키의 변경을 지원하는지 나타냅니다.\\ |
- | false를 반환받으면 데이터 키 변경이 불가능한 장치를 나타냅니다.\\ | + | |
- | 6. //credentialKeyRequired// \\ | + | 6. //credentialKeyRequest// \\ |
이 설정을 이용하여 장치의 키를 요청할 수 있습니다.\\ | 이 설정을 이용하여 장치의 키를 요청할 수 있습니다.\\ | ||
- | true는 데이터 키를, false는 통신 키를 요청합니다. \\ | + | 이 설정은 각 장치 별 FW의 release 날짜가 2018.03.30 일 이후의 경우에 한하며,\\ |
+ | 이전 FW의 경우 이곳의 설정 여부와 관계없이 통신 키만 반환 됩니다. | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |BS2_CRED_KEY_REQ_COMM |데이터 암호화 키 요청 | | ||
+ | |BS2_CRED_KEY_REQ_DATA |통신 암호화 키 요청 | | ||
+ | </WRAP> | ||
7. //reserved// \\ | 7. //reserved// \\ | ||
예약된 영역입니다. \\ | 예약된 영역입니다. \\ |