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
- CaseExpr.cs
- Converter.cs
- StaticContext.cs
- SqlRemoveConstantOrderBy.cs
- parserscommon.cs
- XmlValueConverter.cs
- BindingExpression.cs
- ChangeConflicts.cs
- SoapIgnoreAttribute.cs
- SourceFileInfo.cs
- IndicCharClassifier.cs
- DataBindingCollectionEditor.cs
- EntityDataSourceDataSelectionPanel.cs
- DataServiceResponse.cs
- DynamicResourceExtensionConverter.cs
- RefType.cs
- EdmMember.cs
- DataGridViewRowPrePaintEventArgs.cs
- sqlcontext.cs
- ICollection.cs
- CommandLibraryHelper.cs
- HttpResponseBase.cs
- CharEntityEncoderFallback.cs
- CqlBlock.cs
- UnSafeCharBuffer.cs
- IItemProperties.cs
- MenuItem.cs
- FixedSOMContainer.cs
- PackWebRequestFactory.cs
- PeerApplicationLaunchInfo.cs
- ControlValuePropertyAttribute.cs
- TextBreakpoint.cs
- linebase.cs
- BaseValidator.cs
- DelegatingHeader.cs
- DataGridViewCheckBoxColumn.cs
- LicenseManager.cs
- UserControlCodeDomTreeGenerator.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- CursorConverter.cs
- AppDomain.cs
- MenuCommands.cs
- SequenceRange.cs
- AssemblyBuilder.cs
- SystemBrushes.cs
- HttpInputStream.cs
- WebConfigurationHostFileChange.cs
- LogEntryDeserializer.cs
- ConstraintConverter.cs
- TCEAdapterGenerator.cs
- SQLSingle.cs
- GradientBrush.cs
- QilGenerator.cs
- CorrelationManager.cs
- DragDropManager.cs
- PreviewPrintController.cs
- ResourcesGenerator.cs
- x509utils.cs
- SoapObjectReader.cs
- CrossSiteScriptingValidation.cs
- EmptyImpersonationContext.cs
- WebPartEditorApplyVerb.cs
- Vars.cs
- MsmqDecodeHelper.cs
- PathFigureCollectionValueSerializer.cs
- DesignerTextViewAdapter.cs
- SharedUtils.cs
- ScriptMethodAttribute.cs
- SmtpNegotiateAuthenticationModule.cs
- SystemWebSectionGroup.cs
- InvalidComObjectException.cs
- ArithmeticException.cs
- DBProviderConfigurationHandler.cs
- IInstanceTable.cs
- AutoCompleteStringCollection.cs
- QueryExpression.cs
- ToolStripItemEventArgs.cs
- InProcStateClientManager.cs
- TextElementEnumerator.cs
- PatternMatcher.cs
- RepeaterDesigner.cs
- SuppressIldasmAttribute.cs
- WebPermission.cs
- OleDbReferenceCollection.cs
- CaseInsensitiveOrdinalStringComparer.cs
- WebPartTransformer.cs
- WebPartCancelEventArgs.cs
- __Error.cs
- SyndicationSerializer.cs
- SqlBulkCopyColumnMapping.cs
- ElementNotEnabledException.cs
- TransformPatternIdentifiers.cs
- PenCursorManager.cs
- TextWriter.cs
- Dispatcher.cs
- CriticalFinalizerObject.cs
- OleStrCAMarshaler.cs
- SyndicationLink.cs
- TabControlDesigner.cs
- LinkedResource.cs