2016-07-11 16 views
1

私はサンプルの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);

答えて