SSE4E

Home

GPError
GPSystem
ByteString
ByteBuffer
TLV
TLVList
Card
Atr
Key
Crypto
Application GPApplication GPSecDomain

ASN1
CardFile
IsoSecureChannel
ApplFactory
GPXML
JsScript
CardSim

X509
CRL
KeyStore
CMSSignedData
CMSGenerator
XMLSignature
OCSPQuery
LDAP
SOAP
URLConnection

PKCS11Provider
PKCS11Session
PKCS11Object

OutlineNode

OpenSCDP

Atr - Reference Documentation

Index of Methods

Properties

TypeNameDescription
NumberformatByteFormat byte from ATR returned by ICC (2.Byte)
ByteStringhistoricalBytesHistorical bytes
ByteStringinterfaceBytesInterface bytes
NumbertckByteCheck byte (T=0, T=1) or word (T=CL)

Constructor

Prototype

Atr(ByteString atr)

Description

Validate and decode ATR

Arguments

TypeNameDescription
ByteStringatrATR

Exceptions

NameValueDescription
GPErrorGPError.ARGUMENTS_MISSINGToo few arguments in call
GPErrorGPError.INVALID_ARGUMENTSToo many arguments in call
GPErrorGPError.INVALID_TYPEType of argument is invalid for call
GPErrorGPError.INVALID_DATAATR is invalid

Example



atr = new Atr(new ByteString("3BBD18008131FE45805102670414B1010102008105", HEX));

print(atr);
print(atr.formatByte);
print(atr.historicalBytes);
print(atr.interfaceBytes);
print(atr.tckByte);

atr = new Atr(new ByteString("A2131088", HEX));
print(atr);
atr = new Atr(new ByteString("92231088", HEX));
print(atr);
atr = new Atr(new ByteString("3B85004934313000", HEX));
print(atr);
atr = new Atr(new ByteString("3B840034310100", HEX));
print(atr);
atr = new Atr(new ByteString("3B8A813140434D49434152444F313331", HEX));
print(atr);
atr = new Atr(new ByteString("3B8A81314F4395010190900900012091", HEX));
print(atr);
atr = new Atr(new ByteString("3B8481014D538102", HEX));
print(atr);
atr = new Atr(new ByteString("3B85004D46430110", HEX));
print(atr);
atr = new Atr(new ByteString("3B600000", HEX));
print(atr);
atr = new Atr(new ByteString("3B91948031FE4966", HEX));
print(atr);
atr = new Atr(new ByteString("3BF39400FF80B1FE491F034D3253", HEX));
print(atr);
atr = new Atr(new ByteString("3B91948031FE4967", HEX));
print(atr);
atr = new Atr(new ByteString("3BF89400FF80B1FE451F03D276000028FF051A", HEX));
print(atr);
atr = new Atr(new ByteString("3BF31100FF80B1F0491F034C454F", HEX));
print(atr);
atr = new Atr(new ByteString("3BFD9400FF80B1FE451F030068D276000028FF051E009000", HEX));
print(atr);
atr = new Atr(new ByteString("3BFF9400FF80B1FE451F030068D276000028FF051E3180009000", HEX));
print(atr);
atr = new Atr(new ByteString("3BFD9400FF80B1FE451F030068D276000028FF0524009000", HEX));
print(atr);
atr = new Atr(new ByteString("3BFF9400FF80B1FE451F030068D276000028FF05243180009000", HEX));
print(atr);
atr = new Atr(new ByteString("3BFD9400FF80B1FE451F030068D276000028FF0523009000", HEX));
print(atr);
atr = new Atr(new ByteString("3BFF9400FF80B1FE451F030068D276000028FF05233180009000", HEX));
print(atr);
atr = new Atr(new ByteString("3BEF00FF813152454D46432049424D2034304839363031", HEX));
print(atr);
atr = new Atr(new ByteString("3BEF00FF81315045656308041302500002000000010120", HEX));
print(atr);
atr = new Atr(new ByteString("3B6F00008031E06B8034030103038034555555", HEX));
print(atr);
atr = new Atr(new ByteString("3B6F00008031E06B8403030406555555555555", HEX));
print(atr);
atr = new Atr(new ByteString("3BEF00FF813150456563080B4002800008187002010400", HEX));
print(atr);
atr = new Atr(new ByteString("3BBB18008131FE4580670412B0020182018105", HEX));
print(atr);
atr = new Atr(new ByteString("3BBB18008131FE4580670414B0010182018105", HEX));
print(atr);
atr = new Atr(new ByteString("3BBD18008131FE45805102670412B0020182208105", HEX));
print(atr);
atr = new Atr(new ByteString("3BBD18008131FE45805101670412B0020182208105", HEX));
print(atr);
atr = new Atr(new ByteString("3BFF1800FF8131FE45454C435F56312E3020202020202020", HEX));
print(atr);
atr = new Atr(new ByteString("3BBD18008131FE45805102670414B1010182038105", HEX));
print(atr);
atr = new Atr(new ByteString("3BBD18008131FE45805101670414B1010182038105", HEX));
print(atr);
atr = new Atr(new ByteString("3BBD18008131FE45805102670414B1010182108105", HEX));
print(atr);
atr = new Atr(new ByteString("3BBD18008131FE45805101670414B1010182108105", HEX));
print(atr);
atr = new Atr(new ByteString("3B9F1881B1FE451FC3006D05A3010031B873B7B5DB009000A9", HEX));
print(atr);
atr = new Atr(new ByteString("3B00", HEX));
print(atr);
atr = new Atr(new ByteString("3F00", HEX));
print(atr);
atr = new Atr(new ByteString("3BF0FFFFFFF0FFFFFFF1FFFFFFF0FFFFFFFFFFFFFF00", HEX));
print(atr);
atr = new Atr(new ByteString("3B8001", HEX));
print(atr);


toByteString()

Prototype

ByteString toByteString()

Description

Return the encoded ATR as ByteString object

Return

ByteStringATR

Exceptions

NameValueDescription
GPErrorGPError.INVALID_ARGUMENTSToo many arguments in call

Example


bs = new ByteString("3BBD18008131FE45805102670414B1010102008105", HEX)
atr = new Atr(bs);
assert(atr.toByteString().equals(bs));

toString()

Prototype

String toString()

Description

Return the ATR in human readable format

Return

StringDecoded ATR

Exceptions

NameValueDescription
GPErrorGPError.INVALID_ARGUMENTSToo many arguments in call

Example


bs = new ByteString("3BBD18008131FE45805102670414B1010102008105", HEX)
atr = new Atr(bs);
val = atr.toString();