在 Android 上生成和导出 RSA 密钥对

Chr*_*ton 3 android rsa kotlin

我正在尝试在 Android 上生成一个 KeyPair 并将公钥导出为一个字符串,因此它的格式为 -

-----BEGIN RSA PUBLIC KEY-----MIIB...

我使用以下方法成功生成了 KeyPair -

fun generateKeyPair(): KeyPair {
    val generator = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA)

    generator.initialize(2048, SecureRandom())
    val keypair = generator.genKeyPair()
    return keypair
}

val keypair = generateKeyPair()

Log.d("Keypair", keypair.public.toString())
Run Code Online (Sandbox Code Playgroud)

但这给了我 -

OpenSSLRSAPublicKey{modulus=e0a6a5a...
Run Code Online (Sandbox Code Playgroud)

有谁知道我如何以上述格式导出密钥?

Chr*_*ton 7

对于遇到此问题的任何其他人,答案是-

val keyText = Base64.encodeToString(keypair.public.encoded, Base64.DEFAULT)
Run Code Online (Sandbox Code Playgroud)