Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- RuntimeEnvironment.cs
- safelink.cs
- HtmlLink.cs
- oledbmetadatacollectionnames.cs
- ObjectHandle.cs
- HeaderedContentControl.cs
- DataGridItemCollection.cs
- AspNetRouteServiceHttpHandler.cs
- Exceptions.cs
- GeneralTransform3DGroup.cs
- ToolStripSeparatorRenderEventArgs.cs
- BitmapDownload.cs
- ISAPIRuntime.cs
- TextTreePropertyUndoUnit.cs
- ChameleonKey.cs
- SimpleHandlerBuildProvider.cs
- GZipObjectSerializer.cs
- linebase.cs
- Visual3D.cs
- AtomContentProperty.cs
- DesignerValidationSummaryAdapter.cs
- precedingsibling.cs
- ToolStripDropDownMenu.cs
- OutOfProcStateClientManager.cs
- DataGridViewCellValidatingEventArgs.cs
- EventLogPermissionAttribute.cs
- DataBindingCollection.cs
- StylusButtonCollection.cs
- SimpleTextLine.cs
- Path.cs
- PackWebRequest.cs
- InboundActivityHelper.cs
- DispatchWrapper.cs
- UInt16Storage.cs
- GuidConverter.cs
- DbParameterHelper.cs
- AnnotationMap.cs
- SignatureDescription.cs
- ColorComboBox.cs
- ProviderConnectionPoint.cs
- DesignSurface.cs
- IChannel.cs
- OperandQuery.cs
- EndpointInfo.cs
- SqlTypesSchemaImporter.cs
- TransformCryptoHandle.cs
- SoapElementAttribute.cs
- SurrogateChar.cs
- DeferrableContent.cs
- DispatcherHookEventArgs.cs
- PerfService.cs
- PrintDocument.cs
- FunctionMappingTranslator.cs
- BitmapPalette.cs
- DesignSurfaceEvent.cs
- OutputScopeManager.cs
- AdPostCacheSubstitution.cs
- OpenTypeCommon.cs
- smtpconnection.cs
- AppDomainFactory.cs
- Subset.cs
- WebPartTransformerCollection.cs
- CapabilitiesUse.cs
- System.Data.OracleClient_BID.cs
- RuntimeConfigurationRecord.cs
- KnownIds.cs
- ADConnectionHelper.cs
- TdsParserSessionPool.cs
- LocalizableResourceBuilder.cs
- QueryExpr.cs
- CqlLexerHelpers.cs
- UnsafePeerToPeerMethods.cs
- ThrowHelper.cs
- FrugalMap.cs
- SemanticResultKey.cs
- FormViewActionList.cs
- DiscriminatorMap.cs
- SystemIPAddressInformation.cs
- FilterEventArgs.cs
- ReverseComparer.cs
- ValidationPropertyAttribute.cs
- XPathSelfQuery.cs
- SiteMapNodeItem.cs
- XmlQueryRuntime.cs
- BaseComponentEditor.cs
- SchemaTypeEmitter.cs
- dbenumerator.cs
- XPathDocumentBuilder.cs
- ItemCollection.cs
- FunctionMappingTranslator.cs
- GuidelineSet.cs
- DesignerCategoryAttribute.cs
- XmlSchemaSubstitutionGroup.cs
- ControlEvent.cs
- SqlTypesSchemaImporter.cs
- HyperLinkField.cs
- CheckBox.cs
- LogArchiveSnapshot.cs
- sapiproxy.cs
- WindowsListViewSubItem.cs