차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:sdk_api [2018/03/13 15:50]
kkshin
ko:sdk_api [2018/03/13 21:38]
kkshin [BS2Handshake]
줄 15: 줄 15:
   * [[BS2_SetCredentialKey]]:​ 장치의 데이터 암호화 키를 설정합니다.   * [[BS2_SetCredentialKey]]:​ 장치의 데이터 암호화 키를 설정합니다.
   * [[BS2_RemoveCredentialKey]]:​ 장치의 데이터 암호화 키를 삭제합니다.   * [[BS2_RemoveCredentialKey]]:​ 장치의 데이터 암호화 키를 삭제합니다.
 +
 +===== 구조체 =====
 +==== BS2Handshake ====
 +<code cpp>
 +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;​
 +</​code>​
 +
 +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//​ \\ 
 +예약된 영역입니다. \\