私はサンプルのJava Android Pay ProcessingコードをC#に翻訳することを検討してきました。サンプルのJavaコードは次のとおりです。https://developers.google.com/android-pay/integration/gateway-processor-integrationBouncycastle HKDFBytesGeneratorのC#相当ですか?
BouncyCastleのC#ドキュメントを解析すると、ほとんどのJava BouncyCastleコードと同等のものが見つかりました。しかし、私はHKDFBytesGeneratorとHKDFParametersをC#ライブラリの一部として見つけることができず、BaseKDFBytesGeneratorは正しいencryptionKeyとmacKeyを生成しませんでした。
BouncyCastle C#ライブラリで適切なHKDF置換を知っている人はいますか?または存在しない場合は、.NETの暗号化ライブラリまたはその他の.NET暗号化ライブラリに置き換える方法を教えてください。
編集:参考のために、私は苦労していたコードはここにある:外部ライブラリへのさらなる研究の際
// Deriving encryption and mac keys.
HKDFBytesGenerator hkdfBytesGenerator = new HKDFBytesGenerator(new SHA256Digest());
byte[] khdfInput = ByteUtils.concatenate(ephemeralPublicKeyBytes, sharedSecret);
hkdfBytesGenerator.init(new HKDFParameters(khdfInput, HKDF_SALT, HKDF_INFO));
byte[] encryptionKey = new byte[SYMMETRIC_KEY_BYTE_COUNT];
hkdfBytesGenerator.generateBytes(encryptionKey, 0, SYMMETRIC_KEY_BYTE_COUNT);
byte[] macKey = new byte[MAC_KEY_BYTE_COUNT];
hkdfBytesGenerator.generateBytes(macKey, 0, MAC_KEY_BYTE_COUNT);