Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- FormsAuthenticationConfiguration.cs
- RelOps.cs
- ExpressionBindings.cs
- ExecutedRoutedEventArgs.cs
- CreateUserErrorEventArgs.cs
- VariableReference.cs
- RegistryConfigurationProvider.cs
- ImageFormatConverter.cs
- XmlQuerySequence.cs
- ExecutionContext.cs
- TdsParserSessionPool.cs
- SvcMapFile.cs
- Underline.cs
- codemethodreferenceexpression.cs
- ValidatorAttribute.cs
- ListViewHitTestInfo.cs
- StyleSelector.cs
- ColumnResizeUndoUnit.cs
- BehaviorEditorPart.cs
- FixedSOMLineCollection.cs
- MediaEntryAttribute.cs
- Rijndael.cs
- DataListItem.cs
- ToolBar.cs
- MailBnfHelper.cs
- Region.cs
- BezierSegment.cs
- BroadcastEventHelper.cs
- SystemException.cs
- IPPacketInformation.cs
- IApplicationTrustManager.cs
- GroupQuery.cs
- TextServicesProperty.cs
- BaseUriHelper.cs
- PassportPrincipal.cs
- TextAutomationPeer.cs
- Attributes.cs
- PagerSettings.cs
- DataServiceException.cs
- IssuedTokenClientCredential.cs
- FormsAuthenticationConfiguration.cs
- LongTypeConverter.cs
- ZoneMembershipCondition.cs
- DependencyObjectPropertyDescriptor.cs
- Decimal.cs
- ImageAnimator.cs
- HtmlUtf8RawTextWriter.cs
- OperatingSystem.cs
- LoadWorkflowByKeyAsyncResult.cs
- DesignerRegionCollection.cs
- CipherData.cs
- ExclusiveTcpListener.cs
- StdRegProviderWrapper.cs
- CatalogZone.cs
- DataTableReaderListener.cs
- UrlMappingsModule.cs
- Fonts.cs
- BidOverLoads.cs
- UnicodeEncoding.cs
- DateTimeUtil.cs
- EventLogger.cs
- UrlAuthFailedErrorFormatter.cs
- DesignerPerfEventProvider.cs
- TemplateKey.cs
- SyndicationFeed.cs
- ExponentialEase.cs
- SplitterPanel.cs
- StringResourceManager.cs
- TemplatePropertyEntry.cs
- MarshalByRefObject.cs
- SqlDataSourceFilteringEventArgs.cs
- BaseProcessProtocolHandler.cs
- FileCodeGroup.cs
- DataGridViewLinkColumn.cs
- BoolLiteral.cs
- DiscoveryCallbackBehavior.cs
- PageRouteHandler.cs
- DataControlCommands.cs
- Stylesheet.cs
- PlaceHolder.cs
- PackagePart.cs
- ConstructorBuilder.cs
- ReadOnlyMetadataCollection.cs
- XmlChildNodes.cs
- ColumnResult.cs
- ISAPIWorkerRequest.cs
- wgx_exports.cs
- AutoScrollHelper.cs
- SafeNativeMethods.cs
- RoleManagerEventArgs.cs
- XPathNodeHelper.cs
- DefaultSection.cs
- Property.cs
- HostExecutionContextManager.cs
- EmptyStringExpandableObjectConverter.cs
- PageCatalogPart.cs
- MenuAutomationPeer.cs
- TableSectionStyle.cs
- WebPartMenu.cs
- ErrorReporting.cs