Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeTypeMemberCollection.cs
- GrammarBuilderDictation.cs
- XmlCharType.cs
- RelationshipConverter.cs
- TimeSpanSecondsConverter.cs
- OleDbErrorCollection.cs
- TextDocumentView.cs
- HashJoinQueryOperatorEnumerator.cs
- WindowsAuthenticationEventArgs.cs
- ContractMapping.cs
- ForEachAction.cs
- TreeWalkHelper.cs
- TypeSystemProvider.cs
- WinEventHandler.cs
- QilValidationVisitor.cs
- DecoderNLS.cs
- MarshalByValueComponent.cs
- EntityDataSourceSelectingEventArgs.cs
- TextTrailingWordEllipsis.cs
- AstTree.cs
- WorkflowServiceInstance.cs
- TaskFormBase.cs
- PowerEase.cs
- PropertyDescriptorGridEntry.cs
- HttpCacheVaryByContentEncodings.cs
- DesignerAttribute.cs
- WMIGenerator.cs
- AnnotationStore.cs
- MasterPageCodeDomTreeGenerator.cs
- TrackingProfileSerializer.cs
- ButtonBase.cs
- CssTextWriter.cs
- SocketElement.cs
- XPathDocumentIterator.cs
- Material.cs
- CategoryAttribute.cs
- PathFigure.cs
- UnionCodeGroup.cs
- Metafile.cs
- CalendarDateRange.cs
- RegexReplacement.cs
- MachineSettingsSection.cs
- ButtonChrome.cs
- securestring.cs
- Comparer.cs
- MessageParameterAttribute.cs
- PolyBezierSegment.cs
- OdbcFactory.cs
- ScriptReferenceBase.cs
- TransformerConfigurationWizardBase.cs
- UrlAuthorizationModule.cs
- BufferModeSettings.cs
- ProcessHostServerConfig.cs
- TextEditorSelection.cs
- DataBoundControlAdapter.cs
- HttpRawResponse.cs
- BrowserCapabilitiesFactory.cs
- ObjectFullSpanRewriter.cs
- LinkedResource.cs
- X509AsymmetricSecurityKey.cs
- EntityProxyTypeInfo.cs
- CatalogZone.cs
- TraceContextRecord.cs
- CommonProperties.cs
- LoginView.cs
- MasterPage.cs
- Double.cs
- InstanceNotFoundException.cs
- FillBehavior.cs
- MILUtilities.cs
- Polygon.cs
- GridLength.cs
- EditingContext.cs
- MediaCommands.cs
- ChannelTracker.cs
- Renderer.cs
- LayoutInformation.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- Permission.cs
- DeviceContexts.cs
- DBSchemaRow.cs
- CachedBitmap.cs
- PeerTransportCredentialType.cs
- EntityDataSourceReferenceGroup.cs
- TableCell.cs
- Transform3D.cs
- DesignerWithHeader.cs
- ArrayEditor.cs
- Identity.cs
- SortableBindingList.cs
- StreamResourceInfo.cs
- PathFigureCollection.cs
- MessageDecoder.cs
- AbandonedMutexException.cs
- EntityProviderFactory.cs
- StartUpEventArgs.cs
- ParagraphResult.cs
- SqlDataReaderSmi.cs
- StyleSelector.cs
- CookielessHelper.cs