Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / SelfIssuedAuthRSACryptoProvider.cs / 1 / SelfIssuedAuthRSACryptoProvider.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // namespace Microsoft.InfoCards { using System; using System.IdentityModel.Selectors; using System.IdentityModel.Tokens; using System.ServiceModel; using System.ServiceModel.Security; using System.ServiceModel.Security.Tokens; using System.Runtime.InteropServices; using System.Security.Cryptography; using System.IdentityModel; using System.Security.Cryptography.Xml; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; using System.Collections.ObjectModel; using System.Collections.Generic; // // Summary: // This class provides indirect access an RSACryptoServiceProvider - this allows us to // protect the private key better // internal class SelfIssuedAuthRSACryptoProvider : RSA { RSACryptoServiceProvider m_rsa; // // Summary: // Given a pointer to a CryptoHandle create a new instance of this class. // public SelfIssuedAuthRSACryptoProvider( RSACryptoServiceProvider rsa ) : base() { m_rsa = rsa; } public override String SignatureAlgorithm { get { return m_rsa.SignatureAlgorithm; } } public override String KeyExchangeAlgorithm { get { return m_rsa.KeyExchangeAlgorithm; } } public bool IsPublicOnly() { return m_rsa.PublicOnly; } public override byte[ ] EncryptValue( byte[ ] rgb ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } public override byte[ ] DecryptValue( byte[ ] rgb ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } public byte[ ] Decrypt( byte[ ] inData, bool fAOEP ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } public byte[ ] Encrypt( byte[ ] inData, bool fAOEP ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } public byte[ ] SignHash( byte[ ] hash, string hashAlgOid ) { IDT.ThrowInvalidArgumentConditional( null == hash || 0 == hash.Length, "hash" ); IDT.ThrowInvalidArgumentConditional( String.IsNullOrEmpty( hashAlgOid ), "hashAlgOid" ); return m_rsa.SignHash( hash, hashAlgOid ); } public bool VerifyHash( byte[ ] hash, string hashAlgOid, byte[ ] sig ) { IDT.ThrowInvalidArgumentConditional( null == hash || 0 == hash.Length, "hash" ); IDT.ThrowInvalidArgumentConditional( String.IsNullOrEmpty( hashAlgOid ), "hashAlgOid" ); IDT.ThrowInvalidArgumentConditional( null == sig || 0 == sig.Length, "sig" ); return m_rsa.VerifyHash( hash, hashAlgOid, sig ); } public override RSAParameters ExportParameters( bool includePrivateParameters ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } public override string ToXmlString( bool includePrivateParameters ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } public override void FromXmlString( string xmlString ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } public override void ImportParameters( System.Security.Cryptography.RSAParameters parameters ) { throw IDT.ThrowHelperError( new NotSupportedException() ); } protected override void Dispose( bool disposing ) { if( null != m_rsa ) { ( ( IDisposable )m_rsa ).Dispose(); } } } } // 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
- ProtocolElementCollection.cs
- XmlKeywords.cs
- HtmlUtf8RawTextWriter.cs
- DataGridState.cs
- ToolStripContainer.cs
- PolicyException.cs
- ConfigsHelper.cs
- CalendarDataBindingHandler.cs
- DateTimeConstantAttribute.cs
- CodeValidator.cs
- WebHttpSecurity.cs
- InvalidProgramException.cs
- PartitionResolver.cs
- SecurityManager.cs
- HiddenFieldPageStatePersister.cs
- HttpWebRequestElement.cs
- TypeUtils.cs
- HitTestParameters3D.cs
- IPAddress.cs
- Rect3D.cs
- ReverseInheritProperty.cs
- DrawingImage.cs
- CfgParser.cs
- ButtonField.cs
- HTMLTagNameToTypeMapper.cs
- WebPartPersonalization.cs
- DictationGrammar.cs
- RotateTransform3D.cs
- WpfXamlMember.cs
- FileDialog_Vista.cs
- ModuleConfigurationInfo.cs
- StringHelper.cs
- ScopedKnownTypes.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- UICuesEvent.cs
- RepeaterCommandEventArgs.cs
- QueryAccessibilityHelpEvent.cs
- RowUpdatedEventArgs.cs
- Tag.cs
- SQLByteStorage.cs
- HttpModulesInstallComponent.cs
- StickyNote.cs
- sortedlist.cs
- XmlWrappingReader.cs
- ObjectContext.cs
- AuthorizationRule.cs
- DbProviderManifest.cs
- HelpProvider.cs
- DesignerActionVerbList.cs
- RootBuilder.cs
- UpdateException.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- EntityType.cs
- ReadWriteObjectLock.cs
- SafeEventLogReadHandle.cs
- SiteMembershipCondition.cs
- DesignerDataView.cs
- SqlDataSource.cs
- XmlObjectSerializerContext.cs
- TableItemPattern.cs
- TextElement.cs
- CodeArrayIndexerExpression.cs
- Fx.cs
- VariableExpressionConverter.cs
- StatusBar.cs
- MissingMethodException.cs
- ProcessModelInfo.cs
- TreeView.cs
- OdbcConnectionStringbuilder.cs
- PrimaryKeyTypeConverter.cs
- CollectionViewGroup.cs
- ScrollContentPresenter.cs
- XamlFigureLengthSerializer.cs
- RijndaelManaged.cs
- ObjectComplexPropertyMapping.cs
- FormatterServices.cs
- FilterQueryOptionExpression.cs
- CodeRemoveEventStatement.cs
- ClientUrlResolverWrapper.cs
- PictureBox.cs
- WebPartCollection.cs
- StylusDownEventArgs.cs
- FunctionDescription.cs
- SingleBodyParameterMessageFormatter.cs
- WebResourceAttribute.cs
- SkewTransform.cs
- TablePatternIdentifiers.cs
- PointConverter.cs
- XmlMapping.cs
- indexingfiltermarshaler.cs
- DataGridViewAdvancedBorderStyle.cs
- DbConnectionInternal.cs
- SamlAuthorizationDecisionStatement.cs
- UnauthorizedAccessException.cs
- SmiSettersStream.cs
- OdbcConnection.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ErrorItem.cs
- TypeNameHelper.cs
- UserPreferenceChangedEventArgs.cs