private void tryKeyTrans( string macAlg) { byte[] data = Encoding.ASCII.GetBytes("Eric H. Echidna"); CmsAuthenticatedDataStreamGenerator adGen = new CmsAuthenticatedDataStreamGenerator(); adGen.AddKeyTransRecipient(ReciCert); MemoryStream bOut = new MemoryStream(); Stream aOut = adGen.Open(bOut, macAlg); aOut.Write(data, 0, data.Length); aOut.Close(); CmsAuthenticatedDataParser ad = new CmsAuthenticatedDataParser(bOut.ToArray()); RecipientInformationStore recipients = ad.GetRecipientInfos(); Assert.AreEqual(ad.MacAlgOid, macAlg); ICollection c = recipients.GetRecipients(); Assert.AreEqual(1, c.Count); foreach (RecipientInformation recipient in c) { Assert.AreEqual(recipient.KeyEncryptionAlgOid, PkcsObjectIdentifiers.RsaEncryption.Id); byte[] recData = recipient.GetContent(ReciKP.Private); Assert.IsTrue(Arrays.AreEqual(data, recData)); Assert.IsTrue(Arrays.AreEqual(ad.GetMac(), recipient.GetMac())); } }