Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RSAOAEPKeyExchangeFormatter.cs / 1305376 / RSAOAEPKeyExchangeFormatter.cs
using System.Diagnostics.Contracts; // ==++== // // 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"); Contract.EndContractBlock(); _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"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } [System.Security.SecuritySafeCritical] // auto-generated 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. using System.Diagnostics.Contracts; // ==++== // // 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"); Contract.EndContractBlock(); _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"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } [System.Security.SecuritySafeCritical] // auto-generated 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MD5.cs
- BitmapFrame.cs
- Attachment.cs
- DataGridView.cs
- HtmlControlAdapter.cs
- ProgressBar.cs
- StatusBarItemAutomationPeer.cs
- OleDbStruct.cs
- Int32KeyFrameCollection.cs
- SqlMethodTransformer.cs
- DataBoundControlAdapter.cs
- FixedDocumentSequencePaginator.cs
- SQLBytesStorage.cs
- RubberbandSelector.cs
- SaveFileDialog.cs
- TableLayout.cs
- ConnectionStringsExpressionBuilder.cs
- MsmqTransportReceiveParameters.cs
- ThumbButtonInfoCollection.cs
- ButtonBase.cs
- DataGridTextBox.cs
- Propagator.JoinPropagator.cs
- SplineKeyFrames.cs
- HierarchicalDataBoundControl.cs
- CopyOnWriteList.cs
- XmlSerializerAssemblyAttribute.cs
- AsyncPostBackErrorEventArgs.cs
- DataReceivedEventArgs.cs
- EventLogPermission.cs
- FlowNode.cs
- XmlProcessingInstruction.cs
- NativeMethods.cs
- EnumBuilder.cs
- GeometryModel3D.cs
- AuthenticationModuleElementCollection.cs
- TreeViewImageIndexConverter.cs
- TextContainer.cs
- Pen.cs
- _NegoStream.cs
- PackWebRequest.cs
- GetPolicyDetailsRequest.cs
- DataGridPagingPage.cs
- CapabilitiesUse.cs
- ChainedAsyncResult.cs
- EnvelopedPkcs7.cs
- SemaphoreSecurity.cs
- GAC.cs
- GridItemProviderWrapper.cs
- TdsParserHelperClasses.cs
- PersistChildrenAttribute.cs
- Latin1Encoding.cs
- HttpConfigurationContext.cs
- ExtractedStateEntry.cs
- AnimationTimeline.cs
- RuntimeVariablesExpression.cs
- ProfileEventArgs.cs
- QilCloneVisitor.cs
- DataSysAttribute.cs
- AstNode.cs
- SecurityContext.cs
- Bind.cs
- CrossAppDomainChannel.cs
- Error.cs
- Types.cs
- PaintValueEventArgs.cs
- TraceEventCache.cs
- XmlSchemaDatatype.cs
- DataBindingsDialog.cs
- DesigntimeLicenseContextSerializer.cs
- ComponentDesigner.cs
- WindowsFormsHost.cs
- ResXResourceWriter.cs
- MailAddressCollection.cs
- WSDualHttpBinding.cs
- HttpListenerException.cs
- AttachedPropertyMethodSelector.cs
- TextEditorCopyPaste.cs
- FlowDocumentPaginator.cs
- TimeSpan.cs
- TextBoxAutoCompleteSourceConverter.cs
- AccessDataSourceView.cs
- PolicyManager.cs
- CancelRequestedRecord.cs
- SplitterEvent.cs
- TableRowCollection.cs
- MessageQueueException.cs
- ProfileParameter.cs
- FixUpCollection.cs
- CommentEmitter.cs
- ToolStripItemClickedEventArgs.cs
- UrlMapping.cs
- EndOfStreamException.cs
- TableLayoutRowStyleCollection.cs
- RelatedCurrencyManager.cs
- SoapHeader.cs
- XmlSchemaSimpleContent.cs
- SrgsSubset.cs
- StrokeNodeOperations.cs
- SerTrace.cs
- PreloadedPackages.cs