Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1KeyExchangeDeformatter.cs / 1305376 / RSAPKCS1KeyExchangeDeformatter.cs
using System.Diagnostics.Contracts;
// ==++==
//
// 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");
Contract.EndContractBlock();
_rsaKey = (RSA) key;
}
//
// public properties
//
public RandomNumberGenerator RNG {
get { return RngValue; }
set { RngValue = value; }
}
public override String Parameters {
get { return null; }
set { ;}
}
//
// public methods
//
[System.Security.SecuritySafeCritical] // auto-generated
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");
Contract.EndContractBlock();
_rsaKey = (RSA) key;
}
}
}
// 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
- UnauthorizedAccessException.cs
- ScriptHandlerFactory.cs
- SessionIDManager.cs
- FixedLineResult.cs
- FormViewInsertedEventArgs.cs
- SharedConnectionListener.cs
- PropertyPushdownHelper.cs
- DesignerSelectionListAdapter.cs
- ADConnectionHelper.cs
- RuleConditionDialog.cs
- ZoneLinkButton.cs
- ContainerParagraph.cs
- WorkflowOperationFault.cs
- Color.cs
- DockPattern.cs
- ListViewGroupItemCollection.cs
- BufferedReceiveManager.cs
- BindingMAnagerBase.cs
- PerfCounters.cs
- IriParsingElement.cs
- Set.cs
- XmlReader.cs
- DeferredReference.cs
- IsolatedStorageFilePermission.cs
- ListenerServiceInstallComponent.cs
- Char.cs
- LogSwitch.cs
- Message.cs
- ViewDesigner.cs
- Soap.cs
- Style.cs
- nulltextcontainer.cs
- EnumType.cs
- ButtonBaseDesigner.cs
- DataTableNewRowEvent.cs
- SourceInterpreter.cs
- NativeMethods.cs
- ListControl.cs
- StringConverter.cs
- DataColumnPropertyDescriptor.cs
- StreamInfo.cs
- SqlClientFactory.cs
- SharedDp.cs
- BufferAllocator.cs
- DispatcherOperation.cs
- InternalConfigSettingsFactory.cs
- documentsequencetextcontainer.cs
- DurableTimerExtension.cs
- RtfControls.cs
- DefaultValueTypeConverter.cs
- SqlExpressionNullability.cs
- AnnotationHelper.cs
- ExpressionVisitor.cs
- QueryOpcode.cs
- Empty.cs
- StackSpiller.cs
- TransactionTable.cs
- SrgsNameValueTag.cs
- CodePageUtils.cs
- MatrixKeyFrameCollection.cs
- OracleEncoding.cs
- GPPOINT.cs
- DbSetClause.cs
- PixelShader.cs
- _BasicClient.cs
- ConfigXmlComment.cs
- CqlLexerHelpers.cs
- SqlDesignerDataSourceView.cs
- InstalledFontCollection.cs
- Set.cs
- AppSettingsReader.cs
- Inline.cs
- FontWeight.cs
- HyperLink.cs
- SByteConverter.cs
- DefaultSettingsSection.cs
- ToolStripScrollButton.cs
- Setter.cs
- WpfWebRequestHelper.cs
- SqlXmlStorage.cs
- ServiceEndpointAssociationProvider.cs
- ParameterModifier.cs
- ADMembershipUser.cs
- WebScriptClientGenerator.cs
- InternalRelationshipCollection.cs
- XmlSequenceWriter.cs
- BigInt.cs
- CodeParameterDeclarationExpressionCollection.cs
- BooleanExpr.cs
- PartialTrustVisibleAssemblyCollection.cs
- ScriptMethodAttribute.cs
- Point4DValueSerializer.cs
- DynamicResourceExtensionConverter.cs
- DummyDataSource.cs
- PlaceHolder.cs
- SequenceFullException.cs
- ConsumerConnectionPoint.cs
- SimpleFieldTemplateFactory.cs
- FontStretches.cs
- Style.cs