kz.gamma.tumarcsp
Class CommonApplet

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by javax.swing.JApplet
                      extended by kz.gamma.tumarcsp.CommonApplet
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer

public class CommonApplet
extends javax.swing.JApplet

Апплет с общими функциями

Author:
Renat Karimov Date: 24.04.12 Time: 15:00
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JApplet
javax.swing.JApplet.AccessibleJApplet
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String COLUMN_SEPARATOR
          Разделитель столбцов для выходных данных
private static GammaTechProvider gammaTechProvider
          Криптопровайдер
static java.lang.String IN_COLUMN_SEPARATOR
          Разделитель столбцов для входных данных
static java.lang.String IN_ROW_SEPARATOR
          Разделитель строк для входных данных
protected  java.lang.String lastError
          Ошибка, возникшая в последнем выполненном методе
protected static java.lang.String NULL_AS_STRING
          NULL в строковом представлении
private static int PROVIDER_LOADED
          Провайдер загружен
private static int PROVIDER_NOT_LOADED
          Провайдер не загружен
private static int PROVIDER_UNKNOWN_STATE
          Состояние провайдера неизвестно
private static java.lang.Integer providerState
          Текущее состояние криптопровайдера
static java.lang.String ROW_SEPARATOR
          Разделитель строк для выходных данных
protected  java.text.DateFormat sdfFull
          Формат даты
protected  java.text.DateFormat sdfShort
          Формат даты
private static long serialVersionUID
          Серийный номер
 
Fields inherited from class javax.swing.JApplet
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CommonApplet()
           
 
Method Summary
protected  void checkProvider()
          Проверка, загружен ли провайдер
 java.lang.String createDialog(java.lang.String extensions, java.lang.String description, int type)
          Выбор файла
 java.lang.String createProfile(java.lang.String name, java.lang.String dev, java.lang.String user, java.lang.String password, java.lang.String param, java.lang.String cont, int algExch, int algSign)
          Создание профайла
 void destroy()
          Уничтожение апплета
 java.lang.String getCertificatePolicies(java.lang.String profile, int keySpec)
          Получение политик сертификата
 java.lang.String getCertificateSerialNumber(java.lang.String certificatePath)
          Извлечение серийного номера сертификата
 java.lang.String getDn(java.lang.String profile, int keySpec)
          Получение DN сертификата
 java.lang.String getIdCardInfo()
          Получение идентификационных данных из Id Card, подключенной к компьютеру.
 java.lang.Integer getKeySpec(java.lang.String url, int acquireContextFlag)
          Извлечение типа ключа по URL
 java.lang.String getLastError()
          Получение информации об ошибке
 java.lang.String getProfiles()
          Получение списка профайлов.
 java.lang.String getTumarCspBuild()
          Получение версии сборки криптопровайдера.
 java.lang.String getUserCertificates(java.lang.String profile)
          Получение сертификатов пользователя и информации о них
 void init()
          Инициализация апплета
 boolean isProfileExists(java.lang.String profile)
          Проверка существования профайла
 boolean isProviderLoaded()
          Проверка, загружен ли провайдер
 java.lang.String loadData(java.lang.String path)
          Загрузка содержимого файла.
protected static void loadProvider()
          Загрузка криптопровайдера
 boolean saveData(java.lang.String data, java.lang.String path)
          Сохранение данных в файл.
protected static void unloadProvider()
          Выгрузка криптопровайдера
 boolean verifyCertificateChain(java.lang.String profile, int keySpec, java.lang.String caCertificate)
          Проверка цепочки сертификатов, состоящей из двух звеньев
 boolean verifyCertificateChain(java.lang.String profile, int keySpec, java.lang.String subCaCertificate, java.lang.String caCertificate)
          Проверка цепочки сертификатов, состоящей из трех звеньев
 
Methods inherited from class javax.swing.JApplet
addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isRootPaneCheckingEnabled, paramString, remove, repaint, setContentPane, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.applet.Applet
getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

gammaTechProvider

private static GammaTechProvider gammaTechProvider
Криптопровайдер


PROVIDER_NOT_LOADED

private static final int PROVIDER_NOT_LOADED
Провайдер не загружен

See Also:
Constant Field Values

