| java.lang.Object | |||||
| ↳ | java.util.Dictionary<K, V> | ||||
| ↳ | java.util.Hashtable<K, V> | ||||
| ↳ | java.util.Properties | ||||
| ↳ | java.security.Provider | ||||
| ↳ | com.samsung.android.knox.ucm.plugin.agent.UcmAgentProviderImpl | ||||
This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.
| API level 20 |
| KNOX 2.7 |
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| UcmAgentProviderImpl.UcmAgentCipherSpi | This class provides API's extended from CipherSpi. | ||||||||||
| UcmAgentProviderImpl.UcmAgentKeyAgreementSpi | This class provides API's extended from KeyAgreementSpi. | ||||||||||
| UcmAgentProviderImpl.UcmAgentKeyGeneratorSpi | This class provides API's extended from KeyGeneratorSpi. | ||||||||||
| UcmAgentProviderImpl.UcmAgentKeyPairGeneratorSpi | This class provides API's extended from KeyPairGeneratorSpi. | ||||||||||
| UcmAgentProviderImpl.UcmAgentKeyStoreSpi | This class provides API's extended from KeyStoreSpi. | ||||||||||
| UcmAgentProviderImpl.UcmAgentMacSpi | This class provides API's extended from MacSpi If vendor wants to support Mac as JCE, plugin application should implement this Spi and add as Service Provider. | ||||||||||
| UcmAgentProviderImpl.UcmAgentSecureRandomSpi | This class provides API's extended from SecureRandomSpi. | ||||||||||
| UcmAgentProviderImpl.UcmAgentSignatureSpi | This class provides API's extended from SignatureSpi. | ||||||||||
| UcmAgentProviderImpl.UcmAgentSpiProperty | This interface provide API's and constants which is implemented by UCM SPI classes. | ||||||||||
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| String | CIPHER | Cipher type | |||||||||
| String | CIPHER_RSA_ECB_PKCS1PADDING | Cipher Algorithm | |||||||||
| String | KEYGENERATOR | KeyGenerator type | |||||||||
| String | KEYPAIRGENERATOR | KeyPairGenerator type | |||||||||
| String | KEYPAIRGENERATOR_RSA | KeyPairGenerator Algorithm | |||||||||
| String | KEYSTORE | KeyStore type | |||||||||
| String | KEYSTORE_TYPE | KeyStore | |||||||||
| String | MAC | Mac type | |||||||||
| String | SECURERANDOM | SecureRandom type | |||||||||
| String | SECURERANDOM_SHA1PRNG | SecureRandom Algorithm | |||||||||
|
[Expand]
Inherited Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.util.Properties
| |||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new instance of
Provider with its name, version and description. | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
API to register UCM Service Provider class with Security Provider.
| |||||||||||
API to remove UCM SPI service class from provider.
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.security.Provider
| |||||||||||
From class
java.util.Properties
| |||||||||||
From class
java.util.Hashtable
| |||||||||||
From class
java.util.Dictionary
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.util.Map
| |||||||||||
Cipher type
| API level 20 |
| KNOX 2.7 |
Cipher Algorithm
| API level 20 |
| KNOX 2.7 |
KeyGenerator type
| API level 37 |
| KNOX 3.10 |
KeyPairGenerator type
| API level 20 |
| KNOX 2.7 |
KeyPairGenerator Algorithm
| API level 20 |
| KNOX 2.7 |
KeyStore type
| API level 20 |
| KNOX 2.7 |
KeyStore
| API level 20 |
| KNOX 2.7 |
Mac type
| API level 37 |
| KNOX 3.10 |
SecureRandom type
| API level 20 |
| KNOX 2.7 |
SecureRandom Algorithm
| API level 20 |
| KNOX 2.7 |
Constructs a new instance of Provider with its name, version and description.
| API level 20 |
| KNOX 2.7 |
API to register UCM Service Provider class with Security Provider.
| service | Provider Service |
|---|
To support JCE operation, plugin application should register Provider Service and SPI, and the SPI should be extended by UcmAgentCipherSpi, UcmAgentKeyPairGeneratorSpi, UcmAgentKeyStoreSpi or UcmAgentSecureRandomSpi. Plugin application can use this API to add UCM extended SPI and Provider Service to UCM framework.
public class VendorPluginService extends UcmAgentService {
private void initializeProvider() {
UcmAgentProviderImpl providerImpl = (UcmAgentProviderImpl) getProvider();
// KeyStore
VendorKeyStoreProviderService serviceKeyStoreProvider = new VendorKeyStoreProviderService(providerImpl, UcmAgentProviderImpl.KEYSTORE, UcmAgentProviderImpl.KEYSTORE_TYPE, VendorKeyStoreSpi.class.getName(), getApplicationContext());
providerImpl.putServiceImpl(serviceKeyStoreProvider);
// Cipher
VendorCipherProviderService serviceCipherProvider = new VendorCipherProviderService(providerImpl, UcmAgentProviderImpl.CIPHER, CIPHER_RSA_ECB_PKCS1PADDING, VendorCipherSpi.class.getName(), getApplicationContext());
providerImpl.putServiceImpl(serviceCipherProvider);
// KeyPairGenerator
VendorKeyPairGeneratorService serviceKeyPairProvider = new VendorKeyPairGeneratorService(providerImpl, UcmAgentProviderImpl.KEYPAIRGENERATOR, "RSA", VendorKeyPairGeneratorSpi.class.getName(), getApplicationContext());
providerImpl.putServiceImpl(serviceKeyPairProvider);
// SecureRandom
VendorSecureRandomService serviceSecureRandomProvider = new VendorSecureRandomService(providerImpl, UcmAgentProviderImpl.SECURERANDOM, "SHA1PRNG", VendorSecureRandomSpi.class.getName(), getApplicationContext());
providerImpl.putServiceImpl(serviceSecureRandomProvider);
}
}
Note: All SPI and Provider Service class are implemented by plugin vendor. |
| API level 20 |
| KNOX 2.7 |
| Global Scope |
API to remove UCM SPI service class from provider.
| service | Provider Service |
|---|
API to remove UCM SPI service class from provider. To perform a particular operation, plugin application can use this API to remove Provider Service.
public class VendorPluginService extends UcmAgentService {
private void initializeProvider() {
UcmAgentProviderImpl providerImpl = (UcmAgentProviderImpl) getProvider();
// KeyStore
Provider.Service serviceKeyStoreProvider = providerImpl.getService(UcmAgentProviderImpl.KEYSTORE, UcmAgentProviderImpl.KEYSTORE_TYPE);
providerImpl.removeServiceImpl(serviceKeyStoreProvider);
// Cipher
Provider.Service serviceCipherProvider = providerImpl.getService(UcmAgentProviderImpl.CIPHER, CIPHER_RSA_ECB_PKCS1PADDING);
providerImpl.removeServiceImpl(serviceCipherProvider);
// KeyPairGenerator
Provider.Service serviceKeyPairProvider = providerImpl.getService(UcmAgentProviderImpl.KEYPAIRGENERATOR, "RSA");
providerImpl.removeServiceImpl(serviceKeyPairProvider);
// SecureRandom
Provider.Service serviceSecureRandomProvider = providerImpl.getService(UcmAgentProviderImpl.SECURERANDOM, "SHA1PRNG");
providerImpl.removeServiceImpl(serviceSecureRandomProvider);
}
}
|
| API level 20 |
| KNOX 2.7 |
| Global Scope |