차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:sdk_api [2018/03/13 17:52]
kkshin [BS2Handshake]
ko:sdk_api [2018/03/23 13:27]
kkshin [BS2CredentialKeyInfo]
줄 12: 줄 12:
   * [[BS2_ComputeCRC16CCITT]]:​ CRC-16 CCITT 체크섬을 계산합니다.   * [[BS2_ComputeCRC16CCITT]]:​ CRC-16 CCITT 체크섬을 계산합니다.
   * [[BS2_GetCardModel]]:​ 지원하는 카드 모델을 가져옵니다.   * [[BS2_GetCardModel]]:​ 지원하는 카드 모델을 가져옵니다.
-  * [[BS2_GetCredentialKey]]: 장치의 ​데이터 ​암호화 키를 가져옵니다. +  * [[BS2_GetCredentialKeyInfo]]: 장치의 암호화 키를 가져옵니다. 
-  * [[BS2_SetCredentialKey]]: 장치의 ​데이터 ​암호화 키를 설정합니다. +  * [[BS2_SetCredentialKeyInfo]]: 장치의 암호화 키를 설정합니다. 
-  * [[BS2_RemoveCredentialKey]]: 장치의 ​데이터 ​암호화 키를 삭제합니다.+  * [[BS2_RemoveCredentialKeyInfo]]: 장치의 암호화 키를 삭제합니다.
  
 ===== 구조체 ===== ===== 구조체 =====
-==== BS2Handshake ​====+==== BS2CredentialKeyInfo ​====
 <code cpp> <code cpp>
-enum { +/** 
-    ​BS2_HANDSHAKE_KEY_SIZE ​= 32,+ * BS2_CRED_KEY_REQ 
 + */ 
 +enum 
 +
 +    BS2_CRED_KEY_REQ_COMM = 0, 
 +    BS2_CRED_KEY_REQ_DATA = 1, 
 +}; 
 + 
 +enum 
 +
 +    ​BS2_CRED_KEY_SIZE ​= 32,
 }; };
  
 /** /**
- ​* ​BS2Handshake+ ​* ​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 +    ​uint8_t  ​dualIDSupported;​ ///<​ 1 byte 
-    ​bool     useAlphanumericID;​ ///<​ 1 byte +    ​uint8_t  ​useAlphanumericID;​ ///<​ 1 byte 
-    ​bool     credentialKeySupported;​ ///<​ 1 byte +    ​uint8_t  ​credentialKeySupported;​ ///<​ 1 byte 
-    ​bool     ​credentialKeyRequired; ///< 1 byte +    ​uint8_t ​ credentialKeyRequest; ///< 1 byte 
-    bool     ​discoverySession;​ ///< 1 byte +    uint8_t ​ reserved[28];​ ///< ​28 bytes (reserved) 
-    uint8_t ​ reserved[27];​ ///< ​27 bytes (reserved) +BS2CredentialKeyInfo;
-BS2Handshake;+
 </​code>​ </​code>​
  
줄 42: 줄 52:
  
 2. //key// \\  2. //key// \\ 
-장치의 DB 암호화 키로 ​사용되는 값 입니다. \\+장치에서 ​사용되는 ​키 값입니다. \\ 
 +credentialKeyRequest 설정에 따라 통신 암호화키,​ 또는 데이터 암호화키를 반환 받을 수 있습니다.\\
  
 3. //​dualIDSupported//​ \\  3. //​dualIDSupported//​ \\ 
줄 51: 줄 62:
  
 5. //​credentialKeySupported//​ \\  5. //​credentialKeySupported//​ \\ 
-데이터 키 변경 지원 여부를 나타냅니다. \\  +데이터 키 변경을 허용하는지 여부를 나타냅니다. \\  
-신규 버전의 FW에서는 ​장치의 ​데이터 암호화 키에 대한 ​변경을 지원하기 시작했는데,\\ +장치 별 FW의 release 날짜가 2018.03.30 일 이후부터는,​ 장치에서 ​사용하는 데이터 암호화 키의 변경할 수 있도록 ​지원하는데,​\\ 
-true를 반환받으면 데이터 키 변경이 가능한 ​장치임을 나타내며,​\\ +현재 연결된 ​장치가 러한 ​의 변경을 지원하는지 ​나타냅니다.\\
-false를 반환받으면 데터 키 변경이 불가능한 장치를 ​나타냅니다.\\+
  
-6. //credentialKeyRequired// \\ +6. //credentialKeyRequest// \\ 
 이 설정을 이용하여 장치의 키를 요청할 수 있습니다.\\ 이 설정을 이용하여 장치의 키를 요청할 수 있습니다.\\
-BS2_GetCredentialKey와 함께 사용되며,​ BS2_SetCredentialKey를 호출 할 경우 ​이 필드는 무시 될 것입니다.\\ +이 설정은 각 장치 ​별 FW의 release 날짜가 2018.03.30 일 이후의 경우에 하며,\\ 
-true로 ​장치에 ​요청면 장치는 데이터 키를 key 필드를 통해 반환 할 것이며,\\ +이전 FW의 경우 이곳의 설정 여부와 관계없이 ​통신 키만 반환 ​니다. 
-false로 장치에 요청하면 장치는 ​통신 키를 key 필드를 통해 ​반환 ​할 것입니다. ​\\+<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|BS2_CRED_KEY_REQ_COMM ​ |통신 암호화 키 요청 ​ | 
 +|BS2_CRED_KEY_REQ_DATA ​ |데이터 암호화 키 요청 ​ | 
 +</​WRAP>​
  
 7. //​reserved//​ \\  7. //​reserved//​ \\ 
 예약된 영역입니다. \\ 예약된 영역입니다. \\