PROVIDER_LOADED

private static final int PROVIDER_LOADED
Провайдер загружен

See Also:
Constant Field Values

PROVIDER_UNKNOWN_STATE

private static final int PROVIDER_UNKNOWN_STATE
Состояние провайдера неизвестно

See Also:
Constant Field Values

serialVersionUID

private static final long serialVersionUID
Серийный номер

See Also:
Constant Field Values

providerState

private static java.lang.Integer providerState
Текущее состояние криптопровайдера


COLUMN_SEPARATOR

public static java.lang.String COLUMN_SEPARATOR
Разделитель столбцов для выходных данных


IN_COLUMN_SEPARATOR

public static java.lang.String IN_COLUMN_SEPARATOR
Разделитель столбцов для входных данных


ROW_SEPARATOR

public static java.lang.String ROW_SEPARATOR
Разделитель строк для выходных данных


IN_ROW_SEPARATOR

public static java.lang.String IN_ROW_SEPARATOR
Разделитель строк для входных данных


sdfShort

protected java.text.DateFormat sdfShort
Формат даты


sdfFull

protected java.text.DateFormat sdfFull
Формат даты


lastError

protected java.lang.String lastError
Ошибка, возникшая в последнем выполненном методе


NULL_AS_STRING

protected static final java.lang.String NULL_AS_STRING
NULL в строковом представлении

See Also:
Constant Field Values
Constructor Detail

CommonApplet

public CommonApplet()
Method Detail

init

public void init()
Инициализация апплета

Overrides:
init in class java.applet.Applet

destroy

public void destroy()
Уничтожение апплета

Overrides:
destroy in class java.applet.Applet

loadProvider

protected static void loadProvider()
Загрузка криптопровайдера


unloadProvider

protected static void unloadProvider()
Выгрузка криптопровайдера


checkProvider

protected void checkProvider()
                      throws java.lang.Exception
Проверка, загружен ли провайдер

Throws:
java.lang.Exception

isProviderLoaded

public boolean isProviderLoaded()
Проверка, загружен ли провайдер

Returns:
true, если все ок. Если возвратился false, то см. лог Java Console

getDn

public java.lang.String getDn(java.lang.String profile,
                              int keySpec)
Получение DN сертификата

Parameters:
profile - Имя профайла или URL на ключ
keySpec - Тип ключа. Параметр игнорируется, если в параметре profile передан URL на ключ. Возможные варианты:
  • LibraryWrapper.AT_KEYEXCHANGE (1) - ключ на шифрование;
  • LibraryWrapper.AT_SIGNATURE (2) - ключ на подпись.
Returns:
DN. Если возвратился null, то см. лог Java Console

createProfile

public java.lang.String createProfile(java.lang.String name,
                                      java.lang.String dev,
                                      java.lang.String user,
                                      java.lang.String password,
                                      java.lang.String param,
                                      java.lang.String cont,
                                      int algExch,
                                      int algSign)
Создание профайла

Parameters:
name - Имя профайла
dev - Устройство хранения. Используется при создании профайла, если профайла с таким именем не существует. Типы устройств хранения могут быть получены, используя метод getCspInfo c параметром param, равным LibraryWrapper.PP_ENUM_KEYSTORAGE, и infoType, равным CSPInfoFunctions.KEYSTORAGE_NAMES. Например, могут быть получены следующие типы устройств:
  • file;
  • artoken;
  • g-token;
  • j-token;
  • idcard;
  • kztoken;
  • picard;
  • etokenpro.

Примеры.

file используется для создания профайла указывающего на ключ, хранящийся на файловой системе.

kztoken используется для создания профайла указывающего на ключ, хранящийся на eToken PRO (Java).

kztoken используется для создания профайла указывающего на ключ, хранящийся на KazToken.

j-token используется для создания профайла указывающего на ключ, хранящийся на eToken PRO.

user - Имя ключевого контейнера
password - Пароль для доступа к ключевому контейнеру. Если null, то устанавливается пустой пароль
param - Параметр устройства хранения. Используется при создании профайла, если профайла с таким именем не существует.

Примеры.

Для ключевого контейнера на файловой системе (устройство хранения - file):

  • путь к директории, где находится ключевой контейнер.

