차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
ko:sdk_api [2018/03/13 23:11] kkshin [SDK API] |
ko:sdk_api [2024/02/27 14:59] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
- | ====== SDK API ====== | ||
- | 장치를 관리하는 정보를 초기화 하고, 동적 메모리 제어와 PIN 생성을 위해 사용되는 API입니다. | ||
- | \\ | ||
- | * [[BS2_Version]]: SDK 버전을 반환합니다. | ||
- | * [[BS2_AllocateContext]]: 장치 관리 Context를 생성합니다. | ||
- | * [[BS2_ReleaseContext]]: 장치 관리 Context를 파괴합니다. | ||
- | * [[BS2_Initialize]]: 장치 관리 Context를 초기화 합니다. | ||
- | * [[BS2_ReleaseObject]]: 동적 메모리를 해제합니다. | ||
- | * [[BS2_MakePinCode]]: PIN으로 암호화 합니다. | ||
- | * [[BS2_SetMaxThreadCount]]: 최대 스레드 개수를 지정합니다. | ||
- | * [[BS2_ComputeCRC16CCITT]]: CRC-16 CCITT 체크섬을 계산합니다. | ||
- | * [[BS2_GetCardModel]]: 지원하는 카드 모델을 가져옵니다. | ||
- | * [[BS2_GetCredentialKeyInfo]]: 장치의 데이터 암호화 키를 가져옵니다. | ||
- | * [[BS2_SetCredentialKeyInfo]]: 장치의 데이터 암호화 키를 설정합니다. | ||
- | * [[BS2_RemoveCredentialKeyInfo]]: 장치의 데이터 암호화 키를 삭제합니다. | ||
- | |||
- | ===== 구조체 ===== | ||
- | ==== BS2CredentialKeyInfo ==== | ||
- | <code cpp> | ||
- | /** | ||
- | * BS2_CRED_KEY_REQ | ||
- | */ | ||
- | enum | ||
- | { | ||
- | BS2_CRED_KEY_REQ_COMM = false, | ||
- | BS2_CRED_KEY_REQ_DATA = true, | ||
- | }; | ||
- | |||
- | enum | ||
- | { | ||
- | BS2_CRED_KEY_SIZE = 32, | ||
- | }; | ||
- | |||
- | /** | ||
- | * BS2CredentialKeyInfo | ||
- | */ | ||
- | typedef struct | ||
- | { | ||
- | uint32_t maxPacketSize; ///< 4 bytes | ||
- | uint8_t key[BS2_CRED_KEY_SIZE]; ///< 32 bytes | ||
- | bool dualIDSupported; ///< 1 byte | ||
- | bool useAlphanumericID; ///< 1 byte | ||
- | bool credentialKeySupported; ///< 1 byte | ||
- | BS2_CRED_KEY_REQ credentialKeyRequest; ///< 1 byte | ||
- | uint8_t reserved[28]; ///< 28 bytes (reserved) | ||
- | } BS2CredentialKeyInfo; | ||
- | </code> | ||
- | |||
- | 1. //maxPacketSize// \\ | ||
- | 장치가 허용하는 최대 TCP 패킷 사이즈입니다. \\ | ||
- | |||
- | 2. //key// \\ | ||
- | 장치에서 사용되는 키 값입니다. \\ | ||
- | credentialKeyRequest 설정에 따라 통신 암호화키, 또는 데이터 암호화키를 반환 받을 수 있습니다.\\ | ||
- | |||
- | 3. //dualIDSupported// \\ | ||
- | 장치의 userID 형식(숫자, 문자)을 변경허용하는지 여부를 나타냅니다. \\ | ||
- | |||
- | 4. //useAlphanumericID// \\ | ||
- | 장치에서 alphanumeric userID를 사용하지는에 관한 flag입니다. \\ | ||
- | |||
- | 5. //credentialKeySupported// \\ | ||
- | 데이터 키 변경을 허용하는지 여부를 나타냅니다. \\ | ||
- | 장치 별 FW의 release 날짜가 2018.03.30 일 이후부터는, 장치에서 사용하는 데이터 암호화 키의 변경할 수 있도록 지원하는데,\\ | ||
- | 현재 연결된 장치가 이러한 키의 변경을 지원하는지 나타냅니다.\\ | ||
- | |||
- | 6. //credentialKeyRequest// \\ | ||
- | 이 설정을 이용하여 장치의 키를 요청할 수 있습니다.\\ | ||
- | 이 설정은 각 장치 별 FW의 release 날짜가 2018.03.30 일 이후의 경우에 한하며,\\ | ||
- | 이전 FW의 경우 이곳의 설정 여부와 관계없이 통신 키만 반환 됩니다. | ||
- | <WRAP group 50%> | ||
- | ^값 ^설명 ^ | ||
- | |BS2_CRED_KEY_REQ_COMM |데이터 암호화 키 요청 | | ||
- | |BS2_CRED_KEY_REQ_DATA |통신 암호화 키 요청 | | ||
- | </WRAP> | ||
- | |||
- | 7. //reserved// \\ | ||
- | 예약된 영역입니다. \\ |