NFC EMV 신용카드에서 공개 데이터를 읽고 추출하는 데 사용되는 Java 라이브러리입니다.
Play 스토어에서 Android 샘플 앱을 사용할 수 있습니다.
먼저 APDU를 NFC EMV 신용 카드로 교환하기 위한 맞춤 공급자를 만들어야 합니다(샘플은 여기 참조).
public class YourProvider implements IProvider {
@ Override
public byte [] transceive ( final byte [] pCommand ) {
// implement this
}
@ Override
public byte [] getAt () {
// implement this to get card ATR (Answer To Reset) or ATS (Answer To Select)
}
}
그런 다음 파서 인스턴스를 만들고 카드를 읽습니다.
// Create provider
IProvider provider = new YourProvider ();
// Define config
Config config = EmvTemplate . Config ()
. setContactLess ( true ) // Enable contact less reading (default: true)
. setReadAllAids ( true ) // Read all aids in card (default: true)
. setReadTransactions ( true ) // Read all transactions (default: true)
. setReadCplc ( false ) // Read and extract CPCLC data (default: false)
. setRemoveDefaultParsers ( false ) // Remove default parsers for GeldKarte and EmvCard (default: false)
. setReadAt ( true ) // Read and extract ATR/ATS and description
;
// Create Parser
EmvTemplate parser = EmvTemplate . Builder () //
. setProvider ( provider ) // Define provider
. setConfig ( config ) // Define config
//.setTerminal(terminal) (optional) you can define a custom terminal implementation to create APDU
. build ();
// Read card
EMVCard card = parser . readEmvCard ();
카드 객체에는 읽은 모든 데이터(지원금, 카드번호, 유효기간, 카드 종류, 거래 내역)가 포함되어 있습니다.
Android의 경우 IsoDep 클래스를 사용하여 공급자를 만들 수 있습니다.
public class Provider implements IProvider {
private IsoDep mTagCom ;
@ Override
public byte [] transceive ( final byte [] pCommand ) throws CommunicationException {
byte [] response ;
try {
// send command to emv card
response = mTagCom . transceive ( pCommand );
} catch ( IOException e ) {
throw new CommunicationException ( e . getMessage ());
}
return response ;
}
@ Override
public byte [] getAt () {
// For NFC-A
return mTagCom . getHistoricalBytes ();
// For NFC-B
// return mTagCom.getHiLayerResponse();
}
public void setmTagCom ( final IsoDep mTagCom ) {
this . mTagCom = mTagCom ;
}
}
< dependency >
< groupId >com.github.devnied.emvnfccard</ groupId >
< artifactId >library</ artifactId >
< version >3.0.1</ version >
</ dependency >
dependencies {
compile ' com.github.devnied.emvnfccard:library:3.0.1 '
}
Maven 중앙 또는 Github 릴리스 탭에서 이 라이브러리를 다운로드할 수 있습니다.
Maven 리포지토리를 이해할 수 있는 Maven 또는 기타 종속성 관리 도구를 사용하지 않는 경우 EMV-NFC-Paycard-Enrollment를 실행하는 데 필요한 항목은 아래 목록입니다.
프로젝트 시작을 빌드하려면 다음을 수행하십시오.
mvn clean install
GitHub 문제 추적기에 버그 및 기능 요청을 보고해 주세요.
포크(Forks)와 풀 리퀘스트(Pull Request)도 환영합니다.
미요 줄리앙
저작권 2020 Millau Julien.
Apache 라이센스 버전 2.0("라이센스")에 따라 라이센스가 부여되었습니다. 라이센스를 준수하는 경우를 제외하고는 이 저작물을 사용할 수 없습니다. 귀하는 LICENSE 파일이나 다음 위치에서 라이센스 사본을 얻을 수 있습니다.
http://www.apache.org/licenses/LICENSE-2.0
해당 법률에서 요구하거나 서면으로 동의하지 않는 한, 라이선스에 따라 배포되는 소프트웨어는 명시적이든 묵시적이든 어떠한 종류의 보증이나 조건 없이 "있는 그대로" 배포됩니다. 라이선스에 따른 허가 및 제한 사항을 관리하는 특정 언어는 라이선스를 참조하세요.