Для устройства eToken PRO (устройство хранения - j-token):

  • 0, где 0 - это первое устройство, соединенное с компьютером;
  • 1, где 1 - это второе устройство, соединенное с компьютером;
  • ...
  • n, где n - это n-ое устройство, соединенное с компьютером.

Для устройства eToken PRO (Java) (устройство хранения - kztoken):

  • Aladdin Token JC 0, где Aladdin Token JC 0 - это первое устройство, соединенное с компьютером;
  • Aladdin Token JC 1, где Aladdin Token JC 0 - это второе устройство, соединенное с компьютером;
  • ...
  • Aladdin Token JC n, где Aladdin Token JC n - это n-ое устройство, соединенное с компьютером.

Для устройства KazToken (устройство хранения - kztoken):

  • DigiFlow LLP. KAZTOKEN 0, где DigiFlow LLP. KAZTOKEN 0 - это первое устройство, соединенное с компьютером;
  • DigiFlow LLP. KAZTOKEN 1, где DigiFlow LLP. KAZTOKEN 1 - это второе устройство, соединенное с компьютером;
  • ...
  • DigiFlow LLP. KAZTOKEN n, где DigiFlow LLP. KAZTOKEN n - это n-ое устройство, соединенное с компьютером.
cont - Формат ключевого контейнера. Возможные форматы:
  • bin;
  • pfx;
  • p12.
algExch - Алгоритм на ключевой обмен. Алгоритмы на ключевой обмен могут быть получены, используя метод getCspInfo c параметром param равным LibraryWrapper.PP_ENUM_EXCH_KEY_ALG и infoType, равным LibraryWrapper.KEY_ALG_ID. Например, могут быть получены следующие алгоритмы на ключевой обмен:
  • "1.3.6.1.4.1.6801.1.8.2" - 0xA042;
  • "1.3.6.1.4.1.6801.1.8.3" - 0xA043;
  • "1.3.6.1.4.1.6801.1.8.4" - 0xA044;
  • "1.3.6.1.4.1.6801.1.8.1" - 0xA04B;
  • "1.3.6.1.4.1.6801.1.8.8" - 0xA045;
  • "1.3.6.1.4.1.6801.1.8.14" - 0xA046;
  • "1.3.6.1.4.1.6801.1.8.9" - 0xA049;
  • "1.3.6.1.4.1.6801.1.8.10" - 0xA047;
  • "1.3.6.1.4.1.6801.1.8.15" - 0xA048;
  • "1.3.6.1.4.1.6801.1.8.20" - 0xA050;
  • "1.3.6.1.4.1.6801.1.8.21" - 0xA051;
  • "1.3.6.1.4.1.6801.1.8.22" - 0xA052;
  • "1.3.6.1.4.1.6801.1.8.23" - 0xA053;
  • "1.3.6.1.4.1.6801.1.8.24" - 0xA054.
algSign - Алгоритм на подпись. Алгоритмы на подпись могут быть получены, используя метод getCspInfo c параметром param равным LibraryWrapper.PP_ENUM_SIGN_KEY_ALG и infoType, равным LibraryWrapper.KEY_ALG_ID. Например, могут быть получены следующие алгоритмы на подпись:
  • "1.3.6.1.4.1.6801.1.5.1" - 0xAA32;
  • "1.3.6.1.4.1.6801.1.5.2" - 0xAA33;
  • "1.3.6.1.4.1.6801.1.5.3" - 0xAA34;
  • "1.3.6.1.4.1.6801.1.5.4" - 0xAA35;
  • "1.3.6.1.4.1.6801.1.5.5" - 0xAA36;
  • "1.3.6.1.4.1.6801.1.4.4" - 0xAA21;
  • "1.3.6.1.4.1.6801.1.5.12" - 0xAA3E;
  • "1.3.6.1.4.1.6801.1.5.13" - 0xAA3F;
  • "1.3.6.1.4.1.6801.1.5.16" - 0xAA49;
  • "1.3.6.1.4.1.6801.1.5.8" - 0xAA3A;
  • "1.3.6.1.4.1.6801.1.5.14" - 0xAA40;
  • "1.3.6.1.4.1.6801.1.5.15" - 0xAA41;
  • "1.3.6.1.4.1.6801.1.5.9" - 0xAA3B;
  • "1.3.6.1.4.1.6801.1.5.10" - 0xAA3C;
  • "1.3.6.1.4.1.6801.1.5.11" - 0xAA3D;
  • "1.3.6.1.4.1.6801.1.5.20" - 0xA450;
  • "1.3.6.1.4.1.6801.1.5.21" - 0xA451;
  • "1.3.6.1.4.1.6801.1.5.22" - 0xA452;
  • "1.3.6.1.4.1.6801.1.5.23" - 0xA453;
  • "1.3.6.1.4.1.6801.1.5.24" - 0xA454.
