public static abstract class

UcmAgentProviderImpl.UcmAgentKeyGeneratorSpi

extends KeyGeneratorSpi
implements UcmAgentProviderImpl.UcmAgentSpiProperty
java.lang.Object
   ↳ javax.crypto.KeyGeneratorSpi
     ↳ com.samsung.android.knox.ucm.plugin.agent.UcmAgentProviderImpl.UcmAgentKeyGeneratorSpi

Class Overview

This class provide API's extended from KeyGeneratorSpi. If vendor want to support KeyGenerator as JCE, plugin application should implement this Spi and add as Service Provider.

Since
API level 37
KNOX 3.10

Summary

[Expand]
Inherited Constants
From interface com.samsung.android.knox.ucm.plugin.agent.UcmAgentProviderImpl.UcmAgentSpiProperty
Public Constructors
UcmAgentKeyGeneratorSpi()
Public Methods
abstract SecretKey engineGenerateKey()
Standard KeyGenerator API.
abstract void engineInit(AlgorithmParameterSpec params, SecureRandom random)
Standard KeyGenerator API.
Bundle getProperty()
API to get the properties set by UCM framework during SPI call.
void setErrorCode(int error)
API to set the error code(if any) which will be forwarded to calling application via UCM framework.
Protected Methods
void engineInit(SecureRandom random)
Standard KeyGenerator API.
void engineInit(int keysize, SecureRandom random)
Standard KeyGenerator API.
[Expand]
Inherited Methods
From class javax.crypto.KeyGeneratorSpi
From class java.lang.Object
From interface com.samsung.android.knox.ucm.plugin.agent.UcmAgentProviderImpl.UcmAgentSpiProperty

Public Constructors

public UcmAgentKeyGeneratorSpi ()

Since: API level 37

Public Methods

public abstract SecretKey engineGenerateKey ()

Since: API level 37

Standard KeyGenerator API.

Since
API level 37
KNOX 3.10

public abstract void engineInit (AlgorithmParameterSpec params, SecureRandom random)

Since: API level 37

Standard KeyGenerator API.

Since
API level 37
KNOX 3.10

public Bundle getProperty ()

Since: API level 37

API to get the properties set by UCM framework during SPI call.

Returns
  • Bundle Bundle calling applicaiton information
Usage

To perform crypto operation properly, plugin application should know caller information. Plugin application can use this API to get caller user Id, resource Id, caller application Uid and owner Id

 public class SimpleUcmAgentKeyGeneratorSpi extends UcmAgentProviderImpl.UcmAgentKeyGeneratorSpi {
   public SimpleUcmAgentKeyGeneratorSpi(Context ctx, String algorithm) {
     Bundle bundle = getProperty();
     int userId = bundle.getInt(UcmAgentSpiProperty.KEY_USER_ID, -1));
     int resourceId = bundle.getInt(UcmAgentSpiProperty.KEY_RESOURCE_ID , -1));
     int callerId = bundle.getInt(UcmAgentSpiProperty.KEY_CALLER_UID , -1));
   }
 }
 
Since
API level 37
KNOX 3.10
Multiuser Environment
Global Scope

public void setErrorCode (int error)

Since: API level 37

API to set the error code(if any) which will be forwarded to calling application via UCM framework.

 public class SimpleUcmAgentKeyGeneratorSpi extends UcmAgentProviderImpl.UcmAgentKeyGeneratorSpi {
   public void generateKey() {
     ...
     setErrorCode(UcmAgentService.ERROR_EMPTY_PARAMETER);
     ...
   }
 }
 

Parameters
error Error code
Since
API level 37
KNOX 3.10
Multiuser Environment
Global Scope

Protected Methods

protected void engineInit (SecureRandom random)

Since: API level 37

Standard KeyGenerator API.

Since
API level 37
KNOX 3.10

protected void engineInit (int keysize, SecureRandom random)

Since: API level 37

Standard KeyGenerator API.

Since
API level 37
KNOX 3.10