Sub GenerateAndStoreKey
Dim ks As JavaObject
ks.InitializeStatic("java.security.KeyStore")
ks = ks.RunMethod("getInstance", Array("AndroidKeyStore"))
ks.RunMethod("load", Null) ' 🔥 التعديل هنا
Dim keyGen As JavaObject
keyGen.InitializeStatic("javax.crypto.KeyGenerator")
keyGen = keyGen.RunMethod("getInstance", Array("AES", "AndroidKeyStore"))
Dim purpose As Int = Bit.Or(1, 2) ' KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT
Dim builder As JavaObject
builder.InitializeNewInstance("android.security.keystore.KeyGenParameterSpec$Builder", Array("MySecureKey", purpose))
Dim modes As Object = Array As String("GCM")
Dim paddings As Object = Array As String("NoPadding")
builder.RunMethod("setBlockModes", Array(modes))
builder.RunMethod("setEncryptionPaddings", Array(paddings))
builder.RunMethod("setKeySize", Array(256))
Dim spec As JavaObject = builder.RunMethod("build", Null)
keyGen.RunMethod("init", Array(spec))
keyGen.RunMethod("generateKey", Null)
End Sub
Sub GetSecretKey As JavaObject
Dim ks As JavaObject
ks.InitializeStatic("java.security.KeyStore")
ks = ks.RunMethod("getInstance", Array("AndroidKeyStore"))
ks.RunMethod("load", Null)
Dim key As JavaObject = ks.RunMethod("getKey", Array("MySecureKey", Null))
If key.IsInitialized Then
Return key
Else
Log("Key not found!")
Return Null
End If
End Sub