public class DefaultFileSystem extends Object implements net.sf.scuba.smartcards.FileSystemStructured
Modifier and Type | Field and Description |
---|---|
static int |
NO_SFI
Invalid short identifier.
|
Constructor and Description |
---|
DefaultFileSystem(APDULevelReadBinaryCapable service,
boolean isSFIEnabled)
Creates a file system.
|
DefaultFileSystem(APDULevelReadBinaryCapable service,
boolean isSFIEnabled,
Map<Short,Byte> fidToSFI)
Creates a file system.
|
Modifier and Type | Method and Description |
---|---|
int |
getMaxReadBinaryLength()
Returns the currently set maximum length to be requested in READ BINARY commands.
|
net.sf.scuba.smartcards.FileInfo[] |
getSelectedPath()
Returns the selected path.
|
net.sf.scuba.smartcards.APDUWrapper |
getWrapper()
Returns the wrapper (secure messaging) currently in use.
|
byte[] |
readBinary(int offset,
int length)
Reads a block of bytes.
|
void |
selectFile(short fid)
Selects a file.
|
byte[] |
sendReadBinary(int offset,
int le,
boolean isTLVEncodedOffsetNeeded)
Sends a
READ BINARY command for the already selected file to the passport,
using the wrapper when a secure channel has been set up. |
byte[] |
sendReadBinary(int sfi,
int offset,
int le,
boolean isTLVEncodedOffsetNeeded)
Sends a
READ BINARY command using an explicit short file identifier to the passport,
using the wrapper when a secure channel has been set up. |
void |
sendSelectFile(short fid)
Selects a file within the MRTD application.
|
void |
setWrapper(net.sf.scuba.smartcards.APDUWrapper wrapper)
Sets the current wrapper to the given APDU wrapper.
|
public static final int NO_SFI
public DefaultFileSystem(APDULevelReadBinaryCapable service, boolean isSFIEnabled)
service
- the card service supporting low-level SELECT
and/or READ BINARY
commandsisSFIEnabled
- whether the file system should use short file identifiers in READ BINARY
commandspublic DefaultFileSystem(APDULevelReadBinaryCapable service, boolean isSFIEnabled, Map<Short,Byte> fidToSFI)
service
- the card service supporting low-level SELECT
and/or READ BINARY
commandsisSFIEnabled
- whether the file system should use short file identifiers in READ BINARY
commandsfidToSFI
- maps file identifiers to short file identifierspublic void setWrapper(net.sf.scuba.smartcards.APDUWrapper wrapper)
wrapper
- an APDU wrapperpublic net.sf.scuba.smartcards.APDUWrapper getWrapper()
public int getMaxReadBinaryLength()
public net.sf.scuba.smartcards.FileInfo[] getSelectedPath() throws net.sf.scuba.smartcards.CardServiceException
getSelectedPath
in interface net.sf.scuba.smartcards.FileSystemStructured
net.sf.scuba.smartcards.CardServiceException
- on errorpublic void selectFile(short fid) throws net.sf.scuba.smartcards.CardServiceException
selectFile
in interface net.sf.scuba.smartcards.FileSystemStructured
fid
- indicates the file to selectnet.sf.scuba.smartcards.CardServiceException
- on error communicating over the servicepublic byte[] readBinary(int offset, int length) throws net.sf.scuba.smartcards.CardServiceException
readBinary
in interface net.sf.scuba.smartcards.FileSystemStructured
offset
- offset index in the selected filelength
- the number of bytes to readnet.sf.scuba.smartcards.CardServiceException
- on errorpublic void sendSelectFile(short fid) throws net.sf.scuba.smartcards.CardServiceException
fid
- a file identifiernet.sf.scuba.smartcards.CardServiceException
- on errorpublic byte[] sendReadBinary(int offset, int le, boolean isTLVEncodedOffsetNeeded) throws net.sf.scuba.smartcards.CardServiceException
READ BINARY
command for the already selected file to the passport,
using the wrapper when a secure channel has been set up.offset
- offset into the filele
- the expected length of the file to readisTLVEncodedOffsetNeeded
- whether to encode the offset in a TLV object (typically for offset larger than 32767)le
with (the specified part of) the contents of the currently selected filenet.sf.scuba.smartcards.CardServiceException
- on tranceive errorpublic byte[] sendReadBinary(int sfi, int offset, int le, boolean isTLVEncodedOffsetNeeded) throws net.sf.scuba.smartcards.CardServiceException
READ BINARY
command using an explicit short file identifier to the passport,
using the wrapper when a secure channel has been set up.sfi
- the short file identifier byte as int value (between 0 and 255)offset
- offset into the filele
- the expected length of the file to readisTLVEncodedOffsetNeeded
- whether to encode the offset in a TLV object (typically for offset larger than 32767)le
with (the specified part of) the contents of the currently selected filenet.sf.scuba.smartcards.CardServiceException
- on tranceive errorCopyright © 2023. All rights reserved.