Code:
/ 4.0 / 4.0 / 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. 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
- FileEnumerator.cs
- ImageMap.cs
- WebPartConnection.cs
- BlurEffect.cs
- WebBrowserPermission.cs
- SendMessageChannelCache.cs
- TransformerConfigurationWizardBase.cs
- BindingManagerDataErrorEventArgs.cs
- DataServiceProviderWrapper.cs
- InvokeMethod.cs
- EventsTab.cs
- CellTreeSimplifier.cs
- RoutedCommand.cs
- HtmlInputButton.cs
- Win32Exception.cs
- EntityDataSourceConfigureObjectContext.cs
- OleDbPermission.cs
- MachineKeySection.cs
- Transform.cs
- ContextTokenTypeConverter.cs
- WebDescriptionAttribute.cs
- CompilationSection.cs
- SessionStateUtil.cs
- XmlDictionaryWriter.cs
- cache.cs
- HandlerMappingMemo.cs
- InkCanvasSelectionAdorner.cs
- ZeroOpNode.cs
- ContainerUIElement3D.cs
- ListViewAutomationPeer.cs
- SQLBinary.cs
- RequestQueryParser.cs
- XmlNode.cs
- ColorContextHelper.cs
- Margins.cs
- UnsafeNativeMethodsPenimc.cs
- QueryStatement.cs
- ListBoxItemWrapperAutomationPeer.cs
- HttpsHostedTransportConfiguration.cs
- nulltextnavigator.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- Journaling.cs
- AppliedDeviceFiltersDialog.cs
- Rect.cs
- FieldNameLookup.cs
- DrawingContextDrawingContextWalker.cs
- DesignerDataSourceView.cs
- VerticalAlignConverter.cs
- AssemblyUtil.cs
- SafeUserTokenHandle.cs
- FunctionImportMapping.cs
- CommonGetThemePartSize.cs
- FixedSOMContainer.cs
- ThemeConfigurationDialog.cs
- RecognizedPhrase.cs
- Token.cs
- Point3DCollection.cs
- RegexCode.cs
- CodeAccessPermission.cs
- cryptoapiTransform.cs
- Stopwatch.cs
- GeometryHitTestResult.cs
- GeneralTransform2DTo3D.cs
- ButtonRenderer.cs
- JournalEntryListConverter.cs
- AppDomainFactory.cs
- SqlBuilder.cs
- AsymmetricKeyExchangeDeformatter.cs
- ArrayList.cs
- Encoder.cs
- DocobjHost.cs
- clipboard.cs
- EpmContentSerializer.cs
- RuleSettings.cs
- Cursors.cs
- BoolExpression.cs
- LeafCellTreeNode.cs
- Literal.cs
- ChangePassword.cs
- IFormattable.cs
- BamlStream.cs
- GeneratedCodeAttribute.cs
- FontUnit.cs
- GeometryHitTestResult.cs
- XPathSelectionIterator.cs
- CodeTypeDeclaration.cs
- DecimalFormatter.cs
- FieldAccessException.cs
- PointKeyFrameCollection.cs
- HtmlDocument.cs
- TrustSection.cs
- TreeNode.cs
- MulticastOption.cs
- PixelShader.cs
- Span.cs
- TriState.cs
- ImageMapEventArgs.cs
- ToolStripPanelRenderEventArgs.cs
- PrincipalPermission.cs
- LongValidatorAttribute.cs