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
- SplineQuaternionKeyFrame.cs
- TrustManager.cs
- SharedConnectionInfo.cs
- ParallelActivityDesigner.cs
- PropertyStore.cs
- StructuralType.cs
- TypeName.cs
- HTMLTextWriter.cs
- HttpDebugHandler.cs
- XdrBuilder.cs
- ButtonField.cs
- DataBindingCollectionConverter.cs
- FastEncoderWindow.cs
- ProfileSettingsCollection.cs
- ExeContext.cs
- ISFTagAndGuidCache.cs
- ThaiBuddhistCalendar.cs
- HeaderPanel.cs
- DataGridViewComboBoxColumn.cs
- Pen.cs
- ContentFilePart.cs
- TextEditorTables.cs
- DataGridViewSelectedRowCollection.cs
- StackBuilderSink.cs
- ClrProviderManifest.cs
- CompositeActivityMarkupSerializer.cs
- DataServiceExpressionVisitor.cs
- FormClosingEvent.cs
- UnmanagedMarshal.cs
- MonthCalendarDesigner.cs
- RelatedPropertyManager.cs
- Button.cs
- QilStrConcatenator.cs
- OrderByQueryOptionExpression.cs
- TraceHandler.cs
- BitmapEffectState.cs
- XmlSchemaObject.cs
- TimeSpanOrInfiniteConverter.cs
- ComPlusDiagnosticTraceRecords.cs
- SQLDateTime.cs
- WorkflowLayouts.cs
- StateMachine.cs
- QueryBranchOp.cs
- PrtCap_Base.cs
- XmlSchemaInfo.cs
- SelectedGridItemChangedEvent.cs
- ChannelListenerBase.cs
- CompilerGlobalScopeAttribute.cs
- DependencyObjectProvider.cs
- LookupBindingPropertiesAttribute.cs
- ItemsChangedEventArgs.cs
- SrgsRuleRef.cs
- HMACSHA256.cs
- ListMarkerLine.cs
- ListViewItem.cs
- FixedDocument.cs
- SymbolPair.cs
- PowerEase.cs
- DataGridPagingPage.cs
- FileVersion.cs
- SimpleBitVector32.cs
- Operand.cs
- StorageFunctionMapping.cs
- ApplicationTrust.cs
- ScalarOps.cs
- ResXResourceSet.cs
- SlipBehavior.cs
- XmlLoader.cs
- Parameter.cs
- DataContractSet.cs
- VariableElement.cs
- TypeLibraryHelper.cs
- AssociationSetMetadata.cs
- DependencyObject.cs
- Point.cs
- UInt16Storage.cs
- ContentElement.cs
- ResXFileRef.cs
- ImageMapEventArgs.cs
- BoolExpression.cs
- WorkflowServiceNamespace.cs
- CodeMethodInvokeExpression.cs
- _HTTPDateParse.cs
- SqlOuterApplyReducer.cs
- NativeMethods.cs
- ActivityExecutorOperation.cs
- SystemThemeKey.cs
- DockingAttribute.cs
- RelatedCurrencyManager.cs
- DbProviderFactoriesConfigurationHandler.cs
- AsyncStreamReader.cs
- DataTableCollection.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- ILGenerator.cs
- DelegatingConfigHost.cs
- Focus.cs
- EventLogger.cs
- XmlHierarchyData.cs
- HttpCapabilitiesSectionHandler.cs
- Int64AnimationUsingKeyFrames.cs