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
- SrgsGrammar.cs
- SectionInput.cs
- AttributeSetAction.cs
- DurationConverter.cs
- ApplicationSecurityManager.cs
- _TLSstream.cs
- XhtmlBasicLabelAdapter.cs
- GregorianCalendarHelper.cs
- WebPartCloseVerb.cs
- ParameterToken.cs
- FillBehavior.cs
- CachedRequestParams.cs
- DataGridBoolColumn.cs
- FileDialog.cs
- ProfileWorkflowElement.cs
- SessionStateModule.cs
- BookmarkOptionsHelper.cs
- StrokeCollectionConverter.cs
- SecurityAppliedMessage.cs
- Quad.cs
- GPRECTF.cs
- WebBrowserProgressChangedEventHandler.cs
- ParagraphVisual.cs
- PointAnimationClockResource.cs
- RadioButtonFlatAdapter.cs
- Screen.cs
- QueryableDataSourceHelper.cs
- VisualBrush.cs
- WebBrowserEvent.cs
- ScrollPattern.cs
- DataDocumentXPathNavigator.cs
- LineSegment.cs
- StorageMappingItemLoader.cs
- InvalidComObjectException.cs
- SafeProcessHandle.cs
- Rules.cs
- Canvas.cs
- CodeExpressionCollection.cs
- cookiecollection.cs
- WaitHandle.cs
- LogWriteRestartAreaAsyncResult.cs
- DependencyObjectType.cs
- SecurityUtils.cs
- InOutArgument.cs
- LiteralControl.cs
- SqlBuffer.cs
- PreDigestedSignedInfo.cs
- MaskDescriptors.cs
- FlowLayoutSettings.cs
- LayoutUtils.cs
- FilterableAttribute.cs
- Axis.cs
- HtmlForm.cs
- BmpBitmapDecoder.cs
- TypeSemantics.cs
- TableCell.cs
- Errors.cs
- Vertex.cs
- ServiceOperationWrapper.cs
- SchemaLookupTable.cs
- LoginUtil.cs
- EntitySqlException.cs
- EncodingTable.cs
- StackOverflowException.cs
- DataGridViewRowPostPaintEventArgs.cs
- Int64AnimationUsingKeyFrames.cs
- ContentTextAutomationPeer.cs
- WSHttpSecurity.cs
- DataContractSerializerFaultFormatter.cs
- LinqToSqlWrapper.cs
- SafePipeHandle.cs
- MetadataUtilsSmi.cs
- Label.cs
- FontEmbeddingManager.cs
- ExtensionFile.cs
- ThemeConfigurationDialog.cs
- ModelItemDictionaryImpl.cs
- ContentValidator.cs
- XslVisitor.cs
- OleDbSchemaGuid.cs
- Enum.cs
- CharacterMetricsDictionary.cs
- Wildcard.cs
- BaseCodePageEncoding.cs
- Ref.cs
- ScriptControl.cs
- CurrentChangedEventManager.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- IFormattable.cs
- ObjectParameter.cs
- RegistryExceptionHelper.cs
- DockPatternIdentifiers.cs
- PipelineModuleStepContainer.cs
- PerformanceCounterManager.cs
- ListenerConnectionDemuxer.cs
- TypeContext.cs
- ListInitExpression.cs
- HeaderUtility.cs
- OleDbConnectionInternal.cs
- TypeDelegator.cs