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
- TreeNode.cs
- WebPartsPersonalizationAuthorization.cs
- MissingManifestResourceException.cs
- XmlBoundElement.cs
- OleDbRowUpdatedEvent.cs
- XhtmlCssHandler.cs
- DefaultAssemblyResolver.cs
- MethodBuilderInstantiation.cs
- Resources.Designer.cs
- SafeRightsManagementEnvironmentHandle.cs
- SortedList.cs
- MetaData.cs
- COM2ComponentEditor.cs
- DataSourceExpressionCollection.cs
- InputBuffer.cs
- ManipulationPivot.cs
- HebrewCalendar.cs
- ApplicationActivator.cs
- Statements.cs
- InvalidComObjectException.cs
- EncodingNLS.cs
- HtmlTableCellCollection.cs
- SqlNotificationRequest.cs
- WmlSelectionListAdapter.cs
- MatrixCamera.cs
- DisplayClaim.cs
- WrappedIUnknown.cs
- IgnoreSectionHandler.cs
- SessionEndingEventArgs.cs
- ComplexPropertyEntry.cs
- XmlNamespaceManager.cs
- GeneratedView.cs
- MsmqInputChannelListenerBase.cs
- CompilerResults.cs
- MatchingStyle.cs
- NewItemsContextMenuStrip.cs
- ProcessModuleCollection.cs
- EntityUtil.cs
- MultipartContentParser.cs
- LinkedResource.cs
- XmlSchemaAppInfo.cs
- ButtonAutomationPeer.cs
- PathData.cs
- SpanIndex.cs
- OdbcErrorCollection.cs
- ColorAnimation.cs
- StyleSheet.cs
- EmissiveMaterial.cs
- DeclarativeCatalogPartDesigner.cs
- ButtonBase.cs
- VScrollProperties.cs
- ExternalFile.cs
- ZipIOCentralDirectoryBlock.cs
- SecureConversationServiceElement.cs
- AdjustableArrowCap.cs
- Event.cs
- XsdDuration.cs
- WebControlParameterProxy.cs
- RubberbandSelector.cs
- NullableFloatSumAggregationOperator.cs
- MailWebEventProvider.cs
- DbDataReader.cs
- ChildTable.cs
- PrinterResolution.cs
- ActiveXHelper.cs
- ModelUIElement3D.cs
- WorkflowTraceTransfer.cs
- OleDbErrorCollection.cs
- DataGridViewCellStyleChangedEventArgs.cs
- Page.cs
- CatalogPart.cs
- SoapExtensionReflector.cs
- DragCompletedEventArgs.cs
- XmlChildEnumerator.cs
- ProtectedConfigurationSection.cs
- WorkflowServiceNamespace.cs
- XmlObjectSerializerWriteContextComplex.cs
- Roles.cs
- NativeMethods.cs
- ObjectSpanRewriter.cs
- XmlCompatibilityReader.cs
- SocketException.cs
- ResourceReferenceExpression.cs
- SynchronizationLockException.cs
- CultureInfo.cs
- Visitor.cs
- DependencySource.cs
- DetailsViewPageEventArgs.cs
- TextElementEnumerator.cs
- InternalDispatchObject.cs
- ResourceManager.cs
- MaxMessageSizeStream.cs
- CheckBox.cs
- TreeViewHitTestInfo.cs
- RoleService.cs
- FlowLayoutPanel.cs
- KnownTypesHelper.cs
- DataGridCellItemAutomationPeer.cs
- PartialTrustVisibleAssemblyCollection.cs
- DataGridTextBoxColumn.cs