Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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); } } } // 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 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); } } } // 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
- TrustManagerMoreInformation.cs
- CacheOutputQuery.cs
- SelectionItemPattern.cs
- AuthenticationModuleElementCollection.cs
- SafeFreeMibTable.cs
- HwndSourceKeyboardInputSite.cs
- BufferModeSettings.cs
- BaseTemplateBuildProvider.cs
- ProvidePropertyAttribute.cs
- DBConnectionString.cs
- UIElement3DAutomationPeer.cs
- StrokeCollection.cs
- ToolStripContainer.cs
- MediaContextNotificationWindow.cs
- DES.cs
- ExpressionBinding.cs
- NativeCppClassAttribute.cs
- TransportSecurityHelpers.cs
- SamlNameIdentifierClaimResource.cs
- TextCompositionEventArgs.cs
- PageCache.cs
- TransactedBatchContext.cs
- ProfileSettingsCollection.cs
- EndpointReference.cs
- MenuItemCollectionEditor.cs
- SqlErrorCollection.cs
- SkipStoryboardToFill.cs
- SystemSounds.cs
- MetadataPropertyAttribute.cs
- CdpEqualityComparer.cs
- TreeNodeCollection.cs
- ComplexObject.cs
- InputBindingCollection.cs
- SoapFault.cs
- SafeMILHandle.cs
- IssuedTokenClientCredential.cs
- VScrollProperties.cs
- TCEAdapterGenerator.cs
- UrlMappingsSection.cs
- MergePropertyDescriptor.cs
- ExceptionUtility.cs
- PointAnimationClockResource.cs
- Pair.cs
- FacetValueContainer.cs
- FixedSOMLineCollection.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- Point4DValueSerializer.cs
- SqlDataSourceCommandEventArgs.cs
- DockProviderWrapper.cs
- LocalizableAttribute.cs
- DataError.cs
- GatewayDefinition.cs
- ConfigViewGenerator.cs
- TemplateXamlParser.cs
- ParentQuery.cs
- PasswordPropertyTextAttribute.cs
- SecurityTokenContainer.cs
- ScrollProviderWrapper.cs
- GetUserPreferenceRequest.cs
- DesignerCategoryAttribute.cs
- InitializerFacet.cs
- CommandPlan.cs
- NetStream.cs
- DispatcherOperation.cs
- Avt.cs
- UnsafeNativeMethodsPenimc.cs
- EntityDataSourceReferenceGroup.cs
- ViewManager.cs
- AssemblySettingAttributes.cs
- AnnotationHighlightLayer.cs
- TranslateTransform3D.cs
- FontSizeConverter.cs
- DefaultBindingPropertyAttribute.cs
- XmlSchemaProviderAttribute.cs
- LinkLabelLinkClickedEvent.cs
- TemplatePartAttribute.cs
- WebPartZoneCollection.cs
- TemplateBamlTreeBuilder.cs
- HttpListenerResponse.cs
- ReferenceService.cs
- ConsumerConnectionPoint.cs
- SemanticResolver.cs
- EmbeddedMailObjectsCollection.cs
- JavaScriptSerializer.cs
- EntityTypeEmitter.cs
- FontWeightConverter.cs
- SspiWrapper.cs
- XmlEventCache.cs
- Point.cs
- StrokeCollection2.cs
- WebPart.cs
- AxParameterData.cs
- SafeFileMappingHandle.cs
- PerspectiveCamera.cs
- DiagnosticTrace.cs
- HeaderCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- ButtonBaseAdapter.cs
- OleDbCommandBuilder.cs
- TemplatedWizardStep.cs