java.lang.Object | ||||
↳ | android.content.Context | |||
↳ | android.content.ContextWrapper | |||
↳ | android.app.Service | |||
↳ | com.samsung.android.knox.ucm.plugin.agent.UcmAgentService |
This abstract class is for 3rd party application to implement Credential Storage Agent Service - UCM Plugin application.
Application who extend from this service will be able to register with UCM framework as one of the external
credential storage agent. This class provides abstract methods which extending class can implement to receive callback from UCM framework.
Application need to define the service in its AndroidManifest file with intent filter:
"com.samsung.android.knox.intent.action.UCM_AGENT" to be picked up by UCM framework as UCM plugin. And the service should be protected by this permission
"com.samsung.android.knox.permission.KNOX_UCM_BIND_PLUGIN_SERVICE" which has a protection level of signature.
Read UCM developer guide for more information.
<service android:name=".MyUCMPluginService" android:enabled="true" android:exported="true" android:permission="com.samsung.android.knox.permission.KNOX_UCM_BIND_PLUGIN_SERVICE" /> <intent-filter> <action android:name="com.samsung.android.knox.intent.action.UCM_AGENT" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </service>
API level 20 |
KNOX 2.7 |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_UCM_PLUGIN_STATUS | Plugin should notify UCM framework after procesing of configureCredentialStoragePlugin API is completed. | |||||||||
String | ADMIN_UID | This constant defines Bundle extra for admin uid. | |||||||||
String | ALIASES | This constant defines Bundle extra for aliases names. | |||||||||
String | ALLOWED_PACKAGES | This constant defines Bundle extra for allowed packages. | |||||||||
int | ALLOW_ALL | This constant defines value for allow all in notifyChange API | |||||||||
int | AUTH_ALPHA_NUMERIC | This constant defines value for alpha numeric Applet authentication mode. | |||||||||
String | AUTH_MAX_COUNT | This constant defines Bundle extra for Authentication maximum count. | |||||||||
String | AUTH_MODE | This constant defines Bundle extra for Authentication mode. | |||||||||
int | AUTH_NUMERIC | This constant defines value for numeric Applet authentication mode. | |||||||||
int | AUTH_UNKNOWN | This constant defines value for unkown Applet authentication mode. | |||||||||
int | BLOCK_ALL | This constant defines value for block all in notifyChange API | |||||||||
String | BUNDLE_EXTRA_ADD_PIN_CACHE_EXEMPTLIST | This constant define Bundle extra for add package to pin cache exemptlist | |||||||||
String | BUNDLE_EXTRA_APPLET_INSTALLATION_STATUS | This constant define Bundle Extra for Applet installation status | |||||||||
String | BUNDLE_EXTRA_ESE_CHIP_VENDOR | This constant define Bundle Extra for Applet chip vendor | |||||||||
String | BUNDLE_EXTRA_PIN_CACHE | This constant define Bundle extra for Pin cache | |||||||||
String | BUNDLE_EXTRA_PIN_CACHE_TIMEOUT_MINUTES | This constant define Bundle extra for timeout | |||||||||
String | BUNDLE_EXTRA_REMOVE_PIN_CACHE_EXEMPTLIST | This constant define Bundle extra for remove package from pin cache exemptlist | |||||||||
String | CS_NAME | This constant defines Bundle extra for Credential Storage name. | |||||||||
int | ERROR_ALIAS_NOT_FOUND | This error constant is returned when Alias not found. | |||||||||
int | ERROR_APDU_CREATION | This error constant is returned due to APDU creation failed. | |||||||||
int | ERROR_APPLET_INSTALL_LOCATION | This error constant is returned when Applet location is invalid. | |||||||||
int | ERROR_APPLET_UNKNOWN | This error constant is returned when Applet is unknown. | |||||||||
int | ERROR_BAD_APPLET_RESPONSE | This error constant is returned due to Bad Applet response. | |||||||||
int | ERROR_BAD_PADDING_EXCEPTION | This error constant is returned due to Bad padding exception. | |||||||||
int | ERROR_CANNOT_CHANGE_ODE_CONFIGURATION | ODE configuration can't be changed. | |||||||||
int | ERROR_CERTFACTORY_INSTANCE_NOT_FOUND | This error constant is returned when Certificate factory instance not found. | |||||||||
int | ERROR_CERTIFICATE_ENCODING_EXCEPTION | This error constant is returned due to Certificate encoding exception. | |||||||||
int | ERROR_CERTIFICATE_EXCEPTION | This error constant is returned due to Certificate exception. | |||||||||
int | ERROR_CIPHER_INSTANCE_NOT_FOUND | This error constant is returned when Cipher instance not found. | |||||||||
int | ERROR_CORRUPTED_CS_RESPONSE | This error constant is returned when response is corrupted. | |||||||||
int | ERROR_CREDENTIAL_STORAGE_ACCESS_DENIED_BY_ADMIN_POLICY | This error constant is returned when Configurator policy blocked access to storage. | |||||||||
int | ERROR_CRYPTO_ENGINE_EXCEPTION | This error constant is returned due to Crypto engine exception | |||||||||
int | ERROR_EMPTY_CERTIFICATE_CHAIN | This error constant is returned due to Empty certificate chain. | |||||||||
int | ERROR_EMPTY_PARAMETER | This error constant is returned when ired parameter is empty. | |||||||||
int | ERROR_ESECOMM_TRANSMIT_FAILURE | This error constant is returned when ESECOMM transmit failed. | |||||||||
int | ERROR_FAILED_TO_GET_READER_FOR_STORAGE | This error constant is returned when failed to get reader for storage. | |||||||||
int | ERROR_FILE_NOT_FOUND_EXCEPTION | This error constant is returned due to File not found exception. | |||||||||
int | ERROR_GET_READERS_ILLEGAL_STATE_EXCEPTION | This error constant is returned due to illegal state exception | |||||||||
int | ERROR_GET_READERS_NULL_POINTER_EXCEPTION | This error constant i4s returned due to nullpointer exception. | |||||||||
int | ERROR_ILLEGAL_BLOCK_SIZE_EXCEPTION | This error constant is returned due to Illegal black size exception. | |||||||||
int | ERROR_INCORRECT_CARD | This error constant is returned when Card is incorrect. | |||||||||
int | ERROR_INCORRECT_PIN | This error constant is returned when PIN is incorrect. | |||||||||
int | ERROR_INCORRECT_PUK | This error constant is returned when PUK is incorrect. | |||||||||
int | ERROR_INTERNAL_COMMUNICATION | This error constant is returned due to Internal communication error. | |||||||||
int | ERROR_INTERNAL_UCM_FRMWK_END | This error constant is returned due to UMC framework end error. | |||||||||
int | ERROR_INTERNAL_UCM_FRMWK_START | This error constant is returned due to UMC framework start error. | |||||||||
int | ERROR_INVALID_ALGORTHM_PARAMETER_EXCEPTION | This error constant is returned due to Invalid algorithm exception. | |||||||||
int | ERROR_INVALID_INPUT | This error constant is returned due to Invalid input. | |||||||||
int | ERROR_INVALID_KEY_SPEC_EXCEPTION | This error constant is returned due to Invalid key spec exception. | |||||||||
int | ERROR_INVALID_ODE_CONFIGURATION | ODE configuration is invalid. | |||||||||
int | ERROR_IO_EXCEPTION | This error constant is returned due to IO exception. | |||||||||
int | ERROR_KEYSTORE_ENTRY_NOT_FOUND | This error constant is returned when Entry is not found in keystore. | |||||||||
int | ERROR_KEYSTORE_EXCEPTION | This error constant is returned due to Keystore exception. | |||||||||
int | ERROR_KEYSTORE_TYPE | This error constant is returned due to Invalid keystore type. | |||||||||
int | ERROR_MISSING_DEPENDENCY | This error constant is returned due to Missing dependency. | |||||||||
int | ERROR_NONE | This error constant is returned when processing is successful. | |||||||||
int | ERROR_NON_UCS_PLUGINSPI | This error constant is returned when Unknown SPI is called. | |||||||||
int | ERROR_NO_ADAPTER_FOUND | This error constant is returned when No adapter found. | |||||||||
int | ERROR_NO_ADAPTER_RESPONSE | This error constant is returned when there is no response from adapter. | |||||||||
int | ERROR_NO_PLUGIN_AGENT_FOUND | This error constant is returned when Plugin is invalid. | |||||||||
int | ERROR_NO_PLUGIN_RESPONSE | This error constant is returned when Plugin fail to respond. | |||||||||
int | ERROR_NO_SESSION_AVAILABLE | This error constant is returned when no session is available. | |||||||||
int | ERROR_NO_SUCH_ALGORITHM_EXCEPTION | This error constant is returned due to no such algorithm exception. | |||||||||
int | ERROR_NO_SUCH_PROVIDER_EXCEPTION | This error constant is returned when No provider is found. | |||||||||
int | ERROR_OMA_TRANSMIT_FAILURE | This error constant is returned when OMA transmit failed. | |||||||||
int | ERROR_OPEN_LOGICAL_CHANNEL_ILLEGAL_ARGUMENT_EXCEPTION | This error constant is returned due to open logical channel illegal argument exception. | |||||||||
int | ERROR_OPEN_LOGICAL_CHANNEL_ILLEGAL_STATE_EXCEPTION | This error constant is returned due to open logical channel illegal state exception. | |||||||||
int | ERROR_OPEN_LOGICAL_CHANNEL_IO_EXCEPTION | This error constant is returned due to open logical channel IO exception. | |||||||||
int | ERROR_OPEN_LOGICAL_CHANNEL_NO_SUCH_ELEMENT_EXCEPTION | This error constant is returned due to open logical channel no such element exception. | |||||||||
int | ERROR_OPEN_LOGICAL_CHANNEL_SECURITY_EXCEPTION | This error constant is returned due to open logical channel security exception. | |||||||||
int | ERROR_OPEN_LOGICAL_CHANNEL_UNKNOWN | This error constant is returned due to open logical channel unknown exception | |||||||||
int | ERROR_OPEN_SESSION_IO_EXCEPTION | This error constant is returned due to OpenSSL IO exception. | |||||||||
int | ERROR_OUT_OF_BOUND | This error constant is returned due to Out of bound error. | |||||||||
int | ERROR_PLUGIN_ALREADY_USED | This error constant is returned when Plugin is already used. | |||||||||
int | ERROR_PRIVATEKEY_ENTRY_NOT_FOUND | This error constant is returned when Private key entry not found. | |||||||||
int | ERROR_SCP_CREATE_CHANNEL_FAILED | This error constant is returned when create channel failed in SCP | |||||||||
int | ERROR_SCP_DECRYPTION_FAILED | This error constant is returned when decryption failed in SCP | |||||||||
int | ERROR_SCP_ENCRYPTION_FAILED | This error constant is returned when encryption failed in SCP | |||||||||
int | ERROR_SCP_NULL_RESPONSE_RECV | This error constant is returned when no SCP response. | |||||||||
int | ERROR_SCP_UNKNOWN | This error constant is returned when Channel is unknown | |||||||||
int | ERROR_SHORT_BUFFER_EXCEPTION | This error constant is returned due to Short buffer exception. | |||||||||
int | ERROR_SMARTCARD_UNAVAILABLE | This error constant is returned when Smart card is unavailable. | |||||||||
int | ERROR_STORAGE_FULL | This error constant is returned when Storage is full. | |||||||||
int | ERROR_TRANSMIT_ILLEGAL_ARGUMENT_EXCEPTION | This error constant is returned due to transmit illegal argument exception | |||||||||
int | ERROR_TRANSMIT_ILLEGAL_STATE_EXCEPTION | This error constant is returned due to transmit illegal state exception | |||||||||
int | ERROR_TRANSMIT_IO_EXCEPTION | This error constant is returned due to transmit IO exception | |||||||||
int | ERROR_TRANSMIT_NULL_POINTER_EXCEPTION | This error constant is returned due to transmit nullpointer exception. | |||||||||
int | ERROR_TRANSMIT_SECURITY_EXCEPTION | This error constant is returned due to transmit security exception | |||||||||
int | ERROR_TRANSMIT_UNKNOWN | This error constant is returned due to transmit unknown exception. | |||||||||
int | ERROR_UNDEFINED_EXCEPTION | This error constant is returned due to Unknown exception. | |||||||||
int | ERROR_UNKNOWN | This error constant is returned due to Unknown error. | |||||||||
int | ERROR_UNREADABLE_ODE_CONFIGURATION | ODE configuration is unreadable | |||||||||
int | ERROR_UNRECOVERABLE_KEY_EXCEPTION | This error constant is returned due to Unrecoverable key exception. | |||||||||
int | ERROR_UNRECOVERABLE_STATE | This error constant is returned due to Unrecoverable state. | |||||||||
int | ERROR_UNSUPPORTED_ALGORITHM | This error constant is returned when Unsupported algorithm is used. | |||||||||
int | ERROR_UNSUPPORTED_OPERATION | This error constant is returned due to Unsupported operation. | |||||||||
int | ERROR_UNSUPPORTED_PARAMETER | This error constant is returned due to Unsupported parameter. | |||||||||
int | EVENT_ADMIN_LICENSE_EXPIRED | UCM Event - Configurator license is expired. | |||||||||
int | EVENT_ADMIN_LICENSE_RENEWED | UCM Event - Configurator license is renewed. | |||||||||
int | EVENT_BOOT_COMPLETED | UCM Event - device boot is completed. | |||||||||
int | EVENT_CONTAINER_LOCKED | UCM Event - Container is locked. | |||||||||
int | EVENT_CONTAINER_UNLOCKED | UCM Event - Container is unlocked. | |||||||||
int | EVENT_DEVICE_LOCKED | UCM Event - device is locked. | |||||||||
int | EVENT_DEVICE_UNLOCKED | UCM Event - device is unlocked. | |||||||||
int | EVENT_FACTORY_RESET | UCM Event - device is factory reset. | |||||||||
int | EVENT_KEYGUARD_SET | UCM Event - Keyguard is set | |||||||||
int | EVENT_KEYGUARD_UNSET | UCM Event - Keyguard is unset | |||||||||
int | EVENT_PACKAGE_UNINSTALL | UCM Event - package is uninstalled. | |||||||||
int | EVENT_PLUGIN_UNMANAGED | UCM Event - plugin is unmanaged. | |||||||||
int | EVENT_USER_REMOVED | UCM Event - user is removed. | |||||||||
String | LOCK_STATE | This constant defines Bundle extra for Lock state. | |||||||||
String | MAX_PIN_LENGTH | This constant defines Bundle extra for Maximum pin length. | |||||||||
String | MAX_PUK_LENGTH | This constant defines Bundle extra for Maximum PUK length. | |||||||||
String | MIN_PIN_LENGTH | This constant defines Bundle extra for Minimum pin length. | |||||||||
String | MIN_PUK_LENGTH | This constant defines Bundle extra for Minimum PUK length. | |||||||||
String | MISC_INFO | This constant defines Bundle extra for Misc information. | |||||||||
String | PACKAGE_ACCESS_TYPE | This constant defines Bundle extra for package access type. | |||||||||
String | PACKAGE_UID | This constant defines Bundle extra for package uid. | |||||||||
int | PARTIALLY | This constant defines value for partially in notifyChange API | |||||||||
int | PIN_CACHE_KEYGUARD_TIMEOUT | This constant define Bundle value for cache pin till keyguard timeout | |||||||||
int | PIN_CACHE_TIMEOUT | This constant define Bundle value to timeout | |||||||||
String | PLUGIN_BOOLEAN_RESPONSE | This constant defines Bundle extra for Credential Storage boolean response. | |||||||||
String | PLUGIN_BUNDLE_RESPONSE | This constant defines Bundle extra for Credential Storage bundle response. | |||||||||
String | PLUGIN_BYTEARRAY_RESPONSE | This constant defines Bundle extra for Credential Storage byte array response. | |||||||||
String | PLUGIN_DATA_STRING_RESPONSE | This constant defines Data Bundle extra for Credential Storage string response in notifyPluginResult. | |||||||||
String | PLUGIN_ERROR_CODE | This constant defines Bundle extra for Credential Storage error response. | |||||||||
String | PLUGIN_INT_RESPONSE | This constant defines Bundle extra for Credential Storage int response. | |||||||||
String | PLUGIN_STRINGARRAY_RESPONSE | This constant defines Bundle extra for Credential Storage String array response. | |||||||||
String | PLUGIN_STRING_RESPONSE | This constant defines Bundle extra for Credential Storage String response. | |||||||||
String | PLUGIN_TOASTMSG_RESPONSE | This constant defines Bundle extra for Credential Storage toastmessage response. | |||||||||
String | REMAIN_COUNT | This constant defines Bundle extra for Remain count. | |||||||||
String | REQUEST_ID | This constant defines Bundle extra for request id. | |||||||||
int | STATE_BLOCKED | This constant defines value for Applet blocked state. | |||||||||
int | STATE_LOCKED | This constant defines value for Applet locked state. | |||||||||
int | STATE_UNKNOWN | This constant defines value for Applet unknown state. | |||||||||
int | STATE_UNLOCKED | This constant defines value for Applet unlocked state. | |||||||||
String | STATUS_CODE | This constant defines Bundle extra for status code. | |||||||||
String | USER_ID | This constant defines Bundle extra for user id. |
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.app.Service
| |||||||||||
From class
android.content.Context
| |||||||||||
From interface
android.content.ComponentCallbacks2
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
API to process APDU command.
| |||||||||||
API to change PIN.
| |||||||||||
API to configure Storage plugin from Configurator app.
| |||||||||||
API to generate and encryption key from Credential Storage.
| |||||||||||
API to generate keyguard password.
| |||||||||||
API to get wrapped device encryption key from Credential Storage.
| |||||||||||
API to return Credential storage configuration.
| |||||||||||
API to get information from Credential Storage.
| |||||||||||
API to get device encryption key from Credential Storage.
| |||||||||||
API to get detail error message from Plugin.
| |||||||||||
API to return Credential Storage information.
| |||||||||||
API to get PIN retry count.
| |||||||||||
API to get maximumPIN length.
| |||||||||||
API to get Maximum PIN retry count.
| |||||||||||
API to get minimumPIN length.
| |||||||||||
API to get current UCM provider to register UCM SPI Service.
| |||||||||||
API to get the current status of the Credential Storage.
| |||||||||||
API to initialize KeyguardPIN to Credential Storage.
| |||||||||||
API which UCM framework will call to notify change.
| |||||||||||
API to set information in Credential Storage.
| |||||||||||
API to set Keyguard maximum Pin Length.
| |||||||||||
API to set Keyguard Pin maximum retry count.
| |||||||||||
API to set Keyguard minimum Pin Length.
| |||||||||||
API to set state of Credential Storage.
| |||||||||||
API to unwrap wrapped key that wrapped and stored in device.
| |||||||||||
API to verify input PIN and return current state and remaining retry count.
| |||||||||||
API to verify the PUK and update new pin to be used for verification.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
android.app.Service
| |||||||||||
From class
android.content.ContextWrapper
| |||||||||||
From class
android.content.Context
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
android.content.ComponentCallbacks
| |||||||||||
From interface
android.content.ComponentCallbacks2
|
Plugin should notify UCM framework after procesing of configureCredentialStoragePlugin API is completed.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for admin uid.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for aliases names.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for allowed packages.
API level 20 |
KNOX 2.7 |
This constant defines value for allow all in notifyChange API
API level 20 |
KNOX 2.7 |
This constant defines value for alpha numeric Applet authentication mode.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Authentication maximum count.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Authentication mode.
API level 20 |
KNOX 2.7 |
This constant defines value for numeric Applet authentication mode.
API level 20 |
KNOX 2.7 |
This constant defines value for unkown Applet authentication mode.
API level 20 |
KNOX 2.7 |
This constant defines value for block all in notifyChange API
API level 20 |
KNOX 2.7 |
This constant define Bundle extra for add package to pin cache exemptlist
API level 20 |
KNOX 2.7 |
This constant define Bundle Extra for Applet installation status
API level 20 |
KNOX 2.7 |
This constant define Bundle Extra for Applet chip vendor
API level 37 |
KNOX 3.10 |
This constant define Bundle extra for Pin cache
API level 20 |
KNOX 2.7 |
This constant define Bundle extra for timeout
API level 20 |
KNOX 2.7 |
This constant define Bundle extra for remove package from pin cache exemptlist
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage name.
API level 20 |
KNOX 2.7 |
This error constant is returned when Alias not found.
API level 20 |
KNOX 2.7 |
This error constant is returned due to APDU creation failed.
API level 20 |
KNOX 2.7 |
This error constant is returned when Applet location is invalid.
API level 20 |
KNOX 2.7 |
This error constant is returned when Applet is unknown.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Bad Applet response.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Bad padding exception.
API level 20 |
KNOX 2.7 |
ODE configuration can't be changed.
API level 20 |
KNOX 2.7 |
This error constant is returned when Certificate factory instance not found.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Certificate encoding exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Certificate exception.
API level 20 |
KNOX 2.7 |
This error constant is returned when Cipher instance not found.
API level 20 |
KNOX 2.7 |
This error constant is returned when response is corrupted.
API level 20 |
KNOX 2.7 |
This error constant is returned when Configurator policy blocked access to storage.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Crypto engine exception
API level 20 |
KNOX 2.7 |
This error constant is returned due to Empty certificate chain.
API level 20 |
KNOX 2.7 |
This error constant is returned when ired parameter is empty.
API level 20 |
KNOX 2.7 |
This error constant is returned when ESECOMM transmit failed.
API level 20 |
KNOX 2.7 |
This error constant is returned when failed to get reader for storage.
API level 20 |
KNOX 2.7 |
This error constant is returned due to File not found exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to illegal state exception
API level 20 |
KNOX 2.7 |
This error constant i4s returned due to nullpointer exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Illegal black size exception.
API level 20 |
KNOX 2.7 |
This error constant is returned when Card is incorrect.
API level 20 |
KNOX 2.7 |
This error constant is returned when PIN is incorrect.
API level 20 |
KNOX 2.7 |
This error constant is returned when PUK is incorrect.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Internal communication error.
API level 20 |
KNOX 2.7 |
This error constant is returned due to UMC framework end error.
API level 20 |
KNOX 2.7 |
This error constant is returned due to UMC framework start error.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Invalid algorithm exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Invalid input.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Invalid key spec exception.
API level 20 |
KNOX 2.7 |
ODE configuration is invalid.
API level 20 |
KNOX 2.7 |
This error constant is returned due to IO exception.
API level 20 |
KNOX 2.7 |
This error constant is returned when Entry is not found in keystore.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Keystore exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Invalid keystore type.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Missing dependency.
API level 20 |
KNOX 2.7 |
This error constant is returned when processing is successful.
API level 20 |
KNOX 2.7 |
This error constant is returned when Unknown SPI is called.
API level 20 |
KNOX 2.7 |
This error constant is returned when No adapter found.
API level 20 |
KNOX 2.7 |
This error constant is returned when there is no response from adapter.
API level 20 |
KNOX 2.7 |
This error constant is returned when Plugin is invalid.
API level 20 |
KNOX 2.7 |
This error constant is returned when Plugin fail to respond.
API level 20 |
KNOX 2.7 |
This error constant is returned when no session is available.
API level 20 |
KNOX 2.7 |
This error constant is returned due to no such algorithm exception.
API level 20 |
KNOX 2.7 |
This error constant is returned when No provider is found.
API level 20 |
KNOX 2.7 |
This error constant is returned when OMA transmit failed.
API level 20 |
KNOX 2.7 |
This error constant is returned due to open logical channel illegal argument exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to open logical channel illegal state exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to open logical channel IO exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to open logical channel no such element exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to open logical channel security exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to open logical channel unknown exception
API level 20 |
KNOX 2.7 |
This error constant is returned due to OpenSSL IO exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Out of bound error.
API level 20 |
KNOX 2.7 |
This error constant is returned when Plugin is already used.
API level 20 |
KNOX 2.7 |
This error constant is returned when Private key entry not found.
API level 20 |
KNOX 2.7 |
This error constant is returned when create channel failed in SCP
API level 20 |
KNOX 2.7 |
This error constant is returned when decryption failed in SCP
API level 20 |
KNOX 2.7 |
This error constant is returned when encryption failed in SCP
API level 20 |
KNOX 2.7 |
This error constant is returned when no SCP response.
API level 20 |
KNOX 2.7 |
This error constant is returned when Channel is unknown
API level 20 |
KNOX 2.7 |
This error constant is returned due to Short buffer exception.
API level 20 |
KNOX 2.7 |
This error constant is returned when Smart card is unavailable.
API level 20 |
KNOX 2.7 |
This error constant is returned when Storage is full.
API level 20 |
KNOX 2.7 |
This error constant is returned due to transmit illegal argument exception
API level 20 |
KNOX 2.7 |
This error constant is returned due to transmit illegal state exception
API level 20 |
KNOX 2.7 |
This error constant is returned due to transmit IO exception
API level 20 |
KNOX 2.7 |
This error constant is returned due to transmit nullpointer exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to transmit security exception
API level 20 |
KNOX 2.7 |
This error constant is returned due to transmit unknown exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Unknown exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Unknown error.
API level 20 |
KNOX 2.7 |
ODE configuration is unreadable
API level 20 |
KNOX 2.7 |
This error constant is returned due to Unrecoverable key exception.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Unrecoverable state.
API level 20 |
KNOX 2.7 |
This error constant is returned when Unsupported algorithm is used.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Unsupported operation.
API level 20 |
KNOX 2.7 |
This error constant is returned due to Unsupported parameter.
API level 20 |
KNOX 2.7 |
UCM Event - Configurator license is expired.
API level 20 |
KNOX 2.7 |
UCM Event - Configurator license is renewed.
API level 20 |
KNOX 2.7 |
UCM Event - device boot is completed.
API level 20 |
KNOX 2.7 |
UCM Event - Container is locked.
API level 20 |
KNOX 2.7 |
UCM Event - Container is unlocked.
API level 20 |
KNOX 2.7 |
UCM Event - device is locked.
API level 20 |
KNOX 2.7 |
UCM Event - device is unlocked.
API level 20 |
KNOX 2.7 |
UCM Event - device is factory reset.
API level 20 |
KNOX 2.7 |
UCM Event - Keyguard is set
API level 20 |
KNOX 2.7 |
UCM Event - Keyguard is unset
API level 20 |
KNOX 2.7 |
UCM Event - package is uninstalled.
API level 20 |
KNOX 2.7 |
UCM Event - plugin is unmanaged.
API level 20 |
KNOX 2.7 |
UCM Event - user is removed.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Lock state.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Maximum pin length.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Maximum PUK length.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Minimum pin length.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Minimum PUK length.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Misc information.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for package access type.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for package uid.
API level 20 |
KNOX 2.7 |
This constant defines value for partially in notifyChange API
API level 20 |
KNOX 2.7 |
This constant define Bundle value for cache pin till keyguard timeout
API level 20 |
KNOX 2.7 |
This constant define Bundle value to timeout
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage boolean response.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage bundle response.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage byte array response.
API level 20 |
KNOX 2.7 |
This constant defines Data Bundle extra for Credential Storage string response in notifyPluginResult.
API level 37 |
KNOX 3.10 |
This constant defines Bundle extra for Credential Storage error response.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage int response.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage String array response.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage String response.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for Credential Storage toastmessage response.
API level 37 |
KNOX 3.10 |
This constant defines Bundle extra for Remain count.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for request id.
API level 20 |
KNOX 2.7 |
This constant defines value for Applet blocked state.
API level 20 |
KNOX 2.7 |
This constant defines value for Applet locked state.
API level 20 |
KNOX 2.7 |
This constant defines value for Applet unknown state.
API level 20 |
KNOX 2.7 |
This constant defines value for Applet unlocked state.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for status code.
API level 20 |
KNOX 2.7 |
This constant defines Bundle extra for user id.
API level 20 |
KNOX 2.7 |
API to process APDU command. Implementation of this API is optional.
apdu | byte array of APDU command |
---|---|
extras | input bundle parameters |
API to process APDU command. Input APDU command is sent to plugin application, and plugin application can support APDU command directly without framework interface.
public Bundle APDUCommand (byte[] apdu, Bundle extras) { //After processing the APDU command in an Applet. Bundle pluginResponse = new Bundle(); pluginResponse.putByteArray( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to change PIN. Implementation of this API is optional.
oldPin | current PIN |
---|---|
newPin | new PIN |
PLUGIN_ERROR_CODE
This API will be called to change PIN. It is not called in UCM framework side. It can be called using
public Bundle changePin(String oldPin, String newPin) { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to configure Storage plugin from Configurator app. Implementation of this API is optional.
adminUid | Configurator Uid |
---|---|
profile | request information |
requestId | request Id |
API to configure Storage plugin from Configurator app. Once API call is received then plugin application has to send below intent once configuration is completed with request Id to calling Configurator(adminUid). The request Id is created by UCM framework automatically.
public Bundle configureCredentialStoragePlugin(int adminUid, Bundle data, int requestId) { // Start processing the data received from API and the reply to confirm that configuration request has been accepted. Bundle pluginResponse = new Bundle(); pluginResponse.putInt(
private void notifyOperationResult(int adminUid, int requestId, int result) { // After completing sync or async operation in this API then notify to Configurator. Intent intent = new Intent( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to generate and encryption key from Credential Storage. Implementation of this API is madatory to support UCM ODE to store DEK on the Credential Storage.
This API triggers device encryption key generation to Credential Storage, but the key is not retrieved by this API.
public Bundle generateDek() { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 22 |
Knox 2.8 |
Global Scope |
API to generate keyguard password. Implementation of this API is madatory to support UCM Keyguard or UCM ODE.
userId | user Id |
---|---|
extras | reserved |
API to generate and return the password from Credential Storage. The password is used as keyguard password.
public Bundle generateKeyguardPassword(int userId, Bundle extras) { Bundle pluginResponse = new Bundle(); String password = "PASSWORD"; pluginResponse.putString( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to get wrapped device encryption key from Credential Storage. Implementation of this API is madatory to support UCM ODE to store (wrapped) DEK on the device side.
API to get wrapped device encryption key from Credential Storage. The wrapped key is stored in device side. But this key can be unwrapped by Credential Storage by
public Bundle generateWrappedDek() { Bundle pluginResponse = new Bundle(); byte[] wrapped_dek = getWrappedDek(); pluginResponse.putByteArray( |
API level 22 |
Knox 2.8 |
Global Scope |
API to return Credential storage configuration. Implementation of this API is optional.
adminUid | Configurator Uid |
---|
API to return Credential storage configuration. Plugin application can use one or more Bundle keys in response :
public Bundle getCredentialStoragePluginConfiguration(int adminUid) {
Bundle pluginResponse = new Bundle();
pluginResponse.putString( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to get information from Credential Storage. Implementation of this API is optional.
adminUid | MDM uid |
---|---|
userId | user Id |
args | plugin specific properties |
Some Credential Storage has each plugin specific properties like PIN timeout.
Configurator can manage plugin properties using this API.
public Bundle getCredentialStorageProperty(int adminUid, String userId, Bundle extra) { Bundle properties = new Bundle(); int pinCacheOption = |
API level 20 |
KNOX 2.7 |
Global Scope |
API to get device encryption key from Credential Storage. Implementation of this API is madatory to support UCM ODE to store DEK on the Credential Storage.
API to get device encryption key from Credential Storage. The key is generated when
public Bundle getDek() { Bundle pluginResponse = new Bundle(); byte[] dek = getDek(); pluginResponse.putByteArray( |
API level 22 |
Knox 2.8 |
Global Scope |
API to get detail error message from Plugin. Implementation of this API is optional.
errorCode | error code |
---|
API to get detail error message for error code. Plugin application return detail error message will be shown to Keyguard or ODE UX.
public String getDetailErrorMessage (int errorCode) { String errorMsg = null; if (errorCode == UcmAgentService.ERROR_NO_PLUGIN_RESPONSE) { errorMsg = "There is no plugin response"; } return errorMsg; } |
API level 22 |
Knox 2.8 |
Global Scope |
API to return Credential Storage information. Implementation of this API is optional.
API to get Credential Storage information. This api depends on the implementation of plugin, plugin can use one or more Bundle keys in response :
public Bundle getInfo() { //After processing in an Applet. Bundle pluginResponse = new Bundle(); pluginResponse.putString( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to get PIN retry count.
PLUGIN_ERROR_CODE
This API will be called to get condition about current RetryCount. Whenever user inputs wrong pin, RetryCount is reduced. If retrycount is 0, CredentialStorage is blocked.
public Bundle getKeyguardPinCurrentRetryCount() { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API to get maximumPIN length.
PLUGIN_ERROR_CODE
This API will be called to set condition about PIN configuration. When user changes PIN, user should follow this condition about minimumPinLength, maximumPinLength.
public Bundle getKeyguardPinMaximumLength() { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API to get Maximum PIN retry count.
PLUGIN_ERROR_CODE
This API will be called to get condition about maximum RetryCount. Whenever user inputs wrong pin, RetryCount is reduced. If retrycount is 0, CredentialStorage is blocked.
public Bundle getKeyguardPinMaximumRetryCount() { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API to get minimumPIN length.
PLUGIN_ERROR_CODE
This API will be called to set condition about PIN configuration. When user changes PIN, user should follow this condition about minimumPinLength, maximumPinLength.
public Bundle getKeyguardPinMinimumLength() { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API to get current UCM provider to register UCM SPI Service.
API to get current UCM provider to register UCM SPI Service. Refer |
API level 20 |
KNOX 2.7 |
Global Scope |
API to get the current status of the Credential Storage. Implementation of this API is madatory to support UCM Keyguard or UCM ODE.
PLUGIN_ERROR_CODE
, LOCK_STATE
, REMAIN_COUNT
and MISC_INFO
API to get the current status of the Credential Storage, and the result should include these values that basic plugin error code and
current lock state and remaining retry count.
public Bundle getStatus() { int remaining_count = 5; Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to initialize KeyguardPIN to Credential Storage.
newPin | new PIN |
---|---|
options | options for future requirement |
PLUGIN_ERROR_CODE
This API will be called to initialize KeyguardPIN.
public Bundle initKeyguardPin(String newPin, Bundle options) { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API which UCM framework will call to notify change. Implementation of this API is recommended.
eventId | event id |
---|---|
data | Bundle of event related data |
UCM framework notify plugin when different event occured. Plugin application can peform operation based event received.
public int notifyChange(int eventId, Bundle data) { int adminUid = data.getInt(ADMIN_UID, -1); int userId = data.getInt(USER_ID, -1); switch (eventId) { case EVENT_PLUGIN_UNMANAGED: Log.d(TAG, "plugin is unmanaged"); break; case EVENT_USER_REMOVED: Log.d(TAG, "user is removed : " + userId); break; case EVENT_PACKAGE_UNINSTALL: int packageUid = data.getInt(PACKAGE_UID, NOT_INITIALIZED); Log.d(TAG, "application is uninstalled : " + packageUid); break; case EVENT_ADMIN_LICENSE_EXPIRED: Log.d(TAG, "Admin license is expired : " + adminUid); break; case EVENT_ADMIN_LICENSE_RENEWED: Log.d(TAG, "Admin license is renewed : " + adminUid); break; case EVENT_DEVICE_LOCKED: Log.d(TAG, "Device is locked : " + userId); break; case EVENT_DEVICE_UNLOCKED: Log.d(TAG, "Device is unlocked : " + userId); break; case EVENT_KEYGUARD_SET: Log.d(TAG, "UCM Keyguard is set : " + userId); break; case EVENT_KEYGUARD_UNSET: Log.d(TAG, "UCM Keyguard is unset : " + userId); break; default: Log.d(TAG, " Event ID: " + eventId); } return 0; } |
API level 20 |
KNOX 2.7 |
Global Scope |
API to set information in Credential Storage. Implementation of this API is optional.
adminUid | MDM uid |
---|---|
userId | user Id |
args | plugin specific properties |
Some Credential Storage has each plugin specific properties like PIN timeout.
Configurator can manage plugin properties using this API.
public Bundle setCredentialStorageProperty(int adminUid, String userId, Bundle extra) {
int pinCacheOption = extra.getInt( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to set Keyguard maximum Pin Length.
maximumPinLength | max length of PIN |
---|
PLUGIN_ERROR_CODE
This API will be called to set condition about length of PIN. When user changes PIN, user should follow this condition about minimumPinLength, maximumPinLength.
public Bundle setKeyguardPinMaximumLength(int maximumPinLength) { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API to set Keyguard Pin maximum retry count.
retryCount | PIN retry count |
---|
PLUGIN_ERROR_CODE
This API will be called to set condition about maximum RetryCount. Whenever user inputs wrong pin, RetryCount is reduced. If retrycount is 0, CredentialStorage is blocked.
public Bundle setKeyguardPinMaximumRetryCount(int retryCount) { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API to set Keyguard minimum Pin Length.
minimumPinLength | min length of PIN |
---|
PLUGIN_ERROR_CODE
This API will be called to set condition about length of PIN. When user changes PIN, user should follow this condition about minimumPinLength, maximumPinLength.
public Bundle setKeyguardPinMinimumLength(int minimumPinLength) { Bundle pluginResponse = new Bundle(); pluginResponse.putInt( |
API level 37 |
KNOX 3.10 |
Global Scope |
API to set state of Credential Storage. Implementation of this API is optional.
state | STATE_LOCKED or STATE_UNLOCKED or STATE_BLOCKED |
---|
PLUGIN_ERROR_CODE
API to set state of Credential Storage. It is not called in UCM framework and basically this plugin service is protected
by System permission "com.samsung.android.knox.permission.KNOX_UCM_BIND_PLUGIN_SERVICE".
public Bundle setState(int state) { Bundle pluginResponse = new Bundle(); pluginResponse.putBoolean( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to unwrap wrapped key that wrapped and stored in device. Implementation of this API is madatory to support UCM ODE to store (wrapped) DEK on the device side.
wrappedDek | wrapped device encryption key stored in device |
---|
API to unwrap key that wrapped and stored in device. The wrapped key returned by
public Bundle unwrapDek(byte[] wrappedDek) { Bundle pluginResponse = new Bundle(); byte[] unwrapped_dek = unwrapDek(wrappedDek); pluginResponse.putByteArray( |
API level 22 |
Knox 2.8 |
Global Scope |
API to verify input PIN and return current state and remaining retry count. Implementation of this API is madatory to support UCM Keyguard or UCM ODE.
userId | user Id |
---|---|
pin | entered PIN |
extra | reserved |
LOCK_STATE
, REMAIN_COUNT
, PLUGIN_ERROR_CODE
API is to verify input PIN and updates the current state and returns the state and remaining retry count of Credential Storage.
It will be called in UCM Keyguard(registration / unlock device) and ODE(device encryption /decryption) scenario.
Return bundle should include
public Bundle verifyPin(int userId, String pin, Bundle extra) { Bundle pluginResponse = new Bundle(); int remaining_count = 5; pluginResponse.putInt( |
API level 20 |
KNOX 2.7 |
Global Scope |
API to verify the PUK and update new pin to be used for verification. Implementation of this API is optional.
puk | entered PUK |
---|---|
pin | entered PIN |
LOCK_STATE
, REMAIN_COUNT
, PLUGIN_ERROR_CODE
This API will be called when PIN has expired. It is to verify the PUK, update new PIN and lock state,
return the state and remaining retry count of the Credential Storage.
It will be called in UCM Keyguard(registration / unlock device) and ODE(device encryption /decryption) scenario. |
public Bundle verifyPuk(String puk, String pin) { Bundle pluginResponse = new Bundle(); int remaining_count = 5; pluginResponse.putInt( |
API level 20 |
KNOX 2.7 |
Global Scope |