차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:configuration_api [2019/05/13 11:23]
kkshin [Configuration API]
ko:configuration_api [2020/02/14 13:47]
kkshin [BS2SystemConfig]
줄 68: 줄 68:
   * [[BS2_GetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 가져옵니다. (host ip 지정)   * [[BS2_GetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 가져옵니다. (host ip 지정)
   * [[BS2_SetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 저장합니다. (host ip 지정)   * [[BS2_SetIPV6ConfigViaUDPEx]]:​ [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 저장합니다. (host ip 지정)
 +  * [[BS2_GetDesFireConfigEx]]:​ [+ 2.6.4] DesFire 카드 설정 정보를 가져옵니다.
 +  * [[BS2_SetDesFireConfigEx]]:​ [+ 2.6.4] DesFire 카드 설정 정보를 저장합니다.
 ===== 구조체 ===== ===== 구조체 =====
 ==== BS2FactoryConfig ==== ==== BS2FactoryConfig ====
줄 119: 줄 121:
  
 ==== BS2SystemConfig ==== ==== BS2SystemConfig ====
-반드시 [[BS2_GetSystemConfig]] 호출 후, tamperOn을 제외하고 필요한 설정을 완료한 후 
-[[BS2_SetSystemConfig]]를 호출하여야 합니다. \\ 
 <code cpp> <code cpp>
 typedef struct { typedef struct {
줄 136: 줄 136:
     bool secureTamper;​     bool secureTamper;​
     bool reserved0; ​    // (write protected)     bool reserved0; ​    // (write protected)
-    ​bool gdprSupport;​ +    uint8_t reserved[2];
-    ​uint8_t reserved[1];+
     uint32_t useCardOperationMask;​     uint32_t useCardOperationMask;​
     uint8_t reserved2[16];​     uint8_t reserved2[16];​
줄 174: 줄 173:
 13. //​reserved0//​ \\  13. //​reserved0//​ \\ 
 예약된 공간입니다. \\ \\  예약된 공간입니다. \\ \\ 
-14. //​gdprSupport//​ \\  +14. //​reserved//​ \\ 
-[+ V2.6.4] GDPR (일반 개인정보 보호법) 지원 여부를 나타내는 flag입니다. \\ \\  +
-15. //​reserved//​ \\ +
 예약된 공간입니다. \\ \\  예약된 공간입니다. \\ \\ 
-16. //​useCardOperationMask//​ \\+15. //​useCardOperationMask//​ \\
 [+ V2.6.4] 모든 카드를 읽지 않고, 사용자 선택에 의해 카드 타입별로 읽을 수 있도록 옵션을 제공합니다. \\ [+ V2.6.4] 모든 카드를 읽지 않고, 사용자 선택에 의해 카드 타입별로 읽을 수 있도록 옵션을 제공합니다. \\
 MASK값은 조합을 통하여 중복 설정이 가능며, 사용자는 이 옵션을 통하여 카드 타입의 읽기를 추가 또는 제거할 수 있습니다. \\ MASK값은 조합을 통하여 중복 설정이 가능며, 사용자는 이 옵션을 통하여 카드 타입의 읽기를 추가 또는 제거할 수 있습니다. \\
줄 197: 줄 194:
 |0x00000001 ​ |CARD_OPERATION_MASK_EM ​ | |0x00000001 ​ |CARD_OPERATION_MASK_EM ​ |
 </​WRAP>​ </​WRAP>​
-17. //​reserved2//​ \\ +16. //​reserved2//​ \\ 
 예약된 공간입니다. \\ \\  예약된 공간입니다. \\ \\ 
 ==== BS2AuthConfig ==== ==== BS2AuthConfig ====
줄 259: 줄 256:
 개별 인증 모드를 사용할지 결정하는 flag입니다. \\ \\  개별 인증 모드를 사용할지 결정하는 flag입니다. \\ \\ 
 7. //​faceDetectionLevel//​ \\  7. //​faceDetectionLevel//​ \\ 
-사용자를 인증할 때 얼굴 검출 레벨값이며,​ 지정한 레벨보다 낮은 레벨로 얼굴이 검출되면 인증 실패로 처리됩니다.\\+A2에서 ​사용자를 인증할 때 얼굴 검출 레벨값이며,​ 지정한 레벨보다 낮은 레벨로 얼굴이 검출되면 인증 실패로 처리됩니다.\\ 
 +설정하면 Normal/​Strict에 따른 카메라 뷰가 표시되며,​ 인증 성공 시의 이미지 로그가 얼굴로 인식되지 않으면 접근이 거부됩니다. 기본값은 0입니다. \\
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
줄 267: 줄 265:
 </​WRAP>​ </​WRAP>​
 <WRAP info> <WRAP info>
-카메라가 장착된 장치에서만 ​유효합니다.+A2에서만 ​설정 가능하며,​ FaceStation2나 FaceLite에서는 사용되지 않습니다. ​
 </​WRAP>​ </​WRAP>​
 8. //​useServerMatching//​ \\  8. //​useServerMatching//​ \\ 
줄 597: 줄 595:
     uint8_t fileID;     uint8_t fileID;
     uint8_t encryptionType;​     uint8_t encryptionType;​
-    uint8_t reserved[3];+    ​uint8_t operationMode;​ 
 +    ​uint8_t reserved[2];
 } BS2DesFireCard;​ } BS2DesFireCard;​
  
줄 642: 줄 641:
 DESFire 카드내에 내장된 사용할 애플리케이션가 데이터를 읽고 쓰기 위한 파일 식별자입니다.\\ \\  DESFire 카드내에 내장된 사용할 애플리케이션가 데이터를 읽고 쓰기 위한 파일 식별자입니다.\\ \\ 
 15. //​encryptionType//​ \\  15. //​encryptionType//​ \\ 
-데이터 암호화 방식이며, AES는 추후 적용 예정입니다.\\ ​+데이터 암호화 방식을 나타냅니다.\\ ​
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
줄 648: 줄 647:
 |1  |AES  | |1  |AES  |
 </​WRAP>​ </​WRAP>​
-16. //​reserved//​ \\ +16. //​operationMode//​ \\  
 +운영 방식을 지정합니다. (추후적용)\\  
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |기존방식 (PICC master key를 사용) ​ | 
 +|1  |신규방식 (App master key를 사용) ​ | 
 +</​WRAP>​ 
 +17. //​reserved//​ \\ 
 예약된 공간입니다.\\ \\  예약된 공간입니다.\\ \\ 
-17. //​byteOrder//​ \\ +18. //​byteOrder//​ \\ 
 카드 데이터의 바이트 저장 순서입니다. 0일 경우 MSB((최상위 비트, Most Significant Bit))이고,​ 1일 경우 LSB((최하위 비트, Least Significant Bit))입니다. \\ \\  카드 데이터의 바이트 저장 순서입니다. 0일 경우 MSB((최상위 비트, Most Significant Bit))이고,​ 1일 경우 LSB((최하위 비트, Least Significant Bit))입니다. \\ \\ 
-18. //​useWiegandFormat//​ \\ +19. //​useWiegandFormat//​ \\ 
 Wiegand 형식 카드 사용 유무를 결정하는 flag입니다. \\ \\  Wiegand 형식 카드 사용 유무를 결정하는 flag입니다. \\ \\ 
-19. //​dataType//​ \\ +20. //​dataType//​ \\ 
 Card의 데이터 유형입니다. \\  Card의 데이터 유형입니다. \\ 
 <WRAP group 50%> <WRAP group 50%>
줄 663: 줄 669:
 |3  |BCD  | |3  |BCD  |
 </​WRAP>​ </​WRAP>​
-20. //​useSecondaryKey//​ \\ +21. //​useSecondaryKey//​ \\ 
 두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\  두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\ 
-21. //​formatID//​ \\ +22. //​formatID//​ \\ 
 BioStar 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\  BioStar 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\ 
-22. //cipher// \\+23. //cipher// \\
 Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\ Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\
 기본 값은 0이며, Xpass D2 Gangbox Keypad 만 유효합니다. \\ 기본 값은 0이며, Xpass D2 Gangbox Keypad 만 유효합니다. \\
줄 675: 줄 681:
 |1  |활성화 ​ | |1  |활성화 ​ |
 </​WRAP>​ </​WRAP>​
-23. //​reserved5//​ \\ +24. //​reserved5//​ \\ 
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
 ==== BS2FingerprintConfig ==== ==== BS2FingerprintConfig ====
줄 690: 줄 696:
     uint8_t showImage;     uint8_t showImage;
     uint8_t lfdLevel;     uint8_t lfdLevel;
-    bool checkDuplicate;​ 
  
-    uint8_t reserved3[31];+    uint8_t reserved3[32];
 } BS2FingerprintConfig;​ } BS2FingerprintConfig;​
 </​code>​ </​code>​
줄 752: 줄 757:
 |3  |민감도 높음 ​ | |3  |민감도 높음 ​ |
 </​WRAP>​ </​WRAP>​
-11. //​checkDuplicate//​ \\ +11. //​reserved3//​ \\ 
-[+ V2.6.4] true로 설정하면 중복된 지문인지 판단합니다. \\ \\ +
-12. //​reserved3//​ \\ +
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
  
줄 1551: 줄 1554:
  
  BS2_FACE_PREVIEW_OPTION ​      ​previewOption;​  BS2_FACE_PREVIEW_OPTION ​      ​previewOption;​
- bool                          checkDuplicate;​ + uint8_t ​                      ​reserved[3];
- uint8_t ​                      ​reserved[2];+
  
  uint8_t ​                      ​reserved2[26];​  uint8_t ​                      ​reserved2[26];​
줄 1620: 줄 1622:
 |2  |인증 시도 전구간에 걸쳐 preview를 표시 ​ | |2  |인증 시도 전구간에 걸쳐 preview를 표시 ​ |
 </​WRAP>​ </​WRAP>​
-9. //​checkDuplicate//​ \\ +9. //​reserved//​ \\ 
-[+ V2.6.4] true로 설정하면 중복된 얼굴 정보인지 판단합니다. \\ \\ +
-10. //​reserved//​ \\ +
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
-11. //​reserved2//​ \\ +10. //​reserved2//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
  
줄 1845: 줄 1845:
 </​WRAP>​ </​WRAP>​
  
 +==== BS2IPV6Config ====
 +<code cpp>
 +enum {
 +    BS2_MAX_IPV6_ALLOCATED_ADDR = 8,
 +};
  
 +typedef struct {
 +    uint8_t useIPV6;
 +    uint8_t reserved1;
 +    uint8_t useDhcpV6;
 +    uint8_t useDnsV6;
 +    uint8_t reserved[1];​
 +    char staticIpAddressV6[BS2_IPV6_ADDR_SIZE];​
 +    char staticGatewayV6[BS2_IPV6_ADDR_SIZE];​
 +    char dnsAddrV6[BS2_IPV6_ADDR_SIZE];​
 +    char serverIpAddressV6[BS2_IPV6_ADDR_SIZE];​
 +    uint16_t serverPortV6;​
 +    uint16_t sslServerPortV6;​
 +    uint16_t portV6;
 +    uint8_t numOfAllocatedAddressV6;​
 +    uint8_t numOfAllocatedGatewayV6;​
 +    uint8_t reserved[8];​
 +    char allocatedIpAddressV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];​
 +    char allocatedGatewayV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];​
 +} BS2IpConfig;​
 +</​code>​
 +1. //useIPV6// \\ 
 +IP V6 사용여부를 나태내는 flag입니다. \\ \\ 
 +2. //​reserved1//​ \\ 
 +예약된 공간입니다. \\ \\ 
 +3. //​useDhcpV6//​ \\ 
 +DHCP 사용 유무를 나타내는 flag입니다. \\ \\ 
 +4. //​useDnsV6//​ \\ 
 +server addresss를 사용할지 server URL을 사용할 지 결정하는 flag입니다. \\ \\ 
 +5. //​staticIpAddressV6//​ \\ 
 +현재 장치의 정적 IP V6 주소입니다. \\ \\ 
 +6. //​staticGatewayV6//​ \\ 
 +현재 장치의 정적 IP V6 게이트웨이 주소입니다. \\ \\ 
 +7. //​dnsAddrV6//​ \\ 
 +DNS V6 주소입니다. \\ \\ 
 +8. //​serverIpAddressV6//​ \\ 
 +connectionMode가 server mode일 때 사용되며,​ BioStar 애플리케이션의 IP V6 주소입니다. \\ \\ 
 +9. //​serverPortV6//​ \\ 
 +connectionMode가 server mode일 때 사용되며,​ BioStar 애플리케이션의 포트 번호입니다. \\ \\ 
 +10. //​sslServerPortV6//​ \\ 
 +connectionMode가 server mode일 때 사용되며,​ ssl로 연결될 애플리케이션의 서버 포트 번호입니다. \\ \\ 
 +11. //portV6// \\ 
 +현재 장치의 IP V6 포트 번호입니다. \\ \\ 
 +12. //​numOfAllocatedAddressV6//​ \\ 
 +현재 장치에 할당되어진 IP V6 주소의 갯수를 나타냅니다. \\ \\ 
 +13. //​numOfAllocatedGatewayV6//​ \\ 
 +현재 장치에 할당되어진 IP V6 게이트웨이 주소의 갯수를 나타냅니다. \\ \\ 
 +14. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +15. //​allocatedIpAddressV6//​ \\ 
 +현재 장치에 할당되어진 IP V6 주소입니다. numOfAllocatedAddressV6는 할당되어진 주소의 갯수를 나타냅니다. \\ \\
 +16. //​allocatedGatewayV6//​ \\ 
 +현재 장치에 할당되어진 IP V6 게이트웨이 주소입니다. numOfAllocatedGatewayV6는 할당되어진 게이트웨이 주소의 갯수를 나타냅니다.\\
 +\\
 +
 +==== BS2DesFireCardConfigEx ====
 +<code cpp>
 +typedef struct {
 +    uint8_t appMasterKey[16];​
 +    uint8_t fileReadKey[16];​
 +    uint8_t fileWriteKey[16];​
 +    uint8_t fileReadKeyNumber;​
 +    uint8_t fileWriteKeyNumber;​
 +    uint8_t reserved[2];​
 +} BS2DesFireAppLevelKey; ​                ///<​ 52 bytes
 +
 +typedef struct {
 +    BS2DesFireAppLevelKey desfireAppKey; ​   ///< 52 bytes
 +    uint8_t reserved[16];​
 +} BS2DesFireCardConfigEx; ​                  ///<​ 68 bytes
 +</​code>​
 +1. //​appMasterKey//​ \\ 
 +DesFire의 application master key 값 입니다. \\ \\ 
 +2. //​fileReadKey//​ \\ 
 +파일 읽기에 사용되는 key 값 입니다. \\ \\ 
 +3. //​fileWriteKey//​ \\ 
 +파일 쓰기에 사용되는 key 값 입니다. \\ \\ 
 +4. //​fileReadKeyNumber//​ \\ 
 +파일 읽기용 key의 key index 입니다. \\ \\ 
 +5. //​fileWriteKeyNumber//​ \\ 
 +파일 쓰기용 key의 key index 입니다. \\ \\ 
 +6. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +7. //​desfireAppKey//​ \\ 
 +DesFire의 키 정보를 갖는 구조체입니다. \\ \\ 
 +8. //​reserved//​ \\
 +예약된 공간입니다. \\