📄 use_jaya_reader.cpp
字号:
#include "inkit/jaya_reader/JayaReaderRegistry.h"#include "inkit/jaya_reader/JayaReader.h"#include "inkit/common/simu_launcher.h"#include <stdio.h>using namespace Jayacard;void report_error( char * msg, jresult err ) { if (err != JY_OK) { fprintf( stderr, "%s: %s", msg, jerror_msg( err ) ); exit( err ); }}void use_jaya_reader(const char * reader){ jresult ret; JayaReader * rd; jbyte command[1024], response[1024]; int cmdLen, respLen=1024; printf("Connecting to reader %s\n", reader ); rd = JayaReaderRegistry::instance()->getReader( reader, &ret ); if (rd == NULL) { fprintf(stderr, "Could not get pointer to %s\n", reader ); exit( -1 ); } report_error( "creation", ret ); // special get challenge that return p3 data cmdLen = str2hex( command, "80 84 00 00 05" ); printf("PowerOn\n"); ret = rd->powerOn(); report_error( "powerOn", ret ); printf("Send Apdu: %s\n", hex2str( command, cmdLen ) ); ret = rd->exchangeApdu( command, cmdLen, response, &respLen ); report_error( "exchangeApdu", ret ); printf("Receive Apdu: %s\n", hex2str( response, respLen ) ); printf("PowerOff\n"); ret = rd->powerOff(); report_error( "powerOff", ret ); printf("PowerOn\n"); ret = rd->powerOn(); report_error( "powerOn", ret ); printf("Send Apdu: %s\n", hex2str( command, cmdLen ) ); ret = rd->exchangeApdu( command, cmdLen, response, &respLen ); report_error( "exchangeApdu", ret ); printf("Receive Apdu: %s\n", hex2str( response, respLen ) ); command[04] = 0x03; printf("Send Apdu: %s\n", hex2str( command, cmdLen ) ); ret = rd->exchangeApdu( command, cmdLen, response, &respLen ); report_error( "exchangeApdu", ret ); printf("Receive Apdu: %s\n", hex2str( response, respLen ) ); printf("PowerOff\n"); ret = rd->powerOff(); report_error( "powerOff", ret );}int main(){ /* You must launch the simulator before */ launch_simulator(); use_jaya_reader("SimuReaderTypeA"); stop_simulator(); getchar(); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -