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
- HttpCacheVaryByContentEncodings.cs
- RawStylusInputCustomDataList.cs
- XmlDataSource.cs
- ListBindableAttribute.cs
- ExceptionUtil.cs
- BulletedListEventArgs.cs
- AssemblyNameUtility.cs
- RenderDataDrawingContext.cs
- DefaultMemberAttribute.cs
- SerialStream.cs
- Byte.cs
- SmiTypedGetterSetter.cs
- SimpleHandlerBuildProvider.cs
- DesignerValidationSummaryAdapter.cs
- DiscoveryClientElement.cs
- Function.cs
- IDictionary.cs
- ImmutableCollection.cs
- EntityConnectionStringBuilderItem.cs
- assemblycache.cs
- DefinitionBase.cs
- PersonalizationDictionary.cs
- SqlBulkCopy.cs
- ActivationServices.cs
- BufferedWebEventProvider.cs
- MailDefinition.cs
- DeclarativeCatalogPart.cs
- XmlReader.cs
- XmlPropertyBag.cs
- CompilerTypeWithParams.cs
- DocumentPageViewAutomationPeer.cs
- WebReference.cs
- RangeBase.cs
- IDReferencePropertyAttribute.cs
- SqlBulkCopyColumnMapping.cs
- AppDomainUnloadedException.cs
- UnsafeNativeMethods.cs
- ToolStripRenderEventArgs.cs
- ContentElement.cs
- AspNetHostingPermission.cs
- NodeLabelEditEvent.cs
- OdbcFactory.cs
- IdentitySection.cs
- XmlMtomWriter.cs
- MultipleViewProviderWrapper.cs
- TableLayoutPanel.cs
- GridToolTip.cs
- RemoteDebugger.cs
- Zone.cs
- CompilerGeneratedAttribute.cs
- ImageCollectionEditor.cs
- SequentialActivityDesigner.cs
- TemplateControl.cs
- QuaternionAnimationUsingKeyFrames.cs
- Point.cs
- MatrixAnimationBase.cs
- DirectoryObjectSecurity.cs
- BufferedOutputStream.cs
- HtmlLabelAdapter.cs
- GroupBoxRenderer.cs
- XmlResolver.cs
- HideDisabledControlAdapter.cs
- InputBuffer.cs
- ExeConfigurationFileMap.cs
- SerializationException.cs
- PipeSecurity.cs
- ZipIOFileItemStream.cs
- TextEndOfParagraph.cs
- SByteConverter.cs
- Wildcard.cs
- WinFormsSecurity.cs
- PointF.cs
- GeneralTransformGroup.cs
- ImageAnimator.cs
- CharacterShapingProperties.cs
- SmtpNtlmAuthenticationModule.cs
- WindowsBrush.cs
- Margins.cs
- RegexRunnerFactory.cs
- SourceFileInfo.cs
- AttributeCollection.cs
- ColumnClickEvent.cs
- DataServiceRequestException.cs
- TrackingMemoryStream.cs
- SqlDataSourceCommandEventArgs.cs
- XmlIlTypeHelper.cs
- DrawTreeNodeEventArgs.cs
- SqlMethodTransformer.cs
- Query.cs
- Stack.cs
- ZoneIdentityPermission.cs
- GetMemberBinder.cs
- PropertyItem.cs
- ProgressBarHighlightConverter.cs
- TCPListener.cs
- UshortList2.cs
- SessionStateModule.cs
- TextRangeSerialization.cs
- DesigntimeLicenseContextSerializer.cs
- DataTableReader.cs