bouncycastleを使用して、任意の長さのメッセージを非対称的に暗号化しようとしています。(C#で1.4+)
これは私が今持っているコードです。データ自体がランダムキーを使用してAES256で暗号化され、キーがからの公開キーで暗号化されているCMSメッセージを生成することになっています(ただし、生成されません)keyPair
。
keyPair
RSAキー(RsaKeyParameters)です
public static byte[] Encrypt(byte[] input, AsymmetricCipherKeyPair keyPair)
{
CmsEnvelopedDataGenerator generator = new CmsEnvelopedDataGenerator();
// those two lines are certainly wrong.
// I have no idea what the subKeyID parameter does
byte[] subKeyId = new byte[] {};
generator.AddKeyTransRecipient(keyPair.Public, subKeyId);
CmsProcessableByteArray cmsByteArray = new CmsProcessableByteArray(input);
CmsEnvelopedData envelopeData =
generator.Generate(cmsByteArray, CmsEnvelopedDataGenerator.Aes256Cbc);
return envelopeData.GetEncoded();
}
subKeyId
メソッドのパラメータは何ですかEncrypt
?また、どのような値が必要ですか?