Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi AndroidKeystore mithilfe des JNIs nutzen (https://www.delphipraxis.net/204448-androidkeystore-mithilfe-des-jnis-nutzen.html)

max Bauermann 29. Mai 2020 10:48

AndroidKeystore mithilfe des JNIs nutzen
 
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()


Delphi-Quellcode:
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;
Delphi-Quellcode:
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.

Delphi-Quellcode:
LJBuilder := TJKeyGenParameterSpec_Builder.JavaClass.init(StringToJString('Test'), 1);


Wie kann ich denn nun eine Instanz des JKeyGenParameterSpec_Builder erstellen?

max Bauermann 2. Jun 2020 08:36

AW: AndroidKeystore mithilfe des JNIs nutzen
 
/push

TurboMagic 2. Jun 2020 21:08

AW: AndroidKeystore mithilfe des JNIs nutzen
 
Falls du Subscription hast evtl. mal ein Supportticket nutzen und EMBT selber befragen, falls hier nichts kommen solle.
Evtl. sehen die was in deinem Code?

max Bauermann 9. Jun 2020 12:19

AW: AndroidKeystore mithilfe des JNIs nutzen
 
Habe ich schon gemacht, aber Embarcadero lässt sich Zeit...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz