以下の Java コードを C# に移植しようとしていますが、これに相当するものを特定するのに苦労しています。
SecretKey skey
SecretKeySpec skey_spec
IvParameterSpec iv_spec
KeyPair rsaKey
KeyGenerator kgen
誰かが私を助けてくれれば幸いです...
package entry;
public class Encrypt {
SecretKey skey;
SecretKeySpec skey_spec;
byte[] iv;
IvParameterSpec iv_spec;
KeyPair rsaKey;
Random random;
public Encrypt() {
random = new Random();
}
public void initAES() {
System.out.println("Initializing AES Keys...");
KeyGenerator kgen = null;
try {
kgen = KeyGenerator.getInstance("AES");
} catch(NoSuchAlgorithmException nsae) {
nsae.printStackTrace();
}
kgen.init(256);
// Generate the secret key specs.
skey = kgen.generateKey();
byte[] raw = skey.getEncoded();
skey_spec = new SecretKeySpec(raw, "AES");
iv = new byte[16];
random.nextBytes(iv);
iv_spec = new IvParameterSpec(iv);
}
}
C# での UPDATE 試行:
private byte[] _secretKey_iv;
private byte[] _secretKey;
private void GenerateKey()
{
RijndaelManaged myAES = new RijndaelManaged();
myAES.KeySize = 256;
myAES.GenerateIV();
myAES.GenerateKey();
_secretKey_iv = myAES.IV;
_secretKey = myAES.Key;
}
更新#2:
KeyGenerator kgen
SecretKeySpec skey_spec
IvParameterSpec iv_spec
生成された AES キーから仕様を取得する方法がまだわかりません。それを行う方法を理解する助けをいただければ幸いです。それが KeyGenerator の正しい変換であるかどうかはまだわかりません。
KeyGenerator は BouncyCastleProvider の一部ですか?