차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:sdk_api [2018/03/13 17:52]
kkshin [BS2Handshake]
ko:sdk_api [2024/02/27 14:59] (현재)
줄 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_SetDataEncryptKey]]: 사용자의 PIN 코드 ​암호화 키 값을 변경 합니다. ​[+ 2.7.1] 
-  * [[BS2_SetCredentialKey]]: 장치의 데이터 암호화 키를 설정합니다. +  * [[BS2_RemoveDataEncryptKey]]: 장치의 데이터 암호화 키를 ​삭제합니다. 
-  * [[BS2_RemoveCredentialKey]]: 장치의 데터 암호화 를 삭제합니다.+  * [[BS2_SetDeviceSearchingTimeout]]:​ 장치 검색 시간을 ​설정합니다.  
 +  * [[BS2_SetDebugFileLog]]: 디버깅용 파일로그를 지정합니다. 
 +  * [[BS2_SetDebugFileLogEx]]:​ 디버깅용 파일로그를 지정합니다. (파일 분할 가능) [+ 2.8.3]  
 +  * [[BS2_EnableDeviceLicense]]:​ [+ 2.9.1] ​장치 ​선스를 활성화 시킵니다. 
 +  * [[BS2_DisableDeviceLicense]]:​ [+ 2.9.1] 장치 라이선스를 비활성화 시킵니다. 
 +  * [[BS2_QueryDeviceLicense]]:​ [+ 2.9.1] 장치 라이선스 정보를 확인합니다. 
 +  * [[BS2_InitializeEx]]:​ [+ 2.9.6] 장치 관리 Context를 초기화 ​합니다. ​
  
 ===== 구조체 ===== ===== 구조체 =====
-==== BS2Handshake ​====+==== BS2EncryptKey ​====
 <code cpp> <code cpp>
-enum { +enum 
-    ​BS2_HANDSHAKE_KEY_SIZE ​= 32,+
 +    ​BS2_ENC_KEY_SIZE ​= 32,
 }; };
  
-/** +typedef struct 
- * BS2Handshake +
- */ +    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 +
-    bool     ​discoverySession;​ ///<​ 1 byte +
-    uint8_t ​ reserved[27]; ///< 27 bytes (reserved) +
-BS2Handshake;+
 </​code>​ </​code>​
  
-1. //maxPacketSize// \\ +1. //key// \\  
-장치가 허는 최대 TCP 패킷 사이즈입니다. \\+장치에서 사는 키 값입니다. \\
  
-2. //key// \\  +2. //reserved// \\  
-장치의 DB 암호화 키로 사용되는 값 입니다. \\+예약된 영역입니다. ​\\ \\
  
-3. //​dualIDSupported//​ \\  
-장치의 userID 형식(숫자,​ 문자)을 변경허용하는지 여부를 나타냅니다. \\  
  
-4. //useAlphanumericID// \\  +==== BS2LicenseBlob ==== 
-장치에서 alphanumeric userID를 사용하지는에 관한 flag입니다. \\ +<code cpp> 
 +typedef struct { 
 +    BS2_LICENSE_TYPE ​   licenseType;​ 
 +    uint16_t ​           numOfDevices;​ 
 +    BS2_DEVICE_ID* ​     deviceIDObjs;​ 
 +    uint32_t ​           licenseLen;​ 
 +    uint8_t* ​           licenseObj;​ 
 +} BS2LicenseBlob;​ 
 +</​code>​ 
 +1. //licenseType// \\  
 +라이선스의 종류를 나타냅니다. \\  
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0x0000 ​ |None  | 
 +|0x0001 ​ |Visual QR  | 
 +</​WRAP>​ 
 +2. //​numOfDevices//​ \\  
 +라이선스 활성화 ​장치의 갯수입니다. ​\\ \\ 
 +3. //​deviceIDObjs//​ \\  
 +라이선스 정보가 내려질 slave 장치들입니다. \\ \\ 
 +4. //​licenseLen//​ \\  
 +라이선스 활성화 파일의 크기입니다. \\ \\ 
 +5. //​licenseObj//​ \\  
 +라이선스 활성화 데이터 블록입니다. \\ \\
  
-5. //​credentialKeySupported//​ \\  
-데이터 키 변경 지원 여부를 나타냅니다. \\  
-신규 버전의 FW에서는 장치의 데이터 암호화 키에 대한 변경을 지원하기 시작했는데,​\\ 
-true를 반환받으면 데이터 키 변경이 가능한 장치임을 나타내며,​\\ 
-false를 반환받으면 데이터 키 변경이 불가능한 장치를 나타냅니다.\\ 
  
-6. //credentialKeyRequired// \\  +==== BS2LicenseResult ==== 
-이 설정을 이용하여 ​장치의 키를 요청할 수 있습니다.\\ +<code cpp> 
-BS2_GetCredentialKey와 함께 사용되며,​ BS2_SetCredentialKey를 호출 할 경우 이 필드는 무시 될 것입니다.\\ +typedef struct { 
-true로 장치에 요청하면 장치는 데이터 키를 key 필드를 통해 반환 할 것이며,\\ +    BS2_DEVICE_ID ​      ​deviceID;​ 
-false로 장치에 요청하면 장치는 통신 키를 key 필드를 통해 반환 할 것입니다. \\ +    BS2_LICENSE_STATUS ​ status; 
- +} BS2LicenseResult;​ 
-7. //reserved// \\  +</​code>​ 
-예약된 영역입니다. \\+1. //deviceID// \\  
 +장치 ​식별자입니다. \\ \\ 
 +2. //status// \\  
 +라이선스 상태 정보입니다. \\ \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |Not supported (지원 안함) ​ | 
 +|1  |Disable (꺼짐) ​ | 
 +|2  |Enable (켜짐) ​ | 
 +|3  |Expired (만료됨) ​ | 
 +</​WRAP>​