Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1KeyExchangeDeformatter.cs / 1 / RSAPKCS1KeyExchangeDeformatter.cs
// ==++== // // 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"); _rsaKey = (RSA) key; } // // public properties // public RandomNumberGenerator RNG { get { return RngValue; } set { RngValue = value; } } public override String Parameters { get { return null; } set { ;} } // // public methods // 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"); _rsaKey = (RSA) key; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // 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"); _rsaKey = (RSA) key; } // // public properties // public RandomNumberGenerator RNG { get { return RngValue; } set { RngValue = value; } } public override String Parameters { get { return null; } set { ;} } // // public methods // 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"); _rsaKey = (RSA) key; } } } // 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
- ObservableDictionary.cs
- RequestQueue.cs
- TraceHandler.cs
- SQLBinary.cs
- EditingScope.cs
- GeometryDrawing.cs
- GestureRecognitionResult.cs
- SectionRecord.cs
- OleDbTransaction.cs
- RequestQueue.cs
- UserControlCodeDomTreeGenerator.cs
- Compress.cs
- SqlDataSourceView.cs
- ObjectKeyFrameCollection.cs
- DataRecordInternal.cs
- OleDbTransaction.cs
- BookmarkTable.cs
- XmlSchemaSimpleContent.cs
- Events.cs
- UITypeEditor.cs
- ITreeGenerator.cs
- PermissionSetTriple.cs
- EastAsianLunisolarCalendar.cs
- ObsoleteAttribute.cs
- ContextBase.cs
- SqlDataAdapter.cs
- CheckBoxAutomationPeer.cs
- XdrBuilder.cs
- ChtmlTextWriter.cs
- DrawTreeNodeEventArgs.cs
- BookmarkList.cs
- Block.cs
- WebAdminConfigurationHelper.cs
- SmtpDateTime.cs
- ArgumentValidation.cs
- TryCatchDesigner.xaml.cs
- Profiler.cs
- DataGridViewToolTip.cs
- DataGridViewMethods.cs
- EventLogPermissionAttribute.cs
- PathNode.cs
- SelectionHighlightInfo.cs
- DbConnectionPoolIdentity.cs
- ProfileInfo.cs
- DataViewListener.cs
- SqlFacetAttribute.cs
- ToolStripDropDownMenu.cs
- Mapping.cs
- XamlToRtfParser.cs
- DuplicateContext.cs
- ImageListDesigner.cs
- DataGridTextBoxColumn.cs
- Win32.cs
- DbConnectionFactory.cs
- ActivityExecutor.cs
- Animatable.cs
- DelimitedListTraceListener.cs
- TextInfo.cs
- AssociationTypeEmitter.cs
- PostBackOptions.cs
- Byte.cs
- COSERVERINFO.cs
- OleDbWrapper.cs
- GridViewActionList.cs
- OdbcInfoMessageEvent.cs
- BindingCompleteEventArgs.cs
- ActiveXSite.cs
- ServiceRouteHandler.cs
- SHA1.cs
- ConditionValidator.cs
- AssemblyName.cs
- DesignerProperties.cs
- StreamWriter.cs
- XmlWrappingReader.cs
- GeneralTransformGroup.cs
- Facet.cs
- TemplateKey.cs
- AppLevelCompilationSectionCache.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- RenderCapability.cs
- UrlRoutingModule.cs
- DependencyObject.cs
- WorkBatch.cs
- baseaxisquery.cs
- GenericEnumerator.cs
- FormsAuthenticationCredentials.cs
- __ComObject.cs
- SessionSwitchEventArgs.cs
- StrongNameMembershipCondition.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- AtlasWeb.Designer.cs
- XmlBinaryReader.cs
- ActivityBuilderXamlWriter.cs
- DragDrop.cs
- HttpDictionary.cs
- TemplateBindingExtensionConverter.cs
- XhtmlBasicLinkAdapter.cs
- xmlfixedPageInfo.cs
- ActivityExecutionWorkItem.cs
- ResourceProviderFactory.cs