차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:sdk_api [2018/03/13 21:38]
kkshin [BS2Handshake]
ko:sdk_api [2020/09/15 18:08]
kkshin
줄 9: 줄 9:
   * [[BS2_ReleaseObject]]:​ 동적 메모리를 해제합니다. ​   * [[BS2_ReleaseObject]]:​ 동적 메모리를 해제합니다. ​
   * [[BS2_MakePinCode]]:​ PIN으로 암호화 합니다. ​   * [[BS2_MakePinCode]]:​ PIN으로 암호화 합니다. ​
 +  * [[BS2_MakePinCodeWithKey]]:​ 사용자 정의 PIN 암호화 키를 이용하여 암호화 합니다. [+ 2.7.1]
   * [[BS2_SetMaxThreadCount]]:​ 최대 스레드 개수를 지정합니다.   * [[BS2_SetMaxThreadCount]]:​ 최대 스레드 개수를 지정합니다.
   * [[BS2_ComputeCRC16CCITT]]:​ CRC-16 CCITT 체크섬을 계산합니다.   * [[BS2_ComputeCRC16CCITT]]:​ CRC-16 CCITT 체크섬을 계산합니다.
   * [[BS2_GetCardModel]]:​ 지원하는 카드 모델을 가져옵니다.   * [[BS2_GetCardModel]]:​ 지원하는 카드 모델을 가져옵니다.
-  * [[BS2_GetCredentialKey]]: 장치의 데이터 암호화 키를 가져옵니다. +  * [[BS2_GetDataEncryptKey]]: 장치의 데이터 암호화 키를 가져옵니다. 
-  * [[BS2_SetCredentialKey]]: 장치의 데이터 암호화 키를 설정합니다. +  * [[BS2_SetDataEncryptKey]]: 장치의 데이터 암호화 키를 설정합니다. 
-  * [[BS2_RemoveCredentialKey]]: 장치의 데이터 암호화 키를 삭제합니다.+  * [[BS2_RemoveDataEncryptKey]]: 장치의 데이터 암호화 키를 삭제합니다. 
 +  * [[BS2_SetDeviceSearchingTimeout]]:​ 장치 검색 시간을 설정합니다.  
 +  * [[BS2_SetDebugFileLog]]:​ 디버깅용 파일로그를 지정합니다.
  
 ===== 구조체 ===== ===== 구조체 =====
-==== BS2Handshake ​====+==== BS2EncryptKey ​====
 <code cpp> <code cpp>
-enum { +enum 
-    ​BS2_HANDSHAKE_KEY_SIZE ​= 32,+
 +    ​BS2_ENC_KEY_SIZE ​= 32,
 }; };
  
-/** +typedef struct 
- * BS2CredentialKeyInfo +
- */ +    uint8_t key[BS2_ENC_KEY_SIZE]; 
-typedef struct { +    uint8_t reserved[32]; 
-    uint32_t maxPacketSize;​ ///<​ 4 bytes +BS2EncryptKey;
-    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>​ </​code>​
  
-1. //maxPacketSize// \\ +1. //key// \\  
-장치가 허는 최대 TCP 패킷 사이즈입니다. \\+장치에서 사는 키 값입니다. \\
  
-2. //key// \\  +2. //​reserved//​ \\ 
-장치의 통신 암호화키(또는 데이터 암호화키)로 사용되는 값 입니다. \\ +
-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//​ \\ +
 예약된 영역입니다. \\ 예약된 영역입니다. \\