Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- RemoteWebConfigurationHostServer.cs
- StreamUpgradeBindingElement.cs
- QuaternionValueSerializer.cs
- MonitorWrapper.cs
- CustomCategoryAttribute.cs
- CalendarAutomationPeer.cs
- SequentialOutput.cs
- EnumConverter.cs
- WorkflowServiceAttributesTypeConverter.cs
- Point3DCollection.cs
- SmtpDigestAuthenticationModule.cs
- FactoryRecord.cs
- Timer.cs
- RSAPKCS1SignatureFormatter.cs
- ImmutableObjectAttribute.cs
- ColorConverter.cs
- PaintValueEventArgs.cs
- ValueExpressions.cs
- TypographyProperties.cs
- KnownTypesProvider.cs
- DataSourceSelectArguments.cs
- TextViewBase.cs
- Viewport2DVisual3D.cs
- TextFragmentEngine.cs
- UIElementPropertyUndoUnit.cs
- ParserHooks.cs
- Utility.cs
- DataExpression.cs
- EarlyBoundInfo.cs
- CompModSwitches.cs
- ClusterRegistryConfigurationProvider.cs
- ResourceDefaultValueAttribute.cs
- DataPagerFieldCommandEventArgs.cs
- Error.cs
- SQLRoleProvider.cs
- StateElement.cs
- WebHttpBindingCollectionElement.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- _ListenerAsyncResult.cs
- IMembershipProvider.cs
- TreeNodeSelectionProcessor.cs
- TempFiles.cs
- GridViewDeleteEventArgs.cs
- CodeVariableReferenceExpression.cs
- AttributeConverter.cs
- CryptoHandle.cs
- SerializationInfoEnumerator.cs
- MissingMethodException.cs
- SafeWaitHandle.cs
- XmlSchemaComplexContent.cs
- While.cs
- DecimalStorage.cs
- ClickablePoint.cs
- DataGridViewRow.cs
- httpstaticobjectscollection.cs
- ImportContext.cs
- Util.cs
- WorkflowItemPresenter.cs
- StateBag.cs
- SqlFlattener.cs
- XmlNamespaceManager.cs
- DeleteBookmarkScope.cs
- CompoundFileDeflateTransform.cs
- SplitterPanel.cs
- EmptyQuery.cs
- BinarySerializer.cs
- TextEncodedRawTextWriter.cs
- EnumerableRowCollection.cs
- XmlSchemaChoice.cs
- ArgIterator.cs
- TimelineCollection.cs
- SQLInt64.cs
- CancellationScope.cs
- PageSetupDialog.cs
- WebPartCatalogAddVerb.cs
- RenameRuleObjectDialog.cs
- AlphabeticalEnumConverter.cs
- FloatUtil.cs
- SizeConverter.cs
- StructuredTypeInfo.cs
- FilterQuery.cs
- MessageQueueCriteria.cs
- SR.Designer.cs
- XmlHelper.cs
- DataGridViewCell.cs
- DateTimeValueSerializer.cs
- WebEvents.cs
- SqlDependencyListener.cs
- ClientSideQueueItem.cs
- TextBoxAutoCompleteSourceConverter.cs
- BamlLocalizableResource.cs
- _SslState.cs
- PropertyMappingExceptionEventArgs.cs
- selecteditemcollection.cs
- X509Chain.cs
- EntityContainerEntitySetDefiningQuery.cs
- ClosureBinding.cs
- DocumentSchemaValidator.cs
- Label.cs
- UInt16.cs