【问题标题】:How to convert java.security.PrivateKey to JWK (JSON) format in Android?如何在 Android 中将 java.security.PrivateKey 转换为 JWK (JSON) 格式?
【发布时间】:2022-11-28 16:21:28
【问题描述】:
我看过一些将 java.security.PublicKey 转换为 JWK 的示例,但我找不到在 Android 中将 java.security.PrivateKey 转换为 JWK (JSON) 格式的示例。这可能吗?有没有办法在不使用任何 3rd 方库的情况下做到这一点?
期望 Java/Kotlin 中的函数将 PrivateKey 转换为 JSON (JWK) 格式。
【问题讨论】:
标签:
android
security
jwt
android-security
jwk
【解决方案1】:
生成 RSA 密钥对
KeyPairGenerator gen = KeyPairGenerator.getInstance("RSA");
gen.initialize(2048);
KeyPair keyPair = gen.generateKeyPair();
转换成JWK格式
JWK jwk = new RSAKey.Builder((RSAPublicKey)keyPair.getPublic())
.privateKey((RSAPrivateKey)keyPair.getPrivate())
.keyUse(KeyUse.SIGNATURE)
.keyID(UUID.randomUUID().toString())
.build();