문서의 이전 판입니다!


Smartcard API

카드 데이터를 읽고 쓰는 함수를 제공하는 API입니다.

  • BS2_ScanCard: 장치에서 카드를 스캔하고 카드 데이터를 분석합니다.
  • BS2_WriteCard: SmartCard에 데이터를 저장합니다.
  • BS2_EraseCard: SmartCard를 포맷합니다.

BS2CSNCard

typedef struct {
    uint8_t type;
    uint8_t size;
    uint8_t data[BS2_CARD_DATA_SIZE];
} BS2CSNCard;

1. type
카드 유형의 코드 값입니다.

설명
0 알려지지 않은 카드
1 CSN 카드
2 Secure 카드
3 Access 카드
10 Wiegand 카드

2. size
카드 템플릿의 크기입니다.

3. data
카드 템플릿 데이터입니다.

BS2SmartCardHeader

typedef struct {
    uint16_t hdrCRC;
    uint16_t cardCRC;
    BS2_CARD_TYPE cardType;
    uint8_t numOfTemplate;
    uint16_t templateSize;
    uint16_t issueCount;
    uint8_t duressMask;
    uint8_t reserved[5];
} BS2SmartCardHeader;  

1. hdrCRC
card header 체크섬 값입니다.

2. cardCRC
card data 체크섬 값입니다.

3. cardType
카드 유형의 코드 값입니다.

설명
0 알려지지 않은 카드
1 CSN 카드
2 Secure 카드
3 Access 카드
4 Wiegand 카드

4. numOfTemplate
지문 템플릿의 개수입니다.

5. templateSize
지문 템플릿의 크기입니다. 일반적인 지문 템플릿의 크기는 384 바이트로 고정되어 있습니다.
BioStar 2에서 스마트 카드를 사용하는 경우 기본값은 300 바이트이며 필요에 따라 변경할 수 있지만 템플릿의 크기가 너무 작게 설정되면 지문 매칭에 문제가 발생할 수 있으므로 300 바이트 이상으로 설정하는 것을 권장합니다.

6. issueCount
스마트 카드 발급 회차입니다.

7. duressMask
협박 지문 유무 마스크 값입니다.

BS2SmartCardCredentials

typedef struct {
    uint8_t pin[BS2_PIN_HASH_SIZE];
    uint8_t templateData[BS2_SMART_CARD_MAX_TEMPLATE_COUNT * BS2_FINGER_TEMPLATE_SIZE];
} BS2SmartCardCredentials;

1. pin
pin code 값입니다.

2. templateData
지문 템플릿 데이터 영역으로 최대 4개의 지문 템플릿을 저장할 수 있습니다.

BS2AccessOnCardData

typedef struct {
    uint16_t accessGroupID[BS2_SMART_CARD_MAX_ACCESS_GROUP_COUNT];
    BS2_DATETIME startTime;
    BS2_DATETIME endTime;
} BS2AccessOnCardData;

1. accessGroupID
출입 그룹 아이디 리스트입니다.

2. startTime
사용자 인증이 가능한 시작 시간이며, 0일 경우 제한이 없습니다.

3. endTime
사용자 인증이 가능한 마지막 시간이며, 0일 경우 제한이 없습니다.

BS2SmartCardData

typedef struct {
    BS2SmartCardHeader header;
    uint8_t cardID[BS2_CARD_DATA_SIZE];
    BS2SmartCardCredentials credentials;
    BS2AccessOnCardData accessOnData;
} BS2SmartCardData;    

1. header
SmartCard 헤더입니다.

2. cardID
단말기에서 사용할 카드 식별자입니다.

3. credentials
pin code나 지문 템플릿이 저장되어 있는 인증 데이터 영역입니다.

3. accessOnData
AOC 카드에서 사용하는 영역으로 출입 그룹 정보를 가지고 있습니다.

BS2Card

typedef struct {
    uint8_t isSmartCard;
    union {
        BS2CSNCard card;
        BS2SmartCardData smartCard;
    };
}BS2Card;   

1. isSmartCard
SmartCard 여부를 나타내는 flag입니다.

2. card
일반 카드 데이터

3. smartCard
SmartCard 데이터