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
- PersonalizationProviderHelper.cs
- MetadataArtifactLoaderFile.cs
- RoutedUICommand.cs
- QueryCursorEventArgs.cs
- DesignerAttribute.cs
- ClientScriptItem.cs
- FunctionNode.cs
- XmlLinkedNode.cs
- OciLobLocator.cs
- XmlCharCheckingWriter.cs
- HopperCache.cs
- ReverseComparer.cs
- DocumentEventArgs.cs
- ValidationEventArgs.cs
- SafeLocalAllocation.cs
- TabItemWrapperAutomationPeer.cs
- CmsInterop.cs
- LinkTarget.cs
- SamlConditions.cs
- SafeUserTokenHandle.cs
- BitmapPalettes.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- validationstate.cs
- WorkflowQueueInfo.cs
- GeometryGroup.cs
- Vector3DConverter.cs
- CheckableControlBaseAdapter.cs
- ColorMatrix.cs
- CompilerParameters.cs
- SQLGuidStorage.cs
- NegationPusher.cs
- TextElementEditingBehaviorAttribute.cs
- ListControlConvertEventArgs.cs
- SingleAnimation.cs
- SingleResultAttribute.cs
- SerialStream.cs
- IsolationInterop.cs
- SerializationTrace.cs
- ItemMap.cs
- EventProviderWriter.cs
- AdPostCacheSubstitution.cs
- QuarticEase.cs
- ValueTypeFixupInfo.cs
- SqlDataSource.cs
- StronglyTypedResourceBuilder.cs
- GeometryGroup.cs
- ServiceChannelManager.cs
- SuspendDesigner.cs
- KnowledgeBase.cs
- SystemEvents.cs
- FixedDocumentPaginator.cs
- CopyNamespacesAction.cs
- TransactionInterop.cs
- ProcessManager.cs
- TreePrinter.cs
- ObjectDataSourceDisposingEventArgs.cs
- ObjectItemCollection.cs
- DateTimeFormatInfoScanner.cs
- StringAnimationUsingKeyFrames.cs
- WizardPanelChangingEventArgs.cs
- WebBaseEventKeyComparer.cs
- TableParaClient.cs
- DataGridViewColumnCollection.cs
- wmiprovider.cs
- SamlAttributeStatement.cs
- CharacterHit.cs
- ISAPIWorkerRequest.cs
- ParameterModifier.cs
- JapaneseCalendar.cs
- Bits.cs
- TextAutomationPeer.cs
- ControlCachePolicy.cs
- TextParagraphView.cs
- PageContentCollection.cs
- TypeNameConverter.cs
- Repeater.cs
- XmlSchemaInfo.cs
- SchemaDeclBase.cs
- EmbeddedMailObjectsCollection.cs
- ELinqQueryState.cs
- XPathScanner.cs
- NativeRightsManagementAPIsStructures.cs
- SrgsToken.cs
- StagingAreaInputItem.cs
- TreeNodeSelectionProcessor.cs
- DecimalConverter.cs
- HttpRequestCacheValidator.cs
- XmlSerializationWriter.cs
- MatrixStack.cs
- AuthenticationSection.cs
- TimeoutException.cs
- GridViewRowCollection.cs
- LoadMessageLogger.cs
- TwoPhaseCommit.cs
- Compilation.cs
- TextEffectResolver.cs
- ConfigurationStrings.cs
- DataKey.cs
- WebPartConnectionsConfigureVerb.cs