Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / Cryptography / RSAOAEPKeyExchangeFormatter.cs / 1 / RSAOAEPKeyExchangeFormatter.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class RSAOAEPKeyExchangeFormatter : AsymmetricKeyExchangeFormatter { private byte[] ParameterValue; private RSA _rsaKey; private RandomNumberGenerator RngValue; // // public constructors // public RSAOAEPKeyExchangeFormatter() {} public RSAOAEPKeyExchangeFormatter(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } // // public properties // ///public byte[] Parameter { get { if (ParameterValue != null) return (byte[]) ParameterValue.Clone(); return null; } set { if (value != null) ParameterValue = (byte[]) value.Clone(); else ParameterValue = null; } } /// public override String Parameters { get { return null; } } public RandomNumberGenerator Rng { get { return RngValue; } set { RngValue = value; } } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } public override byte[] CreateKeyExchange(byte[] rgbData) { if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); if (_rsaKey is RSACryptoServiceProvider) { return ((RSACryptoServiceProvider) _rsaKey).Encrypt(rgbData, true); } else { return Utils.RsaOaepEncrypt(_rsaKey, SHA1.Create(), new PKCS1MaskGenerationMethod(), RandomNumberGenerator.Create(), rgbData); } } public override byte[] CreateKeyExchange(byte[] rgbData, Type symAlgType) { return CreateKeyExchange(rgbData); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NetDataContractSerializer.cs
- AppSettingsExpressionBuilder.cs
- QueueAccessMode.cs
- CounterCreationData.cs
- ScrollItemPattern.cs
- NoResizeSelectionBorderGlyph.cs
- MenuBase.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- Int32.cs
- OpCopier.cs
- ConsumerConnectionPoint.cs
- Visual3DCollection.cs
- TypeSystem.cs
- RadioButtonPopupAdapter.cs
- StringUtil.cs
- CryptoApi.cs
- RelationshipConverter.cs
- ReaderOutput.cs
- RepeatButtonAutomationPeer.cs
- SchemaElementDecl.cs
- BlobPersonalizationState.cs
- DriveInfo.cs
- SqlProvider.cs
- TextLine.cs
- WizardStepBase.cs
- ToolBarTray.cs
- ProcessThread.cs
- HtmlEmptyTagControlBuilder.cs
- WebService.cs
- MessageSecurityVersionConverter.cs
- TabControlEvent.cs
- ScriptManager.cs
- AsyncOperation.cs
- SecurityContextTokenValidationException.cs
- FlowLayoutSettings.cs
- TripleDESCryptoServiceProvider.cs
- HitTestFilterBehavior.cs
- FileLoadException.cs
- XLinq.cs
- EntityContainerEntitySet.cs
- InvalidCommandTreeException.cs
- JobCollate.cs
- EventWaitHandleSecurity.cs
- ColumnResult.cs
- AutomationElement.cs
- TemplateControlBuildProvider.cs
- HttpResponseInternalWrapper.cs
- CacheSection.cs
- PersistChildrenAttribute.cs
- RoleGroup.cs
- DocumentApplication.cs
- ListViewAutomationPeer.cs
- ServicePointManagerElement.cs
- SimpleTextLine.cs
- EventSource.cs
- TextDecorationLocationValidation.cs
- DataGridViewCell.cs
- PrimitiveType.cs
- WriteTimeStream.cs
- EntityDesignPluralizationHandler.cs
- ValidationError.cs
- Bold.cs
- QueryStringParameter.cs
- PageBreakRecord.cs
- DataGridViewCellStyle.cs
- ExpandSegment.cs
- WebConfigManager.cs
- CommentAction.cs
- RtfControlWordInfo.cs
- QilLiteral.cs
- BufferedGraphicsContext.cs
- MouseGestureValueSerializer.cs
- DrawingState.cs
- Maps.cs
- WebPartUserCapability.cs
- ClientTarget.cs
- SHA512Cng.cs
- Privilege.cs
- ChtmlPhoneCallAdapter.cs
- ExpressionVisitor.cs
- ResourceCodeDomSerializer.cs
- CompatibleComparer.cs
- ZoneLinkButton.cs
- ContentType.cs
- IconBitmapDecoder.cs
- RadioButtonFlatAdapter.cs
- WsatServiceAddress.cs
- XmlSchemaType.cs
- tibetanshape.cs
- AppliedDeviceFiltersDialog.cs
- ClassData.cs
- FlatButtonAppearance.cs
- UnsafeNativeMethods.cs
- Exception.cs
- TransportChannelFactory.cs
- TabletDevice.cs
- XmlDataProvider.cs
- VBIdentifierDesigner.xaml.cs
- RowSpanVector.cs
- NavigationWindowAutomationPeer.cs