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
- LinkTarget.cs
- CodeArrayCreateExpression.cs
- Pair.cs
- CmsInterop.cs
- Activity.cs
- ColumnWidthChangedEvent.cs
- GroupItemAutomationPeer.cs
- IdnElement.cs
- MaskedTextBox.cs
- ClickablePoint.cs
- Timer.cs
- EnumBuilder.cs
- MetabaseReader.cs
- TwoPhaseCommit.cs
- ArraySortHelper.cs
- SafeWaitHandle.cs
- ConsumerConnectionPointCollection.cs
- WebControl.cs
- SplitContainer.cs
- CredentialCache.cs
- safelinkcollection.cs
- ToolStripPanelRenderEventArgs.cs
- CheckBoxBaseAdapter.cs
- Parser.cs
- PropertyItemInternal.cs
- DeferredReference.cs
- JsonObjectDataContract.cs
- MailWebEventProvider.cs
- MediaTimeline.cs
- WebPartDisplayModeEventArgs.cs
- PlatformCulture.cs
- RenderData.cs
- QilVisitor.cs
- GroupBox.cs
- HtmlEmptyTagControlBuilder.cs
- IpcServerChannel.cs
- XamlWrappingReader.cs
- PenLineJoinValidation.cs
- UpdatePanelControlTrigger.cs
- InboundActivityHelper.cs
- HttpHostedTransportConfiguration.cs
- CAGDesigner.cs
- Stylesheet.cs
- EventHandlersDesigner.cs
- Exception.cs
- GridViewRowPresenter.cs
- DataRowComparer.cs
- OdbcStatementHandle.cs
- AsymmetricSignatureDeformatter.cs
- VisualBasicReference.cs
- TreeView.cs
- QilVisitor.cs
- MenuItemBindingCollection.cs
- ObjectStateEntryDbDataRecord.cs
- SchemaTypeEmitter.cs
- Style.cs
- ZipIOFileItemStream.cs
- WebPartEditorCancelVerb.cs
- IndexedGlyphRun.cs
- ButtonFieldBase.cs
- Set.cs
- Thumb.cs
- XamlPointCollectionSerializer.cs
- TransactionFilter.cs
- BindingCompleteEventArgs.cs
- PermissionAttributes.cs
- ControlTemplate.cs
- MimeTypeAttribute.cs
- Error.cs
- ApplicationException.cs
- WebPartTransformerCollection.cs
- RecordsAffectedEventArgs.cs
- CompiledRegexRunnerFactory.cs
- ChangePassword.cs
- RichTextBox.cs
- DataColumn.cs
- RuntimeUtils.cs
- FormatVersion.cs
- WindowsStatic.cs
- OdbcInfoMessageEvent.cs
- EventSourceCreationData.cs
- StringResourceManager.cs
- TypeResolver.cs
- WebPartTransformerAttribute.cs
- exports.cs
- PaperSize.cs
- XmlUtf8RawTextWriter.cs
- ToolTip.cs
- DirectoryNotFoundException.cs
- MouseGestureValueSerializer.cs
- ToolStripRenderer.cs
- ICspAsymmetricAlgorithm.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- PenThread.cs
- ModuleConfigurationInfo.cs
- ContentValidator.cs
- CloudCollection.cs
- WindowsButton.cs
- EditingMode.cs
- SupportsEventValidationAttribute.cs