CryptoPro J6CF reader.
Public API.

ru.CryptoPro.JCP.KeyStore.J6CF
Class TLV

java.lang.Object
  extended by ru.CryptoPro.JCP.KeyStore.J6CF.TLV

public class TLV
extends java.lang.Object

Класс представления TLV (Tag Length Value) структуры.

Author:
Copyright 2004-2009 Crypto-Pro. All rights reserved.
See Also:
Tag
Version:1.0

Constructor Summary
TLV()
          Создание пустой TLV структуры.
TLV(byte[] binary)
          Создание TLV структуры из бинарного представления.
TLV(Tag tag, byte[] value)
          Создание TLV структуры из объекта Tag и байтового представления поля Value структуры TLV.
TLV(Tag tag, int number)
          Создание TLV структуры из из объекта Tag и интового представления поля Value структуры TLV.
TLV(Tag tag, TLV tlv)
          Создание TLV структуры из из объекта Tag и TLV структуры в качестве значения поля Value структуры TLV.
 
Method Summary
 TLV add(TLV tlv)
          Добавление дочерней TLV структуры (если инициализировано).
 TLV findTag(Tag tag, TLV cursor)
          Поиск TLV структуры соответствующей тагу.
static void fromBinary(byte[] binary, int[] offset, TLV tlv, TLV parent)
          Получение TLV структуры из бинарного представления.
static int lenBytes(int length)
          Получение необходимого количества байт для закодирования длины.
 int length()
          Получение длины.
static byte[] lengthToBinary(int length)
          Получение бинарного представления значения длины.
 void setValue(byte[] newValue)
          Установка значения Value.
 Tag tag()
          Получение тага данной структуры.
 byte[] toBinary()
          Получение BER-закодированного представления данной структуры.
 byte[] toBinaryContent()
          Получение BER-закодированного представления поля Value данной структуры.
 java.lang.String toString()
          Получение строкового представления TLV структуры.
 java.lang.String toString(java.util.Hashtable hashtable, int level)
          Получение строкового представления TLV структуры.
 byte[] valueAsByteArray()
          Представление поля Value в виде байтового массива.
 int valueAsNumber()
          Представление поля Value в виде инта.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TLV

public TLV()
Создание пустой TLV структуры.


TLV

public TLV(byte[] binary)
Создание TLV структуры из бинарного представления.

Parameters:
binary - бинарное ASN.1 BER закодированное преставление TLV

TLV

public TLV(Tag tag,
           byte[] value)
Создание TLV структуры из объекта Tag и байтового представления поля Value структуры TLV.

Parameters:
tag - таг
value - байтовое представление поля Value структуры TLV

TLV

public TLV(Tag tag,
           int number)
Создание TLV структуры из из объекта Tag и интового представления поля Value структуры TLV.

Parameters:
tag - таг
number - интовое представление поля Value структуры TLV

TLV

public TLV(Tag tag,
           TLV tlv)
Создание TLV структуры из из объекта Tag и TLV структуры в качестве значения поля Value структуры TLV.

Parameters:
tag - таг
tlv - TLV структура
Method Detail

add

public TLV add(TLV tlv)
Добавление дочерней TLV структуры (если инициализировано).

Parameters:
tlv - TLV структура
Returns:
преобразованную TLV структуру (this)

findTag

public TLV findTag(Tag tag,
                   TLV cursor)
Поиск TLV структуры соответствующей тагу.

Parameters:
tag - таг
cursor - TLV структура с которой следует начать поиск
Returns:
первая TLV структура, соответствующая значению тага

fromBinary

public static void fromBinary(byte[] binary,
                              int[] offset,
                              TLV tlv,
                              TLV parent)
Получение TLV структуры из бинарного представления.

Parameters:
binary - бинарное представление TLV структуры
offset - смещение
tlv - TLV структура
parent - родительская TLV структура

lenBytes

public static int lenBytes(int length)
Получение необходимого количества байт для закодирования длины.

Parameters:
length - длина
Returns:
необходимое количество байт для закодирования значения length

length

public int length()
Получение длины.

Returns:
длина поля Value (представленного в байтах)

lengthToBinary

public static byte[] lengthToBinary(int length)
Получение бинарного представления значения длины.

Parameters:
length - длина
Returns:
BER-закодированная длина

setValue

public void setValue(byte[] newValue)
Установка значения Value.

Parameters:
newValue - байтовый массив для записи в поле Value

tag

public Tag tag()
Получение тага данной структуры.

Returns:
таг

toBinary

public byte[] toBinary()
Получение BER-закодированного представления данной структуры.

Returns:
BER-закодированное представление данной структуры

toBinaryContent

public byte[] toBinaryContent()
Получение BER-закодированного представления поля Value данной структуры.

Returns:
BER-закодированноЕ представление поля Value данной структуры

toString

public java.lang.String toString()
Получение строкового представления TLV структуры.

Overrides:
toString in class java.lang.Object
Returns:
строковое представление TLV структуры

toString

public java.lang.String toString(java.util.Hashtable hashtable,
                                 int level)
Получение строкового представления TLV структуры.

Parameters:
hashtable - таблица тагов
level - уровень
Returns:
строковое представление TLV структуры

valueAsByteArray

public byte[] valueAsByteArray()
Представление поля Value в виде байтового массива.

Returns:
поле Value

valueAsNumber

public int valueAsNumber()
Представление поля Value в виде инта.

Returns:
поле Value

Copyright Crypto-Pro.
All rights reserved.