当前位置: 首页>>代码示例>>Java>>正文


Java TerminalFactory.getInstance方法代码示例

本文整理汇总了Java中javax.smartcardio.TerminalFactory.getInstance方法的典型用法代码示例。如果您正苦于以下问题:Java TerminalFactory.getInstance方法的具体用法?Java TerminalFactory.getInstance怎么用?Java TerminalFactory.getInstance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.smartcardio.TerminalFactory的用法示例。


在下文中一共展示了TerminalFactory.getInstance方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getTerminal

import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
static CardTerminal getTerminal(String[] args) throws Exception {
    setLibrary(args);

    TerminalFactory factory = TerminalFactory.getInstance("PC/SC", null);
    System.out.println(factory);

    List<CardTerminal> terminals = factory.terminals().list();
    System.out.println("Terminals: " + terminals);
    if (terminals.isEmpty()) {
        throw new Exception("No card terminals available");
    }
    CardTerminal terminal = terminals.get(0);

    if (terminal.isCardPresent() == false) {
        System.out.println("*** Insert card");
        if (terminal.waitForCardPresent(20 * 1000) == false) {
            throw new Exception("no card available");
        }
    }
    return terminal;
}
 
开发者ID:infobip,项目名称:infobip-open-jdk-8,代码行数:22,代码来源:Utils.java

示例2: main

import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
	TerminalFactory context;
	CardTerminals terminals;
	if (true) {
		Security.addProvider(new Smartcardio());
		context = TerminalFactory.getInstance("PC/SC", null, Smartcardio.PROVIDER_NAME);
		terminals = context.terminals();
	} else {
		TerminalFactory terminalFactory = TerminalFactory.getDefault();
		terminals = terminalFactory.terminals();
	}
	List<CardTerminal> present = terminals.list(State.CARD_PRESENT);
	List<CardTerminal> absent = terminals.list(State.CARD_ABSENT);
	System.out.format("Initial: cards are present in %s; cards are absent from %s%n", terminalNames(present), terminalNames(absent));
	while (true) {
		terminals.waitForChange();
		List<CardTerminal> inserted = terminals.list(State.CARD_INSERTION);
		List<CardTerminal> removed = terminals.list(State.CARD_REMOVAL);
		System.out.format("Card inserted in %s; cards removed from %s%n", terminalNames(inserted), terminalNames(removed));
	}
}
 
开发者ID:jnasmartcardio,项目名称:jnasmartcardio,代码行数:22,代码来源:WaitForChange.java

示例3: getTerminalFactory

