Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PopOutPanel.cs
- CompilerTypeWithParams.cs
- WindowsListViewItem.cs
- EncryptedKey.cs
- QilStrConcatenator.cs
- BrowserInteropHelper.cs
- CaseCqlBlock.cs
- ProjectionPath.cs
- DataGridViewCellFormattingEventArgs.cs
- SymmetricAlgorithm.cs
- PrincipalPermission.cs
- X509PeerCertificateAuthenticationElement.cs
- UpdatePanelTriggerCollection.cs
- IdentityManager.cs
- WsatServiceAddress.cs
- _Rfc2616CacheValidators.cs
- NotifyCollectionChangedEventArgs.cs
- Application.cs
- DeclarativeCatalogPartDesigner.cs
- Vector3D.cs
- PassportPrincipal.cs
- HttpCapabilitiesBase.cs
- ActivationArguments.cs
- BidOverLoads.cs
- HtmlElementCollection.cs
- SerializationObjectManager.cs
- QfeChecker.cs
- PersianCalendar.cs
- CodeNamespaceImport.cs
- StickyNoteHelper.cs
- DataMemberAttribute.cs
- SynthesizerStateChangedEventArgs.cs
- QueryTreeBuilder.cs
- SaveFileDialog.cs
- DnsPermission.cs
- DataGridCommandEventArgs.cs
- HandleCollector.cs
- TreeNodeConverter.cs
- NamespaceQuery.cs
- XmlBinaryReaderSession.cs
- MsmqIntegrationSecurity.cs
- OledbConnectionStringbuilder.cs
- ThreadPool.cs
- FilteredDataSetHelper.cs
- Matrix.cs
- PolicyLevel.cs
- Win32.cs
- DashStyles.cs
- DesignerHelpers.cs
- LocalizationComments.cs
- XmlBinaryReader.cs
- LogReserveAndAppendState.cs
- ELinqQueryState.cs
- BindStream.cs
- DictionaryBase.cs
- EdmSchemaAttribute.cs
- parserscommon.cs
- SqlInfoMessageEvent.cs
- AutoCompleteStringCollection.cs
- BamlRecordReader.cs
- StorageMappingItemCollection.cs
- RootBuilder.cs
- RelationshipManager.cs
- WebPartDisplayModeCancelEventArgs.cs
- SortDescriptionCollection.cs
- FixedSOMTextRun.cs
- Table.cs
- OAVariantLib.cs
- Button.cs
- InstanceCollisionException.cs
- Literal.cs
- Command.cs
- EmptyImpersonationContext.cs
- OdbcErrorCollection.cs
- HttpContextServiceHost.cs
- GlobalizationAssembly.cs
- PropertyInformationCollection.cs
- ResourcePermissionBaseEntry.cs
- XmlCDATASection.cs
- Point4DConverter.cs
- ScrollEventArgs.cs
- FixedBufferAttribute.cs
- WebPartHeaderCloseVerb.cs
- BooleanFunctions.cs
- DrawingContextWalker.cs
- WriteLineDesigner.xaml.cs
- DataAdapter.cs
- PersonalizationDictionary.cs
- ObjectSecurityT.cs
- ResourceExpressionEditorSheet.cs
- SiteMapProvider.cs
- NameValueCollection.cs
- SchemaImporterExtensionsSection.cs
- _AuthenticationState.cs
- BitStack.cs
- CompilerErrorCollection.cs
- KeyInterop.cs
- _RequestLifetimeSetter.cs
- DataBindingExpressionBuilder.cs
- KeyToListMap.cs