Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OutputCacheModule.cs
- ChangeInterceptorAttribute.cs
- TraversalRequest.cs
- FileEnumerator.cs
- DataGridCellClipboardEventArgs.cs
- dbdatarecord.cs
- XmlSchemaComplexContent.cs
- PassportIdentity.cs
- DataGridCellItemAutomationPeer.cs
- EntityTemplateFactory.cs
- StylusButtonEventArgs.cs
- CookieProtection.cs
- baseshape.cs
- SvcMapFileLoader.cs
- PrimitiveXmlSerializers.cs
- SqlServices.cs
- NameNode.cs
- ActivationServices.cs
- SoapSchemaExporter.cs
- SerializerWriterEventHandlers.cs
- initElementDictionary.cs
- controlskin.cs
- OrderByExpression.cs
- ValidationSummary.cs
- CompositeActivityDesigner.cs
- ThreadAttributes.cs
- JavaScriptString.cs
- TagMapInfo.cs
- RecoverInstanceLocksCommand.cs
- UncommonField.cs
- XmlILStorageConverter.cs
- RestClientProxyHandler.cs
- ToolStripProgressBar.cs
- MobileControlsSection.cs
- SmtpNetworkElement.cs
- RepeatButton.cs
- XMLUtil.cs
- SafeCertificateStore.cs
- OutputCacheSection.cs
- MessageTransmitTraceRecord.cs
- QilFunction.cs
- ListViewInsertionMark.cs
- validation.cs
- ConnectionStringSettings.cs
- ConsumerConnectionPoint.cs
- Encoder.cs
- ArglessEventHandlerProxy.cs
- Clause.cs
- DataGridViewCheckBoxCell.cs
- LoadedOrUnloadedOperation.cs
- TagPrefixCollection.cs
- Int64AnimationUsingKeyFrames.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DES.cs
- DocumentGridPage.cs
- XmlNamespaceMappingCollection.cs
- DataGridRowHeader.cs
- RtfControlWordInfo.cs
- WorkflowServiceHostFactory.cs
- OutputCacheSettings.cs
- ManagementEventArgs.cs
- XsdBuildProvider.cs
- DataColumnMappingCollection.cs
- TransactedBatchingBehavior.cs
- SiteMapDataSource.cs
- ContextInformation.cs
- UITypeEditor.cs
- QilUnary.cs
- StructuralCache.cs
- QilUnary.cs
- _AcceptOverlappedAsyncResult.cs
- ApplicationId.cs
- DesignerTransaction.cs
- XmlDocumentFieldSchema.cs
- CorrelationToken.cs
- BufferedWebEventProvider.cs
- RegexCaptureCollection.cs
- SelectedDatesCollection.cs
- OdbcConnectionString.cs
- XsltSettings.cs
- DataProtection.cs
- SoundPlayerAction.cs
- SafeNativeMethods.cs
- SimpleWorkerRequest.cs
- BulletedListEventArgs.cs
- CacheMemory.cs
- messageonlyhwndwrapper.cs
- ItemCheckEvent.cs
- TreeNodeBindingCollection.cs
- StrongNameHelpers.cs
- AnnotationComponentManager.cs
- MemberInitExpression.cs
- XmlCharCheckingWriter.cs
- CalendarDateRange.cs
- SqlTriggerAttribute.cs
- EventEntry.cs
- SID.cs
- InertiaRotationBehavior.cs
- ISAPIWorkerRequest.cs
- ColumnClickEvent.cs