차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
ko:sdk_api [2018/03/13 21:38] 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 |
- | * 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// \\ | + | ==== 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> |
- | true는 데이터 키를, false는 통신 키를 요청합니다. \\ | + | typedef struct { |
- | + | BS2_DEVICE_ID deviceID; | |
- | 7. //reserved// \\ | + | BS2_LICENSE_STATUS status; |
- | 예약된 영역입니다. \\ | + | } BS2LicenseResult; |
+ | </code> | ||
+ | 1. //deviceID// \\ | ||
+ | 장치 식별자입니다. \\ \\ | ||
+ | 2. //status// \\ | ||
+ | 라이선스 상태 정보입니다. \\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |Not supported (지원 안함) | | ||
+ | |1 |Disable (꺼짐) | | ||
+ | |2 |Enable (켜짐) | | ||
+ | |3 |Expired (만료됨) | | ||
+ | </WRAP> |