Package javacardx.io

Provides the classes and interfaces for the Generic Connection Framework extension.

See:
          Description

Interface Summary
FileConnection This interface defines the file stream connection.
ServerSecureConnection This interface defines the server secure socket stream connection.
TLSSecurityInfo This interface defines methods to access information about a TLS secure network connection.
 

Class Summary
ConnectorPermission This class is for connector permissions.
 

Exception Summary
PSKException The PSKException encapsulates an error that occurred while establishing a TLS secure connection using a PSK cipher suite.
 

Package javacardx.io Description

Provides the classes and interfaces for the Generic Connection Framework extension.

See Runtime Environment Specification for the Java Card Platform, Connected Edition, chapters 1 and 6 for details.

Generic Connection Framework (GCF) Security Checks

Access to connections of the required protocol types via the methods of javax.microedition.io.Connector is governed by certain javacardx.io.ConnectorPermission checks, as described below:

Protocol URI Form Permission Check
TCP/IP Client Socket socket://{host}:{port} ConnectorPermission("socket://{host}:{port}", "connect")
TCP/IP Server Socket socket://:{port} ConnectorPermission("socket://:{port}", "listen")
HTTP 1.1 http://{host}[:{port}][{path}] ConnectorPermission("http://{host}[:{port}][{path}]", "connect")
HTTPS https://{host}[:{port}][{path}] ConnectorPermission("https://{host}:{port}[{path}]", "connect")
Secure Client Socket ssl://{host}:{port} ConnectorPermission("ssl://{host}:{port}", "connect")
Secure Server Socket ssl://:{port} ConnectorPermission("ssl://:{port}", "listen")
File I/O file://{path} (reading)

file://{path} (writing)
ConnectorPermission("file://{path}", "read")

ConnectorPermission("file://{path}", "write")
Datagram Socket datagram://{host}:{port}

datagram://:{port}
ConnectorPermission("datagram://{host}:{port}", "connect")

ConnectorPermission("datagram://:{port}", "listen")

For protocol implementations that delay the opening of the physical link to the targeted resources to the actual opening of the input and output streams, the methods javax.microedition.io.InputConnection.openDataInputStream(), javax.microedition.io.InputConnection.openInputStream(), javax.microedition.io.OutputConnection.openDataOutputStream() and javax.microedition.io.OutputConnection.openOutputStream() result in the same permission checks as the ones described above for the methods of javax.microedition.io.Connector.
In such a configuration, a security policy update between a call to Connector.open() and a call to InputConnection.openInputStream() (for example) on the returned Connection object may result in a SecurityException to be thrown if the permission is no longer granted.

The methods javax.microedition.io.StreamConnectionNotifier.acceptAndOpen() and javax.microedition.io.DatagramConnection.receive() result in permission checks, as described below:

Protocol URI Form of the client connection being accepted Permission Check
TCP/IP Server Socket
(StreamConnectionNotifier.acceptAndOpen() method)
socket://{host}:{port} ConnectorPermission("socket://{host}:{port}", "accept")
Secure Server Socket
(StreamConnectionNotifier.acceptAndOpen() method)
ssl://{host}:{port} ConnectorPermission("ssl://{host}:{port}", "accept")
Datagram Socket
(DatagramConnection.receive() method)
datagram://{host}:{port} ConnectorPermission("datagram://{host}:{port}", "accept")

Since:
Java Card 3.0
See Also:
javax.microedition.io


Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.