Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / WSSecurityOneDotOneSendSecurityHeader.cs / 1 / WSSecurityOneDotOneSendSecurityHeader.cs
//---------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System.Collections.Generic; using System.ServiceModel.Channels; using System.ServiceModel; using System.ServiceModel.Description; using System.Diagnostics; using System.IO; using System.IdentityModel.Tokens; using System.Security.Cryptography; using System.ServiceModel.Security.Tokens; using System.Xml; using System.ServiceModel.Diagnostics; using ISignatureValueSecurityElement = System.IdentityModel.ISignatureValueSecurityElement; sealed class WSSecurityOneDotOneSendSecurityHeader : WSSecurityOneDotZeroSendSecurityHeader { public WSSecurityOneDotOneSendSecurityHeader(Message message, string actor, bool mustUnderstand, bool relay, SecurityStandardsManager standardsManager, SecurityAlgorithmSuite algorithmSuite, MessageDirection direction) : base(message, actor, mustUnderstand, relay, standardsManager, algorithmSuite, direction) { } protected override ISignatureValueSecurityElement[] CreateSignatureConfirmationElements(SignatureConfirmations signatureConfirmations) { if (signatureConfirmations == null || signatureConfirmations.Count == 0) { return null; } ISignatureValueSecurityElement[] result = new ISignatureValueSecurityElement[signatureConfirmations.Count]; for (int i = 0; i < signatureConfirmations.Count; ++i) { byte[] sigValue; bool isEncrypted; signatureConfirmations.GetConfirmation(i, out sigValue, out isEncrypted); result[i] = new SignatureConfirmationElement(this.GenerateId(), sigValue, this.StandardsManager.SecurityVersion); } return result; } protected override EncryptedHeader EncryptHeader(MessageHeader plainTextHeader, SymmetricAlgorithm algorithm, SecurityKeyIdentifier keyIdentifier, MessageVersion version, string id, MemoryStream stream) { EncryptedHeaderXml encryptedHeaderXml = new EncryptedHeaderXml(version); 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InputEventArgs.cs
- _ScatterGatherBuffers.cs
- DomNameTable.cs
- CLSCompliantAttribute.cs
- PatternMatcher.cs
- ValidationEventArgs.cs
- FontCollection.cs
- DoubleAnimation.cs
- Figure.cs
- DBAsyncResult.cs
- PrintDialog.cs
- IndexObject.cs
- BamlWriter.cs
- InternalResources.cs
- EffectiveValueEntry.cs
- ExtractorMetadata.cs
- SlipBehavior.cs
- X509RawDataKeyIdentifierClause.cs
- ActivationArguments.cs
- DesignerCatalogPartChrome.cs
- GridViewRow.cs
- safelinkcollection.cs
- PseudoWebRequest.cs
- SchemaElementDecl.cs
- SourceFilter.cs
- TreeIterators.cs
- XmlAtomicValue.cs
- JavaScriptSerializer.cs
- WaitHandle.cs
- CombinedGeometry.cs
- TextEditorTables.cs
- WindowsAuthenticationEventArgs.cs
- XmlArrayItemAttribute.cs
- DocumentViewerAutomationPeer.cs
- NavigationProperty.cs
- __Error.cs
- TableSectionStyle.cs
- Transform.cs
- OleDbError.cs
- MetadataItemEmitter.cs
- EditingCoordinator.cs
- FunctionUpdateCommand.cs
- StringUtil.cs
- MediaPlayer.cs
- RegisteredScript.cs
- DataControlFieldHeaderCell.cs
- Comparer.cs
- IdleTimeoutMonitor.cs
- UnsafeNativeMethods.cs
- XmlDataSource.cs
- FormCollection.cs
- InheritablePropertyChangeInfo.cs
- HandleRef.cs
- ToolStripContainer.cs
- MissingMemberException.cs
- NodeLabelEditEvent.cs
- HttpClientChannel.cs
- ZoneButton.cs
- RecordBuilder.cs
- PackUriHelper.cs
- StoreItemCollection.cs
- EntitySet.cs
- SqlError.cs
- SqlClientMetaDataCollectionNames.cs
- DataRelationCollection.cs
- TemplateBamlRecordReader.cs
- RealProxy.cs
- TransformBlockRequest.cs
- InkSerializer.cs
- Int32Storage.cs
- InputProcessorProfilesLoader.cs
- AppearanceEditorPart.cs
- UserMapPath.cs
- ComplexObject.cs
- CqlParserHelpers.cs
- RichTextBox.cs
- MembershipSection.cs
- BitmapEffectGroup.cs
- SqlDataSourceEnumerator.cs
- OLEDB_Util.cs
- SmiMetaDataProperty.cs
- DuplexChannelFactory.cs
- Permission.cs
- ExpressionPrinter.cs
- MessageBox.cs
- PageParserFilter.cs
- SortKey.cs
- PersonalizationProvider.cs
- BindingSource.cs
- ResourceDictionary.cs
- DataPagerCommandEventArgs.cs
- PersonalizablePropertyEntry.cs
- WebBrowserPermission.cs
- EventItfInfo.cs
- EndSelectCardRequest.cs
- AttributeTable.cs
- PartitionResolver.cs
- EncryptedKey.cs
- CodeConditionStatement.cs
- WorkflowHostingResponseContext.cs