public abstract class PCKey
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field and Description |
---|---|
static int |
MIN_PASSWORD_LEN
Минимальная длина пароля
|
Constructor and Description |
---|
PCKey()
Конструктор класса
|
Modifier and Type | Method and Description |
---|---|
abstract int |
clearKeyPair()
Удалить ключевую пару (очистить значения открытого и закрытого ключей)
|
int |
combineKey(java.lang.String keyPart)
Объединение со второй частью ключа
|
void |
exportRaw(PCExportKeyCallback callback)
Экспорт ключа в сыром формате, пригодном для переноса ключа в PC SDK 5.x.
|
void |
exportRawWithCertificate(PCExportKeyWithCertificateCallback callback)
Экспорт ключа в сыром формате для переноса в PC SDK 6.x.
Также экспортирует самоподписанный сертификат для миграции ключей подписи в PC SDK 6.x. Перед вызовом метода должно выполняться условие hasValidHandle() == true. |
abstract int |
freeHandle()
Освободить хэндлы ключей текущего объекта
|
abstract int |
generateKeyPair()
Генерация ключевой пары
|
int |
getCodeExpirationInterval(PayControl.PCCodeType code_type)
Получение интервала дискретизации времени
По умолчанию 180 секунд |
java.lang.String |
getExpirationDate()
Получение даты истечения срока действия ключевой информации
|
long |
getHandle_auth()
Получение Handle ключевой информации для выработки кода аутентификации
|
long |
getHandle_ecdsa()
Получение Handle ключевой информации для выработки подписи
|
long |
getHandle_hmac()
Получение Handle ключевой информации для выработки кода подтверждения
|
java.lang.String |
getInteractionExternalURL()
Получение URL PC Interaction Server
|
java.lang.String |
getKeyId()
Получение идентификатора ключевой информации в хранилище PayControl
|
java.lang.String |
getKeyName()
Получение имени ключевой информации
|
java.lang.String |
getOnlineConfirmURL()
Получение URL для подтверждения Online
|
int |
getPasswordPolicy()
Получение идентификатора парольной политики
0 - Разрешено сохранение ключа без ввода пароля пользователем (приложение формирует пароль без участия пользователя). |
byte[] |
getPublicKey()
Получить закодированный открытый ключ подписи из состава ключевой пары
|
java.lang.String |
getRegisteredMFMSecurityToken()
Получение SecurityToken, зарегистрированного на PC IS при помощи метода doRegisterMFMSecurityToken
|
java.lang.String |
getRegisteredPushToken()
Получение push-токена устройства, зарегистрированного на PC IS при помощи метода doRegisterDevice
|
java.lang.String |
getSystemId()
Получение идентификатора прикладной системы
|
PayControl.TypeSystem |
getType()
Получение типа ключа: DSS или Regular
|
java.lang.String |
getUserId()
Получение идентификатора пользователя PayControl
|
boolean |
hasKeyPair()
Проверка, имеет ли ключ сформированную ключевую пару
|
boolean |
hasValidHandle()
Проверка на возможность использования Handle для формирования кода подтверждения
|
boolean |
hasValidSignHandle()
Проверка на возможность использования Handle для формирования подписи
|
boolean |
isCollectDeviceInfo()
Получение флага необходимости отправки информации об устройстве
|
boolean |
isCollectEvents()
Получение флага необходимости отправки информации о событиях при сетевых вызовах
|
boolean |
isCollectLocation()
Получение флага необходимости сбора информации о Местоположении (требует подтвердить предотавление разрешений приложению)
|
boolean |
isCollectSIMInfo()
Получение флага необходимости сбора информации о Телефоне (SIM-карте, операторе) (требует подтвердить предоставление разрешений приложению)
|
int |
isCompleted()
Проверка на полноту заполнения ключевой информации
|
boolean |
isDenyRenewPubKey()
Получение флага запрета перегенерации ключевой пары (открытого/закрытого ключа)
Если данный флаг установлен, то сервер примет только первый открытый ключ пользователя. |
boolean |
isDenyStoreWithOSProtection()
Получение флага запрета сохранения ключа, используя системный способ защиты доступа к нему (такой как отпечаток пальца)
Если флаг установлен, приложение НЕ ДОЛЖНО позволят использовать TouchID/FaceID/Google Fingerprint для сохранения пароля к ключу |
boolean |
isWithFingerPrint()
Получение флага необходимости использования отпечатка устройства (набора уникальных признаков аппарата)
|
int |
rename(java.lang.String newKeyName)
Обновление имени ключевой информации в хранилище
|
void |
setCodeExpirationInterval(PayControl.PCCodeType code_type,
int interval)
Установка интервала дискретизации времени
По умолчанию 180 секунд |
int |
setInteractionURL(java.lang.String url)
Replaces the existing interaction URL for a desired one
|
int |
store(java.lang.String keyName)
Сохранение ключевой информации в хранилище без указания пароля
Функция необходима для сохранения ранее импортированных ключей без предъявления текущего пароля Для последующего доступа к ключам необходим старый пароль Валидный handle не требуется |
int |
store(java.lang.String keyName,
java.lang.String password)
Сохранение ключевой информации в хранилище с указанием пароля
Ключи сохраняются в зашифрованном виде на указанном пароле Требуется валидный handle ключа |
void |
submitPassword(java.lang.String password,
PCSimpleCallback callback)
Предъявление пароля для получения Handle ключевой информации.
|
void |
updatePassword(java.lang.String keyId,
java.lang.String newPassword,
PCSimpleCallback callback)
Изменение пароля для ключевой информации
Требуется валидный handle |
void |
updatePassword(java.lang.String keyId,
java.lang.String oldPassword,
java.lang.String newPassword,
PCSimpleCallback callback)
Изменение пароля для ключевой информации
Валидный handle не требуется |
public abstract int generateKeyPair()
PCError
public abstract int clearKeyPair()
PCError
public boolean hasKeyPair()
public abstract int freeHandle()
PCError
public java.lang.String getKeyId()
public long getHandle_ecdsa()
public long getHandle_auth()
public long getHandle_hmac()
public java.lang.String getExpirationDate()
public java.lang.String getUserId()
public java.lang.String getKeyName()
public PayControl.TypeSystem getType()
public java.lang.String getSystemId()
public java.lang.String getOnlineConfirmURL()
public java.lang.String getInteractionExternalURL()
public int isCompleted()
PCError
public byte[] getPublicKey()
public int combineKey(java.lang.String keyPart)
keyPart
- Недостающая часть ключаPCError
public void submitPassword(java.lang.String password, PCSimpleCallback callback)
password
- Пароль для ключевой информацииcallback
- Callback выполнения функции. Возвращает успешность выполненного методаpublic void exportRaw(PCExportKeyCallback callback)
hasValidHandle()
== true.callback
- Реализация PCExportKeyCallback
для обработки результатовpublic void exportRawWithCertificate(PCExportKeyWithCertificateCallback callback)
hasValidHandle()
== true.callback
- Реализация PCExportKeyWithCertificateCallback
для обработки результатовpublic boolean hasValidHandle()
public boolean hasValidSignHandle()
public int store(java.lang.String keyName, java.lang.String password)
keyName
- Имя ключевой информацииpassword
- Пароль для ключевой информацииPCError
public int store(java.lang.String keyName)
keyName
- Имя ключевой информацииPCError
public int rename(java.lang.String newKeyName)
newKeyName
- Новое имя ключевой информацииPCError
public void updatePassword(java.lang.String keyId, java.lang.String oldPassword, java.lang.String newPassword, PCSimpleCallback callback)
keyId
- Идентификатор ключевой информации в хранилище PayControloldPassword
- Текущий пароль для ключевой информацииnewPassword
- Новый пароль для ключевой информацииcallback
- Callback выполнения функции. Возвращает успешность выполненного методаpublic void updatePassword(java.lang.String keyId, java.lang.String newPassword, PCSimpleCallback callback)
keyId
- Идентификатор ключевой информации в хранилище PayControlnewPassword
- Новый пароль для ключевой информацииcallback
- Callback выполнения функции. Возвращает успешность выполненного методаpublic java.lang.String getRegisteredPushToken()
public java.lang.String getRegisteredMFMSecurityToken()
public int getCodeExpirationInterval(PayControl.PCCodeType code_type)
code_type
- тип, для которого нужно получить интервал дискретизации времениpublic void setCodeExpirationInterval(PayControl.PCCodeType code_type, int interval)
code_type
- тип, для которого изменяется интервал дискретизации времениinterval
- новый интервал дискретизации времениpublic int setInteractionURL(java.lang.String url)
url
- New non-null non-empty URLpublic boolean isWithFingerPrint()
public boolean isDenyRenewPubKey()
public boolean isCollectEvents()
public boolean isCollectDeviceInfo()
public boolean isCollectSIMInfo()
public boolean isCollectLocation()
public int getPasswordPolicy()
public boolean isDenyStoreWithOSProtection()