import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
static TerminalFactory getTerminalFactory(String provName) throws Exception {
    try {
        TerminalFactory factory = (provName == null)
                ? TerminalFactory.getInstance("PC/SC", null)
                : TerminalFactory.getInstance("PC/SC", null, provName);
        System.out.println(factory);
        return factory;
    } catch (NoSuchAlgorithmException e) {
        Throwable cause = e.getCause();
        if (cause != null && cause.getMessage().startsWith("PC/SC not available")) {
            return null;
        }
        throw e;
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:16,代码来源:Utils.java

示例4: getTerminal

import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
static CardTerminal getTerminal(String[] args, String provider) throws Exception {
    setLibrary(args);

    try {
        TerminalFactory factory = (provider == null)
                ? TerminalFactory.getInstance("PC/SC", null)
                : TerminalFactory.getInstance("PC/SC", null, provider);
        System.out.println(factory);

        List<CardTerminal> terminals = factory.terminals().list();
        System.out.println("Terminals: " + terminals);
        if (terminals.isEmpty()) {
            return null;
        }
        CardTerminal terminal = terminals.get(0);

        if (terminal.isCardPresent() == false) {
            System.out.println("*** Insert card");
            if (terminal.waitForCardPresent(20 * 1000) == false) {
                throw new Exception("no card available");
            }
        }
        System.out.println("card present: " + terminal.isCardPresent());

        return terminal;

    } catch (NoSuchAlgorithmException e) {
        Throwable cause = e.getCause();
        if (cause != null && cause.getMessage().startsWith("PC/SC not available")) {
            return null;
        }
        throw e;
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:35,代码来源:Utils.java

示例5: PCSCFactory

import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
/**
    * Default constructor with fixes for the faulty SmartcardIO library.
    *
    * @throws FileNotFoundException if pcsclite for Linux can't be found.
    * @throws NoSuchAlgorithmException if no PC/SC provider can be found.
    */
   public PCSCFactory() throws FileNotFoundException, NoSuchAlgorithmException {
String osName = System.getProperty("os.name");
if (osName.startsWith("Linux")) {
    File libFile = LinuxLibraryFinder.getLibraryPath("pcsclite", "1");
    System.setProperty("sun.security.smartcardio.library", libFile.getAbsolutePath());
// see https://developer.apple.com/library/mac/technotes/tn2002/tn2110.html#FINDINGMAC
} else if (osName.contains("OS X")) {
    terminalFactory = TerminalFactory.getInstance(ALGORITHM, null, new SunOSXPCSC());
    return;
}
terminalFactory = TerminalFactory.getInstance(ALGORITHM, null);
   }
 
开发者ID:credentials,项目名称:irma_future_id,代码行数:19,代码来源:PCSCFactory.java

示例6: setUp

import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
@Before public void setUp() throws Exception {
	if (true) {
		Security.addProvider(new Smartcardio());
		context = TerminalFactory.getInstance("PC/SC", null, Smartcardio.PROVIDER_NAME);
		terminals = context.terminals();
	} else {
		TerminalFactory terminalFactory = TerminalFactory.getDefault();
		terminals = terminalFactory.terminals();
	}
}
 
开发者ID:jnasmartcardio,项目名称:jnasmartcardio,代码行数:11,代码来源:WinscardReaderTestWithCardPresent.java

示例7: main

import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    TerminalFactory factory = TerminalFactory.getInstance("PC/SC", null);
    System.out.println(factory);

    List<CardTerminal> terminals = factory.terminals().list();
    System.out.println("Terminals: " + terminals);
    if (terminals.isEmpty()) {
        throw new Exception("No card terminals available");
    }
    CardTerminal terminal = terminals.get(0);

    while (terminal.isCardPresent()) {
        System.out.println("*** Remove card!");
        Thread.sleep(1000);
    }

    Timer timer = new Timer();

    System.out.println("Testing waitForCardAbsent() with card already absent...");
    isTrue(terminal.waitForCardAbsent(10));
    timer.print();
    isTrue(terminal.waitForCardAbsent(100));
    timer.print();
    isTrue(terminal.waitForCardAbsent(10000));
    timer.print();
    isTrue(terminal.waitForCardAbsent(0));
    timer.print();

    System.out.println("Testing waitForCardPresent() timeout...");
    isFalse(terminal.waitForCardPresent(10));
    timer.print();
    isFalse(terminal.waitForCardPresent(100));
    timer.print();
    isFalse(terminal.waitForCardPresent(1000));
    timer.print();

    isFalse(terminal.isCardPresent());
    isFalse(terminal.isCardPresent());

    System.out.println("*** Insert card!");
    isTrue(terminal.waitForCardPresent(0));
    timer.print();

    isTrue(terminal.isCardPresent());
    isTrue(terminal.isCardPresent());

    System.out.println("Testing waitForCardPresent() with card already present...");
    isTrue(terminal.waitForCardPresent(0));
    timer.print();
    isTrue(terminal.waitForCardPresent(10000));
    timer.print();
    isTrue(terminal.waitForCardPresent(100));
    timer.print();
    isTrue(terminal.waitForCardPresent(10));
    timer.print();

    System.out.println("Testing waitForCardAbsent() timeout...");
    isFalse(terminal.waitForCardAbsent(1000));
    timer.print();
    isFalse(terminal.waitForCardAbsent(100));
    timer.print();
    isFalse(terminal.waitForCardAbsent(10));
    timer.print();

    System.out.println("*** Remove card!");
    isTrue(terminal.waitForCardAbsent(0));
    timer.print();

    isFalse(terminal.isCardPresent());
    isFalse(terminal.isCardPresent());

    System.out.println("OK.");
}
 
开发者ID:infobip,项目名称:infobip-open-jdk-8,代码行数:74,代码来源:TestPresent.java


注:本文中的javax.smartcardio.TerminalFactory.getInstance方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。