You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
add stub AndroidKeyStore security provider
This commit is contained in:
@@ -60,6 +60,8 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.security.Provider;
|
||||||
|
import java.security.Security;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -126,6 +128,10 @@ public class Context extends Object {
|
|||||||
application_info.sourceDir = native_get_apk_path();
|
application_info.sourceDir = native_get_apk_path();
|
||||||
package_manager = new PackageManager();
|
package_manager = new PackageManager();
|
||||||
|
|
||||||
|
Provider provider = new Provider("AndroidKeyStore", 1.0, "Android KeyStore provider") {};
|
||||||
|
provider.put("KeyStore.AndroidKeyStore", "android.security.keystore.AndroidKeyStore");
|
||||||
|
Security.addProvider(provider);
|
||||||
|
|
||||||
r.applyPackageQuirks(application_info.packageName);
|
r.applyPackageQuirks(application_info.packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
120
src/api-impl/android/security/keystore/AndroidKeyStore.java
Normal file
120
src/api-impl/android/security/keystore/AndroidKeyStore.java
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
package android.security.keystore;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.security.Key;
|
||||||
|
import java.security.KeyStoreException;
|
||||||
|
import java.security.KeyStoreSpi;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.security.UnrecoverableKeyException;
|
||||||
|
import java.security.cert.Certificate;
|
||||||
|
import java.security.cert.CertificateException;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class AndroidKeyStore extends KeyStoreSpi {
|
||||||
|
|
||||||
|
HashMap<String, String> map = new HashMap<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Key engineGetKey(String alias, char[] password) throws NoSuchAlgorithmException, UnrecoverableKeyException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineGetKey'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Certificate[] engineGetCertificateChain(String alias) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
System.out.println("engineGetCertificateChain(" + alias + ") called");
|
||||||
|
return new Certificate[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Certificate engineGetCertificate(String alias) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineGetCertificate'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date engineGetCreationDate(String alias) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineGetCreationDate'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)
|
||||||
|
throws KeyStoreException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineSetKeyEntry'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineSetKeyEntry'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void engineSetCertificateEntry(String alias, Certificate cert) throws KeyStoreException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineSetCertificateEntry'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void engineDeleteEntry(String alias) throws KeyStoreException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineDeleteEntry'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Enumeration<String> engineAliases() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineAliases'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean engineContainsAlias(String alias) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
System.out.println("engineContainsAlias(" + alias + ") called");
|
||||||
|
return map.containsKey(alias);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int engineSize() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineSize'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean engineIsKeyEntry(String alias) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineIsKeyEntry'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean engineIsCertificateEntry(String alias) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineIsCertificateEntry'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String engineGetCertificateAlias(Certificate cert) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineGetCertificateAlias'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void engineStore(OutputStream stream, char[] password)
|
||||||
|
throws IOException, NoSuchAlgorithmException, CertificateException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
throw new UnsupportedOperationException("Unimplemented method 'engineStore'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void engineLoad(InputStream stream, char[] password)
|
||||||
|
throws IOException, NoSuchAlgorithmException, CertificateException {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -354,6 +354,7 @@ srcs = [
|
|||||||
'android/provider/CalendarContract.java',
|
'android/provider/CalendarContract.java',
|
||||||
'android/provider/ContactsContract.java',
|
'android/provider/ContactsContract.java',
|
||||||
'android/provider/Settings.java',
|
'android/provider/Settings.java',
|
||||||
|
'android/security/keystore/AndroidKeyStore.java',
|
||||||
'android/service/media/MediaBrowserService.java',
|
'android/service/media/MediaBrowserService.java',
|
||||||
'android/telecom/ConnectionService.java',
|
'android/telecom/ConnectionService.java',
|
||||||
'android/telecom/TelecomManager.java',
|
'android/telecom/TelecomManager.java',
|
||||||
|
|||||||
Reference in New Issue
Block a user