秘密 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()メソッドを見ました。対称暗号化キーをエクスポートするには?
たぶん、変換を行うために独自のクラスを作成する必要があります
ありがとう