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, ∼4719🔥, 0💬
Popular Posts:
How to download and install ojdbc5.jar for Oracle 11g R1? ojdbc5.jar for Oracle 11g R1 is a Java 5 J...
What is the dom\GetElementsByTagName .javaprovided in the Apache Xerces package? I have Apache Xerce...
What Is commons-net-ftp-2.0.jar? commons-net-ftp-2.0.jar is the JAR file for Apache Commons Net FTP ...
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java"....
JDK 11 java.sql.jmod is the JMOD file for JDK 11 SQL (Structured Query Language) module. JDK 11 SQL ...