javacardx.io (Java Card API, Connected Edition)
Date: 2009-12-11

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

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