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
- XsltSettings.cs
- xdrvalidator.cs
- ButtonField.cs
- HitTestResult.cs
- Color.cs
- WindowsPrincipal.cs
- ContentOperations.cs
- IntegerFacetDescriptionElement.cs
- Deserializer.cs
- OutputCacheProfile.cs
- Adorner.cs
- XmlChoiceIdentifierAttribute.cs
- AutoGeneratedField.cs
- WebPartPersonalization.cs
- ToggleButton.cs
- BasicExpandProvider.cs
- ProfessionalColors.cs
- UseManagedPresentationBindingElementImporter.cs
- HttpClientCertificate.cs
- XmlSchemaAnnotation.cs
- Brush.cs
- MsmqActivation.cs
- HttpRuntimeSection.cs
- PermissionAttributes.cs
- CryptoKeySecurity.cs
- ContentIterators.cs
- ModelUIElement3D.cs
- BStrWrapper.cs
- DataGridViewAccessibleObject.cs
- QilStrConcat.cs
- TextDecoration.cs
- Propagator.ExtentPlaceholderCreator.cs
- EmptyEnumerator.cs
- ColorConverter.cs
- PixelShader.cs
- HttpCachePolicyBase.cs
- InputLangChangeRequestEvent.cs
- HttpWriter.cs
- CodeDomDesignerLoader.cs
- DataGridViewElement.cs
- SmtpTransport.cs
- StringComparer.cs
- Point3DConverter.cs
- TogglePatternIdentifiers.cs
- TableLayoutRowStyleCollection.cs
- BevelBitmapEffect.cs
- TcpServerChannel.cs
- HostExecutionContextManager.cs
- RoleManagerSection.cs
- TypeCodeDomSerializer.cs
- StreamMarshaler.cs
- AspCompat.cs
- FrameAutomationPeer.cs
- AccessorTable.cs
- DataGridViewColumnConverter.cs
- SqlFlattener.cs
- IntranetCredentialPolicy.cs
- EntityConnection.cs
- CompositeScriptReference.cs
- CompiledQueryCacheEntry.cs
- EdmFunctions.cs
- cookiecollection.cs
- CompatibleComparer.cs
- DTCTransactionManager.cs
- DataSetUtil.cs
- IResourceProvider.cs
- TypedAsyncResult.cs
- XmlSerializerNamespaces.cs
- TableCell.cs
- AutomationProperties.cs
- PropertyMap.cs
- ExtensionQuery.cs
- AssemblyHash.cs
- InkCollectionBehavior.cs
- NullableDoubleMinMaxAggregationOperator.cs
- FixedSOMElement.cs
- SecurityState.cs
- AppLevelCompilationSectionCache.cs
- SrgsElementList.cs
- InstanceCompleteException.cs
- Vector3DCollectionValueSerializer.cs
- AddDataControlFieldDialog.cs
- SoapIgnoreAttribute.cs
- TextRangeProviderWrapper.cs
- Int32CollectionValueSerializer.cs
- MarkupCompiler.cs
- SqlUserDefinedTypeAttribute.cs
- SchemaImporterExtensionElement.cs
- SecurityHelper.cs
- ListViewHitTestInfo.cs
- UdpAnnouncementEndpoint.cs
- DataGridItemCollection.cs
- SendKeys.cs
- SatelliteContractVersionAttribute.cs
- mansign.cs
- ImmutablePropertyDescriptorGridEntry.cs
- WaitHandleCannotBeOpenedException.cs
- TableChangeProcessor.cs
- ListenDesigner.cs
- MobileControlsSectionHelper.cs