Code:
/ 4.0 / 4.0 / 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. 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
- SqlConnectionPoolGroupProviderInfo.cs
- TableLayoutSettings.cs
- CodeVariableDeclarationStatement.cs
- PointHitTestResult.cs
- QuaternionRotation3D.cs
- DummyDataSource.cs
- ContextMenuStrip.cs
- translator.cs
- WindowPattern.cs
- ToolStripPanel.cs
- ParamArrayAttribute.cs
- ListMarkerLine.cs
- DefaultAssemblyResolver.cs
- IISMapPath.cs
- CacheDict.cs
- HelpProvider.cs
- PropertyBuilder.cs
- PerformanceCounterPermissionAttribute.cs
- LockedBorderGlyph.cs
- RijndaelManagedTransform.cs
- AddInStore.cs
- CfgRule.cs
- TypeConverterMarkupExtension.cs
- MeasureItemEvent.cs
- ServicePoint.cs
- brushes.cs
- SafeMILHandle.cs
- TypeGeneratedEventArgs.cs
- DataGridViewComboBoxEditingControl.cs
- WebBrowserEvent.cs
- DBSchemaTable.cs
- Calendar.cs
- CipherData.cs
- ManagementDateTime.cs
- RequiredFieldValidator.cs
- SerializableAttribute.cs
- ToolStripTextBox.cs
- DataGridParentRows.cs
- StylusPlugInCollection.cs
- DoubleAnimation.cs
- ListBox.cs
- FamilyCollection.cs
- PolyBezierSegment.cs
- FormViewCommandEventArgs.cs
- OpacityConverter.cs
- COM2IPerPropertyBrowsingHandler.cs
- DSACryptoServiceProvider.cs
- ClientSession.cs
- ScriptHandlerFactory.cs
- BufferedGraphicsManager.cs
- XsltConvert.cs
- DatePickerDateValidationErrorEventArgs.cs
- ConnectionManagementElement.cs
- KerberosSecurityTokenParameters.cs
- _AutoWebProxyScriptWrapper.cs
- UrlPropertyAttribute.cs
- UnsafeNativeMethods.cs
- InfoCardTraceRecord.cs
- CompatibleIComparer.cs
- XamlClipboardData.cs
- Model3D.cs
- CompatibleComparer.cs
- HttpCacheVaryByContentEncodings.cs
- GuidelineSet.cs
- LostFocusEventManager.cs
- SHA384Managed.cs
- PropertyStore.cs
- UserControlFileEditor.cs
- Group.cs
- QilXmlWriter.cs
- SendMailErrorEventArgs.cs
- DbConnectionClosed.cs
- Profiler.cs
- FixUp.cs
- CalculatedColumn.cs
- StylusPointPropertyUnit.cs
- CultureTable.cs
- SamlAuthorizationDecisionClaimResource.cs
- ListItemConverter.cs
- DataObjectEventArgs.cs
- ReturnValue.cs
- BinaryParser.cs
- CallContext.cs
- SvcFileManager.cs
- StsCommunicationException.cs
- NamespaceListProperty.cs
- XsltArgumentList.cs
- xmlfixedPageInfo.cs
- GorillaCodec.cs
- SemanticAnalyzer.cs
- WrapPanel.cs
- NavigationEventArgs.cs
- WebPermission.cs
- ExpressionBuilderCollection.cs
- ObjectTag.cs
- InstanceStore.cs
- SqlProvider.cs
- Blend.cs
- RestHandler.cs
- XmlCountingReader.cs