Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 17 java.smartcardio.jmod - Smart Card IO Module
JDK 17 java.smartcardio.jmod is the JMOD file for JDK 17 Smartcardio module.
JDK 17 Smart Card IO module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.smartcardio.jmod.
JDK 17 Smart Card IO module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Smart Card IO module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.smartcardio.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/security/smartcardio/TerminalImpl.java
/* * Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package sun.security.smartcardio; import java.util.*; import javax.smartcardio.*; import static sun.security.smartcardio.PCSC.*; /** * CardTerminal implementation. * * @since 1.6 * @author Andreas Sterbenz */ final class TerminalImpl extends CardTerminal { // native SCARDCONTEXT final long contextId; // the name of this terminal (native PC/SC name) final String name; private CardImpl card; TerminalImpl(long contextId, String name) { this.contextId = contextId; this.name = name; } public String getName() { return name; } public synchronized Card connect(String protocol) throws CardException { @SuppressWarnings("removal") SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new CardPermission(name, "connect")); } if (card != null) { if (card.isValid()) { String cardProto = card.getProtocol(); if (protocol.equals("*") || protocol.equalsIgnoreCase(cardProto)) { return card; } else { throw new CardException("Cannot connect using " + protocol + ", connection already established using " + cardProto); } } else { card = null; } } try { card = new CardImpl(this, protocol); return card; } catch (PCSCException e) { if (e.code == SCARD_W_REMOVED_CARD || e.code == SCARD_E_NO_SMARTCARD) { throw new CardNotPresentException("No card present", e); } else { throw new CardException("connect() failed", e); } } } public boolean isCardPresent() throws CardException { try { int[] status = SCardGetStatusChange(contextId, 0, new int[] {SCARD_STATE_UNAWARE}, new String[] {name}); return (status[0] & SCARD_STATE_PRESENT) != 0; } catch (PCSCException e) { throw new CardException("isCardPresent() failed", e); } } private boolean waitForCard(boolean wantPresent, long timeout) throws CardException { if (timeout < 0) { throw new IllegalArgumentException("timeout must not be negative"); } if (timeout == 0) { timeout = TIMEOUT_INFINITE; } int[] status = new int[] {SCARD_STATE_UNAWARE}; String[] readers = new String[] {name}; try { // check if card status already matches status = SCardGetStatusChange(contextId, 0, status, readers); boolean present = (status[0] & SCARD_STATE_PRESENT) != 0; if (wantPresent == present) { return true; } // no match, wait (until timeout expires) long end = System.currentTimeMillis() + timeout; while (wantPresent != present && timeout != 0) { // set remaining timeout if (timeout != TIMEOUT_INFINITE) { timeout = Math.max(end - System.currentTimeMillis(), 0l); } status = SCardGetStatusChange(contextId, timeout, status, readers); present = (status[0] & SCARD_STATE_PRESENT) != 0; } return wantPresent == present; } catch (PCSCException e) { if (e.code == SCARD_E_TIMEOUT) { return false; } else { throw new CardException("waitForCard() failed", e); } } } public boolean waitForCardPresent(long timeout) throws CardException { return waitForCard(true, timeout); } public boolean waitForCardAbsent(long timeout) throws CardException { return waitForCard(false, timeout); } public String toString() { return "PC/SC terminal " + name; } }
⏎ sun/security/smartcardio/TerminalImpl.java
Or download all of them as a single archive file:
File name: java.smartcardio-17.0.5-src.zip File size: 43002 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.sql.jmod - SQL Module
2023-10-27, 3205👍, 0💬
Popular Posts:
Old version of xml-apis.jar. JAR File Size and Download Location: File name: xmlParserAPIs.jar File ...
The Web Services Description Language for Java Toolkit (WSDL4J), Release 1.6.2, allows the creation,...
What Is ojdbc8.jar for Oracle 12c R2? ojdbc8.jar for Oracle 12c R2 is the JAR files of ojdbc.jar, JD...
Snappy-Java is a Java port of the "snappy", a fast C++ compresser/decompresser developed by Google. ...
JSP(tm) Standard Tag Library 1.1 implementation - Jakarta Taglibs hosts the Standard Taglib 1.1, an ...