protected override EncryptedHeader EncryptHeader(MessageHeader plainTextHeader, SymmetricAlgorithm algorithm, SecurityKeyIdentifier keyIdentifier, MessageVersion version, string id, MemoryStream stream) { EncryptedHeaderXml headerXml = new EncryptedHeaderXml(version) { SecurityTokenSerializer = base.StandardsManager.SecurityTokenSerializer, EncryptionMethod = base.EncryptionAlgorithm, EncryptionMethodDictionaryString = base.EncryptionAlgorithmDictionaryString, KeyIdentifier = keyIdentifier, Id = id, MustUnderstand = this.MustUnderstand, Relay = this.Relay, Actor = this.Actor }; headerXml.SetUpEncryption(algorithm, stream); return(new EncryptedHeader(plainTextHeader, headerXml, EncryptedHeaderXml.ElementName.Value, EncryptedHeaderXml.NamespaceUri.Value, version)); }
protected override EncryptedHeader EncryptHeader(MessageHeader plainTextHeader, SymmetricAlgorithm algorithm, SecurityKeyIdentifier keyIdentifier, MessageVersion version, string id, MemoryStream stream) { // We are not reading EncryptedData from the wire here, hence pass false. EncryptedHeaderXml encryptedHeaderXml = new EncryptedHeaderXml(version, false); encryptedHeaderXml.SecurityTokenSerializer = this.StandardsManager.SecurityTokenSerializer; encryptedHeaderXml.EncryptionMethod = this.EncryptionAlgorithm; encryptedHeaderXml.EncryptionMethodDictionaryString = this.EncryptionAlgorithmDictionaryString; encryptedHeaderXml.KeyIdentifier = keyIdentifier; encryptedHeaderXml.Id = id; // The Encrypted Headers MustUnderstand, Relay and Actor attributes will always match the // Security Headers value. The values for these on the Encrypted Header and its decrypted // form can be different. encryptedHeaderXml.MustUnderstand = this.MustUnderstand; encryptedHeaderXml.Relay = this.Relay; encryptedHeaderXml.Actor = this.Actor; encryptedHeaderXml.SetUpEncryption(algorithm, stream); return new EncryptedHeader(plainTextHeader, encryptedHeaderXml, EncryptedHeaderXml.ElementName.Value, EncryptedHeaderXml.NamespaceUri.Value, version); }
protected override EncryptedHeader EncryptHeader(MessageHeader plainTextHeader, SymmetricAlgorithm algorithm, SecurityKeyIdentifier keyIdentifier, MessageVersion version, string id, MemoryStream stream) { // We are not reading EncryptedData from the wire here, hence pass false. EncryptedHeaderXml encryptedHeaderXml = new EncryptedHeaderXml(version, false); encryptedHeaderXml.SecurityTokenSerializer = this.StandardsManager.SecurityTokenSerializer; encryptedHeaderXml.EncryptionMethod = this.EncryptionAlgorithm; encryptedHeaderXml.EncryptionMethodDictionaryString = this.EncryptionAlgorithmDictionaryString; encryptedHeaderXml.KeyIdentifier = keyIdentifier; encryptedHeaderXml.Id = id; // The Encrypted Headers MustUnderstand, Relay and Actor attributes will always match the // Security Headers value. The values for these on the Encrypted Header and its decrypted // form can be different. encryptedHeaderXml.MustUnderstand = this.MustUnderstand; encryptedHeaderXml.Relay = this.Relay; encryptedHeaderXml.Actor = this.Actor; encryptedHeaderXml.SetUpEncryption(algorithm, stream); return(new EncryptedHeader(plainTextHeader, encryptedHeaderXml, EncryptedHeaderXml.ElementName.Value, EncryptedHeaderXml.NamespaceUri.Value, version)); }