【问题标题】:Android SecretKey AES and JWK : How to convertAndroid SecretKey AES 和 JWK:如何转换
【发布时间】:2021-02-14 12:42:55
【问题描述】:

我有一个需要共享 AES 私钥的应用。 (他们被包裹)。 服务器将以 JWK 格式发送和接收密钥。

目前,在 android 中我可以像这样生成 AES KEY:

public SecretKey  generate() throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException {
        KeyGenerator keyGenerator  = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore");
        KeyGenParameterSpec keyGenParameter = new KeyGenParameterSpec.Builder("MyKeyAlias", KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
              .setBlockModes(KeyProperties.BLOCK_MODE_GCM)
              .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
              .build();
        keyGenerator.init(keyGenParameter);
        return keyGenerator.generateKey();

    }

有没有一种简单的方法可以将 SecretKey 转换为 JWK 格式?反之亦然

如果没有,我在 SecretKey 类中看到了 getEncoded() 方法。 How to export symmetric encryption key?

也许我需要创建自己的类来进行转换

谢谢

【问题讨论】:

标签: java aes jwk


【解决方案1】:

我决定创建自己的 JWK 类。 我使用 GSON 库来解析/字符串化 JSON。

另一种解决方案:

@jps 建议使用这个库 connect2id.com/products/nimbus-jose-jwt/examples/jwk-generation

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 2021-08-20
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    相关资源
    最近更新 更多