Returns:
Строка профайла. Если возвратился null, то см. лог Java Console

isProfileExists

public boolean isProfileExists(java.lang.String profile)
Проверка существования профайла

Parameters:
profile - Имя профайла
Returns:
true, если все ок. Если возвратился false, то см. лог Java Console

getProfiles

public java.lang.String getProfiles()
Получение списка профайлов. Данные разделены CommonApplet.COLUMN_SEPARATOR.

Returns:
Список профайлов. Если возвратился null, то см. лог Java Console

getTumarCspBuild

public java.lang.String getTumarCspBuild()
Получение версии сборки криптопровайдера. Разряды разделены точками. Если возвратилась версия 0.0.0.0, то значит производилась попытка узнать версию unix-криптопровайдера, у которого нет возможности вернуть версию. В таком случае рекомендуется обновить криптопровайдер на unix

Returns:
Версия сборки. Если возвратился null, то см. лог Java Console

getLastError

public java.lang.String getLastError()
Получение информации об ошибке

Returns:
Описание ошибки последнего выполненного метода

saveData

public boolean saveData(java.lang.String data,
                        java.lang.String path)
Сохранение данных в файл. Данные должны быть закодированы в BASE64 кодировке. Перед сохранением данных они декодируются из BASE64.

Parameters:
data - Данные для сохранения в BASE64 кодировке
path - Путь к файлу
Returns:
true, если все ок. Если возвратился false, то см. лог Java Console

loadData

public java.lang.String loadData(java.lang.String path)
Загрузка содержимого файла. Содержимое после загрузки кодируется с использованием BASE64-кодировки

Parameters:
path - Путь к файлу
Returns:
Содержимое файла в BASE64-кодировке. Если возвратился null, то см. лог Java Console

createDialog

public java.lang.String createDialog(java.lang.String extensions,
                                     java.lang.String description,
                                     int type)
Выбор файла

Parameters:
extensions - Расширения, по которым будут фильтроваться результаты. Фильтрация регистронезависимая. Значения расширений должны быть без точек, например, "doc", "txt", "p7b". "*" означает, что фильтрация будет отключена. Расширения должны быть разделены CommonApplet.COLUMN_SEPARATOR
description - Описание фильтров. Например, "Текстовые файлы"
type - Тип диалога

Возможные варианты:

  • JFileChooser.OPEN_DIALOG - диалог открытия файла;
  • JFileChooser.SAVE_DIALOG - диалог сохранения файла.
Returns:
Выбранный файл. Если возвратился null, то см. лог Java Console

getCertificatePolicies

public java.lang.String getCertificatePolicies(java.lang.String profile,
                                               int keySpec)
Получение политик сертификата

Parameters:
profile - Имя профайла или URL на ключ
keySpec - Тип ключа. Параметр игнорируется, если в параметре profile передан URL на ключ. Возможные варианты:
  • LibraryWrapper.AT_KEYEXCHANGE (1) - ключ на шифрование;
  • LibraryWrapper.AT_SIGNATURE (2) - ключ на подпись.
Returns:
Политики разделены CommonApplet.COLUMN_SEPARATOR. Если возвратилась пустая строка, значит политики отсутствуют. Если возвратился null, то см. лог Java Console

verifyCertificateChain

public boolean verifyCertificateChain(java.lang.String profile,
                                      int keySpec,
                                      java.lang.String caCertificate)
Проверка цепочки сертификатов, состоящей из двух звеньев

