Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ObjectListFieldCollection.cs
- GCHandleCookieTable.cs
- TextDecorationCollection.cs
- MsmqIntegrationValidationBehavior.cs
- X509ScopedServiceCertificateElement.cs
- TryExpression.cs
- XPathNavigatorKeyComparer.cs
- AxHost.cs
- CustomErrorCollection.cs
- NodeLabelEditEvent.cs
- SystemEvents.cs
- XsltContext.cs
- DesignerAdRotatorAdapter.cs
- ServiceNameCollection.cs
- WsdlBuildProvider.cs
- TreeNodeBinding.cs
- EncoderFallback.cs
- HwndSourceParameters.cs
- WindowsSysHeader.cs
- TrackBarRenderer.cs
- RuleSetReference.cs
- JournalEntry.cs
- Literal.cs
- EntityTypeEmitter.cs
- Table.cs
- Attributes.cs
- MapPathBasedVirtualPathProvider.cs
- UIElement3DAutomationPeer.cs
- __FastResourceComparer.cs
- SoapInteropTypes.cs
- __Error.cs
- VectorCollection.cs
- ListViewInsertionMark.cs
- SecurityKeyUsage.cs
- MsmqDecodeHelper.cs
- WindowsRebar.cs
- OdbcConnectionOpen.cs
- DataTableClearEvent.cs
- DataControlLinkButton.cs
- SQLInt16.cs
- InternalCache.cs
- CroppedBitmap.cs
- UnwrappedTypesXmlSerializerManager.cs
- ChangeDirector.cs
- SQLBytes.cs
- StrokeIntersection.cs
- TcpHostedTransportConfiguration.cs
- Condition.cs
- SafeFileMappingHandle.cs
- InvokePattern.cs
- ResolveCriteria11.cs
- CalendarBlackoutDatesCollection.cs
- TrackingLocationCollection.cs
- SingleObjectCollection.cs
- NextPreviousPagerField.cs
- PresentationSource.cs
- PageContentCollection.cs
- PermissionSet.cs
- DrawingGroup.cs
- TableCell.cs
- UpdatePanelTriggerCollection.cs
- TableLayoutStyleCollection.cs
- OletxTransactionHeader.cs
- PrintingPermission.cs
- ParameterToken.cs
- ModelItemDictionary.cs
- SafeCoTaskMem.cs
- WsdlWriter.cs
- MetadataCacheItem.cs
- ThicknessAnimationUsingKeyFrames.cs
- CatalogZoneDesigner.cs
- XPathDocumentNavigator.cs
- ReversePositionQuery.cs
- MemberProjectedSlot.cs
- BaseProcessProtocolHandler.cs
- SHA384.cs
- ParserStack.cs
- ActiveXHost.cs
- MimeMultiPart.cs
- GenericRootAutomationPeer.cs
- RtfFormatStack.cs
- VirtualizedCellInfoCollection.cs
- SafeRightsManagementPubHandle.cs
- EntityCollection.cs
- MemberInfoSerializationHolder.cs
- TextFindEngine.cs
- DataGridViewCellPaintingEventArgs.cs
- ConfigurationManagerInternalFactory.cs
- PermissionSetTriple.cs
- EntityTypeEmitter.cs
- DataContractSerializerSection.cs
- ArraySegment.cs
- Base64Stream.cs
- Error.cs
- LinqDataSourceContextEventArgs.cs
- HyperLinkDesigner.cs
- UpdateTranslator.cs
- WorkflowWebHostingModule.cs
- CompilerHelpers.cs
- CatalogPartCollection.cs