mirror of https://git.sr.ht/~oppen/ariane
33 lines
1.0 KiB
Kotlin
33 lines
1.0 KiB
Kotlin
|
package oppen.ariane.io.keymanager
|
||
|
|
||
|
import android.R
|
||
|
import android.content.Context
|
||
|
import java.io.ByteArrayInputStream
|
||
|
import java.io.InputStream
|
||
|
import java.security.KeyStore
|
||
|
import javax.net.ssl.KeyManagerFactory
|
||
|
|
||
|
|
||
|
class ArianeKeyManager {
|
||
|
|
||
|
//todo - add other methods to update state
|
||
|
|
||
|
//If the user has a key loaded load it here - or else return null
|
||
|
fun getFactory(): KeyManagerFactory? {
|
||
|
val hasLoadedKey = false
|
||
|
return when {
|
||
|
hasLoadedKey -> {
|
||
|
val keyStore: KeyStore = KeyStore.getInstance("BKS")
|
||
|
val inputStream: InputStream = ByteArrayInputStream("dummy".toByteArray())
|
||
|
keyStore.load(inputStream, "yourKeyStorePassword".toCharArray())
|
||
|
inputStream.close()
|
||
|
|
||
|
val keyManagerFactory: KeyManagerFactory = KeyManagerFactory.getInstance("X509")
|
||
|
keyManagerFactory.init(keyStore, "yourKeyStorePassword".toCharArray())
|
||
|
|
||
|
keyManagerFactory
|
||
|
}
|
||
|
else -> null
|
||
|
}
|
||
|
}
|
||
|
}
|