Hallo Delphi-Nutzer,
ich versuche gerade in einer Android-App SecretKeys mit dem "AndroidKeyStore" und in ihm zu speichern.
https://developer.android.com/refere...urity/KeyStore
Dazu musste ich noch einige JavaKlassen in dem JNI hinzufügen, unter anderem den "KeyGenParameterSpec.Builder", eine nested JavaClass, die ich dazu benötige einen KeyGenParameterSpec zu erstellen, welchen ich dann wiederum brauche um einen KeyGenerator zu initialisieren.
https://developer.android.com/refere...uilder#build()
JKeyGenParameterSpec_Builder = interface;//android.security.keystore.KeyGenParameterSpec.Builder
Delphi-Quellcode:
JKeyGenParameterSpec_BuilderClass = interface(JObjectClass)
['{330936BA-6D39-4EC5-9A7D-16D23DA8AEDB}']
{class} function init(keystoreAlias: JString; purposes: Int64): JKeyGenParameterSpec_Builder; cdecl;
end;
[JavaSignature('android/security/keystore/KeyGenParameterSpec$Builder')]
JKeyGenParameterSpec_Builder = interface(JObject)
['{1E8F50CA-6D72-49AB-A5B1-7E1C7590BA23}']
procedure setKeySize(keysize: Int64); cdecl;
function build: JKeyGenParameterSpec; cdecl;
end;
TJKeyGenParameterSpec_Builder = class(TJavaGenericImport<JKeyGenParameterSpec_BuilderClass, JKeyGenParameterSpec_Builder>) end;
TRegTypes.RegisterType('Androidapi.JNI.Java.Security.JKeyGenParameterSpec_Builder', TypeInfo(Androidapi.JNI.Java.Security.JKeyGenParameterSpec_Builder));
Nun bekomme ich jedoch immer beim .init() Aufruf (welcher immer die Java create function aufrufen sollte) eine Invoke-
Exception dass diese Methode nicht existieren soll.
LJBuilder := TJKeyGenParameterSpec_Builder.JavaClass.init(StringToJString('Test'), 1);
Wie kann ich denn nun eine Instanz des JKeyGenParameterSpec_Builder erstellen?