Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1KeyExchangeDeformatter.cs / 1305376 / RSAPKCS1KeyExchangeDeformatter.cs
using System.Diagnostics.Contracts; // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class RSAPKCS1KeyExchangeDeformatter : AsymmetricKeyExchangeDeformatter { RSA _rsaKey; RandomNumberGenerator RngValue; // Constructors public RSAPKCS1KeyExchangeDeformatter() {} public RSAPKCS1KeyExchangeDeformatter(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } // // public properties // public RandomNumberGenerator RNG { get { return RngValue; } set { RngValue = value; } } public override String Parameters { get { return null; } set { ;} } // // public methods // [System.Security.SecuritySafeCritical] // auto-generated public override byte[] DecryptKeyExchange(byte[] rgbIn) { if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); byte[] rgbOut; if (_rsaKey is RSACryptoServiceProvider) { rgbOut = ((RSACryptoServiceProvider) _rsaKey).Decrypt(rgbIn, false); } else { int i; byte[] rgb; rgb = _rsaKey.DecryptValue(rgbIn); // // Expected format is: // 00 || 02 || PS || 00 || D // where PS does not contain any zeros. // for (i = 2; i= rgb.Length) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_PKCS1Decoding")); i++; // Skip over the zero rgbOut = new byte[rgb.Length - i]; Buffer.InternalBlockCopy(rgb, i, rgbOut, 0, rgbOut.Length); } return rgbOut; } public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } } } // 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
- ValidationPropertyAttribute.cs
- PartialCachingControl.cs
- RemotingException.cs
- TextSimpleMarkerProperties.cs
- EmptyStringExpandableObjectConverter.cs
- ExceptionUtil.cs
- RawTextInputReport.cs
- SqlRemoveConstantOrderBy.cs
- InProcStateClientManager.cs
- ProcessThread.cs
- EntitySqlQueryState.cs
- XamlToRtfWriter.cs
- TextRunTypographyProperties.cs
- DtrList.cs
- ToolBarOverflowPanel.cs
- AssemblyBuilder.cs
- webbrowsersite.cs
- IisTraceListener.cs
- Ticks.cs
- Internal.cs
- AssemblyInfo.cs
- TickBar.cs
- TextEditorLists.cs
- EmptyElement.cs
- CodeDomSerializationProvider.cs
- TransactionContextManager.cs
- SiteMapDataSourceView.cs
- WebPartConnectionsCloseVerb.cs
- EnumConverter.cs
- Int32CollectionConverter.cs
- elementinformation.cs
- FileFormatException.cs
- SharedStatics.cs
- ActivityInstanceReference.cs
- ProxyWebPartConnectionCollection.cs
- EventRoute.cs
- MarkedHighlightComponent.cs
- TdsValueSetter.cs
- Variant.cs
- XmlValueConverter.cs
- HttpValueCollection.cs
- IDispatchConstantAttribute.cs
- FormsAuthentication.cs
- SystemGatewayIPAddressInformation.cs
- SetterBaseCollection.cs
- RuntimeResourceSet.cs
- XmlDomTextWriter.cs
- SoapElementAttribute.cs
- XamlDebuggerXmlReader.cs
- ListControl.cs
- CollectionEditor.cs
- ExtendedPropertyDescriptor.cs
- LinearKeyFrames.cs
- ItemsControl.cs
- LoadWorkflowCommand.cs
- BinHexDecoder.cs
- SqlConnection.cs
- ObjectStateEntry.cs
- SectionInput.cs
- DebugHandleTracker.cs
- MenuRendererClassic.cs
- FileDialog.cs
- URLAttribute.cs
- SqlNode.cs
- KnownBoxes.cs
- WorkflowQueue.cs
- ApplicationContext.cs
- HtmlTitle.cs
- ProgressBarAutomationPeer.cs
- Calendar.cs
- Color.cs
- OrderedDictionary.cs
- ProfileInfo.cs
- ComponentEvent.cs
- DataDesignUtil.cs
- SecurityState.cs
- WebPartCatalogCloseVerb.cs
- ParameterEditorUserControl.cs
- GregorianCalendarHelper.cs
- BuiltInExpr.cs
- MethodAccessException.cs
- EntityDataReader.cs
- EnumUnknown.cs
- DBConnectionString.cs
- UTF7Encoding.cs
- SystemResources.cs
- SQLDateTime.cs
- SHA256Managed.cs
- TextSyndicationContent.cs
- AdRotator.cs
- ConsumerConnectionPointCollection.cs
- BitmapEffectDrawingContextState.cs
- DefaultHttpHandler.cs
- CoreSwitches.cs
- ExpandedProjectionNode.cs
- ParentQuery.cs
- TextFindEngine.cs
- PaginationProgressEventArgs.cs
- TableLayoutStyle.cs
- DESCryptoServiceProvider.cs