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 / 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;
}
}
}
// 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 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;
}
}
}
// 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
- XmlSchemaAttributeGroupRef.cs
- ValueOfAction.cs
- TextServicesCompartment.cs
- TagPrefixCollection.cs
- TemplateControlParser.cs
- MinMaxParagraphWidth.cs
- ThrowHelper.cs
- DetailsViewPageEventArgs.cs
- SequentialOutput.cs
- ClientSponsor.cs
- DefaultCommandConverter.cs
- securitycriticaldataformultiplegetandset.cs
- DayRenderEvent.cs
- UITypeEditor.cs
- ResXResourceSet.cs
- DesignerActionKeyboardBehavior.cs
- WindowClosedEventArgs.cs
- BitmapDecoder.cs
- SQLDateTimeStorage.cs
- MaterializeFromAtom.cs
- CompensatableTransactionScopeActivityDesigner.cs
- ExtensionFile.cs
- TransactionScopeDesigner.cs
- ProxyGenerator.cs
- Point3DAnimationUsingKeyFrames.cs
- DescendantBaseQuery.cs
- AndMessageFilterTable.cs
- ActivityExecutorSurrogate.cs
- HtmlEmptyTagControlBuilder.cs
- HttpAsyncResult.cs
- ApplicationBuildProvider.cs
- UpDownEvent.cs
- EntityDataSourceWizardForm.cs
- XmlJsonWriter.cs
- AspCompat.cs
- Executor.cs
- UserControl.cs
- BypassElementCollection.cs
- CodeExporter.cs
- MatrixTransform3D.cs
- Parameter.cs
- BindingCollection.cs
- WebAdminConfigurationHelper.cs
- SqlVersion.cs
- DataIdProcessor.cs
- PeerResolverMode.cs
- SourceElementsCollection.cs
- ComMethodElement.cs
- TraceSection.cs
- PrintingPermission.cs
- ServicesUtilities.cs
- ObjectDataSourceEventArgs.cs
- HyperLinkColumn.cs
- DeflateEmulationStream.cs
- SqlDataSourceAdvancedOptionsForm.cs
- CompilationLock.cs
- FieldNameLookup.cs
- JavaScriptObjectDeserializer.cs
- HostProtectionPermission.cs
- GridViewSortEventArgs.cs
- DesignerForm.cs
- TextRangeProviderWrapper.cs
- HideDisabledControlAdapter.cs
- BulletedList.cs
- WorkflowItemsPresenter.cs
- XmlSchemaDocumentation.cs
- indexingfiltermarshaler.cs
- AuthorizationRule.cs
- CodeCatchClause.cs
- cookiecollection.cs
- BindableTemplateBuilder.cs
- XpsFontSubsetter.cs
- TreeViewItemAutomationPeer.cs
- HostingMessageProperty.cs
- SqlGatherProducedAliases.cs
- BasicBrowserDialog.cs
- SqlDelegatedTransaction.cs
- CodeMemberProperty.cs
- HiddenField.cs
- ViewLoader.cs
- HitTestParameters3D.cs
- BeginCreateSecurityTokenRequest.cs
- TypeSystem.cs
- XmlSerializer.cs
- DocumentSchemaValidator.cs
- GACIdentityPermission.cs
- XmlSerializationReader.cs
- EmissiveMaterial.cs
- XsdDuration.cs
- RSAPKCS1SignatureDeformatter.cs
- RightsManagementInformation.cs
- ModelTreeManager.cs
- _NTAuthentication.cs
- FileDialog_Vista_Interop.cs
- SourceChangedEventArgs.cs
- ColorKeyFrameCollection.cs
- GenericTypeParameterBuilder.cs
- WebPartRestoreVerb.cs
- Win32.cs
- SingleBodyParameterMessageFormatter.cs