Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / EnvelopedSignatureTransform.cs / 1305376 / EnvelopedSignatureTransform.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System.Xml; using System.Security.Cryptography; sealed class EnvelopedSignatureTransform : Transform { string prefix = XmlSignatureStrings.Prefix; public EnvelopedSignatureTransform() { } public override string Algorithm { get { return XD.XmlSignatureDictionary.EnvelopedSignature.Value; } } public override object Process(object input, SignatureResourcePool resourcePool, DictionaryManager dictionaryManager) { XmlTokenStream tokenStream = input as XmlTokenStream; if (tokenStream != null) { tokenStream.SetElementExclusion(XmlSignatureStrings.Signature, XmlSignatureStrings.Namespace); return tokenStream; } throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException(SR.GetString(SR.UnsupportedInputTypeForTransform, input.GetType()))); } // this transform is not allowed as the last one in a chain public override byte[] ProcessAndDigest(object input, SignatureResourcePool resourcePool, string digestAlgorithm, DictionaryManager dictionaryManager) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException(SR.GetString(SR.UnsupportedLastTransform))); } public override void ReadFrom(XmlDictionaryReader reader, DictionaryManager dictionaryManager) { reader.MoveToContent(); string algorithm = XmlHelper.ReadEmptyElementAndRequiredAttribute(reader, dictionaryManager.XmlSignatureDictionary.Transform, dictionaryManager.XmlSignatureDictionary.Namespace, dictionaryManager.XmlSignatureDictionary.Algorithm, out this.prefix); if (algorithm != this.Algorithm) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CryptographicException(SR.GetString(SR.AlgorithmMismatchForTransform))); } } public override void WriteTo(XmlDictionaryWriter writer, DictionaryManager dictionaryManager) { writer.WriteStartElement(this.prefix, dictionaryManager.XmlSignatureDictionary.Transform, dictionaryManager.XmlSignatureDictionary.Namespace); writer.WriteAttributeString(dictionaryManager.XmlSignatureDictionary.Algorithm, null, this.Algorithm); writer.WriteEndElement(); // Transform } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System.Xml; using System.Security.Cryptography; sealed class EnvelopedSignatureTransform : Transform { string prefix = XmlSignatureStrings.Prefix; public EnvelopedSignatureTransform() { } public override string Algorithm { get { return XD.XmlSignatureDictionary.EnvelopedSignature.Value; } } public override object Process(object input, SignatureResourcePool resourcePool, DictionaryManager dictionaryManager) { XmlTokenStream tokenStream = input as XmlTokenStream; if (tokenStream != null) { tokenStream.SetElementExclusion(XmlSignatureStrings.Signature, XmlSignatureStrings.Namespace); return tokenStream; } throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException(SR.GetString(SR.UnsupportedInputTypeForTransform, input.GetType()))); } // this transform is not allowed as the last one in a chain public override byte[] ProcessAndDigest(object input, SignatureResourcePool resourcePool, string digestAlgorithm, DictionaryManager dictionaryManager) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException(SR.GetString(SR.UnsupportedLastTransform))); } public override void ReadFrom(XmlDictionaryReader reader, DictionaryManager dictionaryManager) { reader.MoveToContent(); string algorithm = XmlHelper.ReadEmptyElementAndRequiredAttribute(reader, dictionaryManager.XmlSignatureDictionary.Transform, dictionaryManager.XmlSignatureDictionary.Namespace, dictionaryManager.XmlSignatureDictionary.Algorithm, out this.prefix); if (algorithm != this.Algorithm) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CryptographicException(SR.GetString(SR.AlgorithmMismatchForTransform))); } } public override void WriteTo(XmlDictionaryWriter writer, DictionaryManager dictionaryManager) { writer.WriteStartElement(this.prefix, dictionaryManager.XmlSignatureDictionary.Transform, dictionaryManager.XmlSignatureDictionary.Namespace); writer.WriteAttributeString(dictionaryManager.XmlSignatureDictionary.Algorithm, null, this.Algorithm); writer.WriteEndElement(); // Transform } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SerializationInfo.cs
- FormsAuthenticationTicket.cs
- FileAuthorizationModule.cs
- Publisher.cs
- TraceSwitch.cs
- QuadraticBezierSegment.cs
- PartialList.cs
- SspiHelper.cs
- TransportConfigurationTypeElementCollection.cs
- invalidudtexception.cs
- TextStore.cs
- TextControlDesigner.cs
- UIElementParagraph.cs
- SerializationSectionGroup.cs
- SmtpFailedRecipientsException.cs
- DocumentReference.cs
- SortedSet.cs
- Column.cs
- VersionedStream.cs
- SetterBase.cs
- NamedPipeProcessProtocolHandler.cs
- _NegoStream.cs
- InvalidProgramException.cs
- HttpResponseHeader.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- _ListenerResponseStream.cs
- GlobalizationAssembly.cs
- DbConnectionPoolIdentity.cs
- XMLUtil.cs
- EventProviderWriter.cs
- DataTableExtensions.cs
- TaskResultSetter.cs
- MethodResolver.cs
- AtomMaterializer.cs
- ColumnHeaderConverter.cs
- AttributeConverter.cs
- ResourceDefaultValueAttribute.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- IISMapPath.cs
- XmlSchemaValidationException.cs
- Point4DValueSerializer.cs
- TextMetrics.cs
- RSAPKCS1SignatureDeformatter.cs
- SlipBehavior.cs
- PageStatePersister.cs
- QilIterator.cs
- SqlDataSourceFilteringEventArgs.cs
- Timer.cs
- GPPOINTF.cs
- WindowsStreamSecurityUpgradeProvider.cs
- FocusChangedEventArgs.cs
- SqlTopReducer.cs
- FontNamesConverter.cs
- SqlNodeAnnotations.cs
- SpellerHighlightLayer.cs
- SortExpressionBuilder.cs
- TemplateNameScope.cs
- DesignSurfaceManager.cs
- CodeMemberProperty.cs
- HttpRuntimeSection.cs
- RemotingConfiguration.cs
- FontDialog.cs
- DataGridHelper.cs
- UrlMappingCollection.cs
- XPathNavigatorKeyComparer.cs
- IgnorePropertiesAttribute.cs
- CodeExpressionStatement.cs
- UnaryNode.cs
- OletxDependentTransaction.cs
- BamlReader.cs
- RichTextBox.cs
- Geometry.cs
- RemoteCryptoTokenProvider.cs
- LayoutDump.cs
- UnsafeNativeMethodsCLR.cs
- LinqDataSourceContextEventArgs.cs
- DeploymentSection.cs
- XmlUtil.cs
- KeyInterop.cs
- XmlCDATASection.cs
- RectValueSerializer.cs
- WebServiceTypeData.cs
- XmlWellformedWriterHelpers.cs
- ControlParameter.cs
- DoubleLinkListEnumerator.cs
- EditCommandColumn.cs
- VisualCollection.cs
- SqlColumnizer.cs
- DeviceContexts.cs
- HttpApplicationFactory.cs
- ImageSource.cs
- CollectionMarkupSerializer.cs
- UITypeEditor.cs
- odbcmetadatacollectionnames.cs
- OpenFileDialog.cs
- CallbackWrapper.cs
- TreeNodeEventArgs.cs
- CompoundFileIOPermission.cs
- CompilerHelpers.cs
- StackOverflowException.cs