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
- BinaryEditor.cs
- MessageSmuggler.cs
- Invariant.cs
- ActivityDesignerLayoutSerializers.cs
- CreateInstanceBinder.cs
- AsymmetricKeyExchangeDeformatter.cs
- SqlUDTStorage.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SubMenuStyle.cs
- Label.cs
- XmlCodeExporter.cs
- DataControlFieldTypeEditor.cs
- Logging.cs
- TextServicesCompartment.cs
- DataGridSortCommandEventArgs.cs
- WebPartConnectVerb.cs
- SeekableReadStream.cs
- SerializationInfo.cs
- DataGridViewCellStyleConverter.cs
- NavigationPropertyEmitter.cs
- LicFileLicenseProvider.cs
- ManagedWndProcTracker.cs
- _SingleItemRequestCache.cs
- XmlWhitespace.cs
- StrokeDescriptor.cs
- SafeNativeMethods.cs
- dataobject.cs
- ConfigurationLocationCollection.cs
- PcmConverter.cs
- QilLiteral.cs
- Storyboard.cs
- MeasurementDCInfo.cs
- LayoutTable.cs
- ListMarkerLine.cs
- SchemaType.cs
- CrossAppDomainChannel.cs
- SQLSingleStorage.cs
- TiffBitmapEncoder.cs
- UrlPath.cs
- AttachmentCollection.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- CodeAccessSecurityEngine.cs
- XmlDictionaryReaderQuotasElement.cs
- HMACSHA256.cs
- PrinterUnitConvert.cs
- MemberInfoSerializationHolder.cs
- InkCanvasFeedbackAdorner.cs
- RolePrincipal.cs
- MemberProjectedSlot.cs
- Delegate.cs
- IndentedWriter.cs
- Point3DAnimation.cs
- Constraint.cs
- ComponentResourceKey.cs
- HttpResponseHeader.cs
- XmlProcessingInstruction.cs
- XmlIncludeAttribute.cs
- BinaryObjectInfo.cs
- EventWaitHandle.cs
- Hash.cs
- WorkflowServiceHostFactory.cs
- ExtractorMetadata.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- MenuItemAutomationPeer.cs
- BulletDecorator.cs
- MergablePropertyAttribute.cs
- AccessText.cs
- GenericAuthenticationEventArgs.cs
- FormsIdentity.cs
- Marshal.cs
- LiteralTextParser.cs
- _SslSessionsCache.cs
- SerializationEventsCache.cs
- smtppermission.cs
- BufferBuilder.cs
- QilFunction.cs
- DownloadProgressEventArgs.cs
- ResourcePermissionBase.cs
- TextSchema.cs
- Processor.cs
- XmlNamedNodeMap.cs
- Line.cs
- DataGridTable.cs
- DataStorage.cs
- UniqueIdentifierService.cs
- InstanceContextMode.cs
- ConfigLoader.cs
- WindowsListViewGroup.cs
- ModelPropertyDescriptor.cs
- ExtendedProperty.cs
- TemplateComponentConnector.cs
- PackageRelationshipSelector.cs
- DrawToolTipEventArgs.cs
- MessageFilter.cs
- LineProperties.cs
- HtmlInputText.cs
- ChannelServices.cs
- PathSegment.cs
- Literal.cs
- cryptoapiTransform.cs