Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class CommandAPDU extends Object implements Serializable
Отметьте, что, когда ожидаемая длина APDU ответа определяется в конструкторах, фактическая длина (неон) должна быть определена, не его закодированная форма (Le). Точно так же getNe () возвращает неон фактического значения. Другими словами значение 0 не означает "данных в APDU ответа", а не "максимальной длине."
Этот класс поддерживает обоих короткие и расширенные формы кодирования длины для неона и Nc. Однако, отметьте, что не все терминалы и Смарт-карты способны к принятию APDU, которые используют расширенную форму.
Для CLA байтов заголовка, INS, P1, и P2 тип Java int
используется, чтобы представить значения без знака на 8 битов. В конструкторах, только 8 самых низких битов int
значение, определенное приложением, является существенным. Методы средства доступа всегда возвращают байт как значение без знака между 0 и 255.
Экземпляры этого класса являются неизменными. Где в данных передают или через байтовые массивы, защитное клонирование выполняется.
ResponseAPDU
, CardChannel.transmit
, Сериализированная ФормаКонструктор и Описание |
---|
CommandAPDU(byte[] apdu)
Создает CommandAPDU из байтового массива, содержащего полное содержание APDU (заголовок и тело).
|
CommandAPDU(byte[] apdu, int apduOffset, int apduLength)
Создает CommandAPDU из байтового массива, содержащего полное содержание APDU (заголовок и тело).
|
CommandAPDU(ByteBuffer apdu)
Создает CommandAPDU из ByteBuffer, содержащего полное содержание APDU (заголовок и тело).
|
CommandAPDU(int cla, int ins, int p1, int p2)
Создает CommandAPDU из четырех байтов заголовка.
|
CommandAPDU(int cla, int ins, int p1, int p2, byte[] data)
Создает CommandAPDU из четырех байтов заголовка и данных команды.
|
CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int ne)
Создает CommandAPDU из четырех байтов заголовка, данных команды, и ожидаемой длины данных ответа.
|
CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength)
Создает CommandAPDU из четырех байтов заголовка и данных команды.
|
CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength, int ne)
Создает CommandAPDU из четырех байтов заголовка, данных команды, и ожидаемой длины данных ответа.
|
CommandAPDU(int cla, int ins, int p1, int p2, int ne)
Создает CommandAPDU из четырех байтов заголовка и ожидаемой длины данных ответа.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Сравнивает указанный объект с этим APDU команды для равенства.
|
byte[] |
getBytes()
Возвращает копию байтов в этом APDU.
|
int |
getCLA()
Возвращает значение CLA байта класса.
|
byte[] |
getData()
Возвращает копию байтов данных в теле команды.
|
int |
getINS()
Возвращает значение INS байта инструкции.
|
int |
getNc()
Возвращает число байтов данных в теле команды (Nc) или 0, если у этого APDU нет никакого тела.
|
int |
getNe()
Возвращает максимальное количество ожидаемых байтов данных в APDU ответа (неон).
|
int |
getP1()
Возвращает значение байта параметра P1.
|
int |
getP2()
Возвращает значение байта параметра P2.
|
int |
hashCode()
Возвращает значение хэш-кода для этого APDU команды.
|
Строка |
toString()
Возвращает строковое представление этого APDU команды.
|
public CommandAPDU(byte[] apdu)
Отметьте, что apdu байты копируются, чтобы защитить от последующей модификации.
apdu
- полный APDU командыNullPointerException
- если apdu является нулемIllegalArgumentException
- если apdu не содержит допустимый APDU командыpublic CommandAPDU(byte[] apdu, int apduOffset, int apduLength)
apduOffset
в байтовом массиве и apduLength
байты долго. Отметьте, что apdu байты копируются, чтобы защитить от последующей модификации.
apdu
- полный APDU командыapduOffset
- смещение в байтовом массиве, в котором начинаются apdu данныеapduLength
- длина APDUNullPointerException
- если apdu является нулемIllegalArgumentException
- если apduOffset или apduLength отрицательны или если apduOffset + apduLength больше чем apdu.length, или если указанные байты не являются допустимым APDUpublic CommandAPDU(ByteBuffer apdu)
position
должен быть установлен в запуск APDU, limit
до конца APDU. По возврату, буфер position
равно его пределу; его предел остается неизменным. Отметьте, что данные в ByteBuffer копируются, чтобы защитить от последующей модификации.
apdu
- ByteBuffer, содержащий полный APDUNullPointerException
- если apdu является нулемIllegalArgumentException
- если apdu не содержит допустимый APDU командыpublic CommandAPDU(int cla, int ins, int p1, int p2)
cla
- CLA байта классаins
- INS байта инструкцииp1
- байт параметра P1p2
- байт параметра P2public CommandAPDU(int cla, int ins, int p1, int p2, int ne)
cla
- CLA байта классаins
- INS байта инструкцииp1
- байт параметра P1p2
- байт параметра P2ne
- максимальное количество ожидаемых байтов данных в APDU ответаIllegalArgumentException
- если ne отрицателен или больше чем 65536public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data)
data
нуль, или его длина 0, APDU кодируется как случай ISO 7816 1. Отметьте, что байты данных копируются, чтобы защитить от последующей модификации.
cla
- CLA байта классаins
- INS байта инструкцииp1
- байт параметра P1p2
- байт параметра P2data
- байтовый массив, содержащий байты данных тела командыIllegalArgumentException
- если data.length больше чем 65535public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength)
dataLength
0, APDU кодируется как случай ISO 7816 1. Отметьте, что байты данных копируются, чтобы защитить от последующей модификации.
cla
- CLA байта классаins
- INS байта инструкцииp1
- байт параметра P1p2
- байт параметра P2data
- байтовый массив, содержащий байты данных тела командыdataOffset
- смещение в байтовом массиве, в котором начинаются байты данных тела командыdataLength
- число байтов данных в теле командыNullPointerException
- если данные являются нулем, и dataLength не 0IllegalArgumentException
- если dataOffset или dataLength отрицательны или если dataOffset + dataLength больше чем data.length или если dataLength больше чем 65535public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int ne)
data
ненуль и как 0 иначе. Если неон или Nc являются нулем, APDU кодируется как случай 1, 2, или 3 на ISO 7816. Отметьте, что байты данных копируются, чтобы защитить от последующей модификации.
cla
- CLA байта классаins
- INS байта инструкцииp1
- байт параметра P1p2
- байт параметра P2data
- байтовый массив, содержащий байты данных тела командыne
- максимальное количество ожидаемых байтов данных в APDU ответаIllegalArgumentException
- если data.length больше чем 65535 или если ne отрицателен или больше чем 65536public CommandAPDU(int cla, int ins, int p1, int p2, byte[] data, int dataOffset, int dataLength, int ne)
dataLength
. Если неон или Nc являются нулем, APDU кодируется как случай 1, 2, или 3 на ISO 7816. Отметьте, что байты данных копируются, чтобы защитить от последующей модификации.
cla
- CLA байта классаins
- INS байта инструкцииp1
- байт параметра P1p2
- байт параметра P2data
- байтовый массив, содержащий байты данных тела командыdataOffset
- смещение в байтовом массиве, в котором начинаются байты данных тела командыdataLength
- число байтов данных в теле командыne
- максимальное количество ожидаемых байтов данных в APDU ответаNullPointerException
- если данные являются нулем, и dataLength не 0IllegalArgumentException
- если dataOffset или dataLength отрицательны или если dataOffset + dataLength больше чем data.length, или если ne отрицателен или больше чем 65536, или если dataLength больше чем 65535public int getCLA()
public int getINS()
public int getP1()
public int getP2()
public int getNc()
getData().length
.public byte[] getData()
public int getNe()
public byte[] getBytes()
public String toString()
public boolean equals(Object obj)
equals
в классе Object
obj
- объект, который будет сравнен для равенства с этим APDU командыObject.hashCode()
, HashMap
public int hashCode()
hashCode
в классе Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Авторское право © 2005, 2011, Oracle и/или его филиалы. Все права защищены.