Parameters:
profile - Имя профайла или URL на ключ
keySpec - Тип ключа. Параметр игнорируется, если в параметре profile передан URL на ключ. Возможные варианты:
  • LibraryWrapper.AT_KEYEXCHANGE (1) - ключ на шифрование;
  • LibraryWrapper.AT_SIGNATURE (2) - ключ на подпись.
caCertificate - Сертификат ЦС
Returns:
true, если все ок. Если возвратился false, то см. лог Java Console

verifyCertificateChain

public boolean verifyCertificateChain(java.lang.String profile,
                                      int keySpec,
                                      java.lang.String subCaCertificate,
                                      java.lang.String caCertificate)
Проверка цепочки сертификатов, состоящей из трех звеньев

Parameters:
profile - Имя профайла или URL на ключ
keySpec - Тип ключа. Параметр игнорируется, если в параметре profile передан URL на ключ. Возможные варианты:
  • LibraryWrapper.AT_KEYEXCHANGE (1) - ключ на шифрование;
  • LibraryWrapper.AT_SIGNATURE (2) - ключ на подпись.
subCaCertificate - Сертификат подчиненного ЦС
caCertificate - Сертификат ЦС
Returns:
true, если все ок. Если возвратился false, то см. лог Java Console

getCertificateSerialNumber

public java.lang.String getCertificateSerialNumber(java.lang.String certificatePath)
Извлечение серийного номера сертификата

Parameters:
certificatePath - Путь к сертификату на файловой системе. Сертификат должен быть в DER-кодировке
Returns:
Серийный номер сертификата. Если возвратился null, то см. лог Java Console

getKeySpec

public java.lang.Integer getKeySpec(java.lang.String url,
                                    int acquireContextFlag)
Извлечение типа ключа по URL

Parameters:
url - URL на ключ
acquireContextFlag - Флаг загрузки ключа. Необходимо передавать. Например, LibraryWrapper.CRYPT_SILENT
Returns:
Тип ключа. Если возвратился null, то см. лог Java Console

getUserCertificates

public java.lang.String getUserCertificates(java.lang.String profile)
Получение сертификатов пользователя и информации о них

Parameters:
profile - Имя профайла
Returns:
Сертификаты и информация о них. Столбцы разделены CommonApplet.COLUMN_SEPARATOR. Строки разделены CommonApplet.ROW_SEPARATOR. Строка содержит:
  • тело сертификата;
  • DN;
  • OID алгоритма;
  • флаги Key Usage;
  • OID-ы Extended Key Usage;
  • дата начала действия сертификата;
  • дата окончания действия сертификата;
  • url доступа к ключу.
Описание.

Key Usage возвращается в виде строки "100000000". Каждый символ означает наличие определенного Key Usage. Например, в "100000000" закодирован digitalSignature, а в "001100000" - keyEncipherment и dataEncipherment. Возможные варианты Key Usage: KeyUsage ::= BIT STRING { digitalSignature (0), nonRepudiation (1), keyEncipherment (2), dataEncipherment (3), keyAgreement (4), keyCertSign (5), cRLSign (6), encipherOnly (7), decipherOnly (8) }

OID-ы Extended Key Usage возвращаются в виде строки, разделенной запятыми. Например "1.2.3,2.3.4". Если сертификат не содержит Extended Key Usage, то возвращается пустая строка. Если возвратился null, то см. лог Java Console


getIdCardInfo

public java.lang.String getIdCardInfo()
Получение идентификационных данных из Id Card, подключенной к компьютеру. Если к компьютеру подсоединены две и более карт, то будет возвращена информация по каждой из них. Необходимо, чтобы в операционной системе был запущен сервис смарт-карт.

Returns:
Идентификационные данные из Id Card. Столбцы разделены CommonApplet.COLUMN_SEPARATOR. Строки разделены CommonApplet.ROW_SEPARATOR. Строка содержит:
  • ИИН;
  • номер удостоверения личности;
  • фамилия;
  • имя;
  • отчество;
  • дата рождения.
Если возвратилась пустая строка, значит устройства к компьютеру не подключены. Если возвратился null, то см. лог Java Console


Copyright © 1998-2014 Gamma Technologies. All Rights Reserved.