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
- SQLChars.cs
- DataGridViewRow.cs
- SessionPageStatePersister.cs
- Signature.cs
- PublisherIdentityPermission.cs
- XComponentModel.cs
- ScaleTransform3D.cs
- CheckBoxBaseAdapter.cs
- NativeMethods.cs
- DiscriminatorMap.cs
- QueueProcessor.cs
- PageStatePersister.cs
- DbModificationClause.cs
- JavaScriptSerializer.cs
- Span.cs
- Quack.cs
- DataProtection.cs
- Label.cs
- ReadingWritingEntityEventArgs.cs
- ScriptingProfileServiceSection.cs
- ASCIIEncoding.cs
- AbstractSvcMapFileLoader.cs
- TextElementEnumerator.cs
- ComplexLine.cs
- MinMaxParagraphWidth.cs
- PathGeometry.cs
- DynamicRendererThreadManager.cs
- _HTTPDateParse.cs
- SqlTransaction.cs
- ActivityExecutorOperation.cs
- WebPartDisplayMode.cs
- ExpressionValueEditor.cs
- AccessibleObject.cs
- VerbConverter.cs
- SecurityRequiresReviewAttribute.cs
- BrowserDefinition.cs
- DataFormats.cs
- WindowsAuthenticationEventArgs.cs
- SimpleType.cs
- MediaScriptCommandRoutedEventArgs.cs
- CacheVirtualItemsEvent.cs
- ListenUriMode.cs
- BackoffTimeoutHelper.cs
- WindowsStatic.cs
- SchemaAttDef.cs
- TitleStyle.cs
- AlphaSortedEnumConverter.cs
- NonBatchDirectoryCompiler.cs
- WSIdentityFaultException.cs
- CopyAction.cs
- EditorServiceContext.cs
- WindowsPrincipal.cs
- EncoderExceptionFallback.cs
- KerberosSecurityTokenProvider.cs
- Verify.cs
- Thread.cs
- SystemIPv6InterfaceProperties.cs
- ListControlConvertEventArgs.cs
- ValidatingCollection.cs
- CellIdBoolean.cs
- ConditionBrowserDialog.cs
- HierarchicalDataSourceControl.cs
- OdbcDataAdapter.cs
- FontConverter.cs
- StorageScalarPropertyMapping.cs
- DbgUtil.cs
- DropShadowBitmapEffect.cs
- CoTaskMemSafeHandle.cs
- IImplicitResourceProvider.cs
- RegionInfo.cs
- SqlDataReader.cs
- Graphics.cs
- PersistenceContext.cs
- RegexCapture.cs
- FixedLineResult.cs
- ImpersonationContext.cs
- SmtpAuthenticationManager.cs
- TextDocumentView.cs
- AppDomainResourcePerfCounters.cs
- XmlElementAttribute.cs
- StateInitializationDesigner.cs
- Section.cs
- MobileErrorInfo.cs
- CodeArrayCreateExpression.cs
- SafePipeHandle.cs
- WorkflowQueueInfo.cs
- FigureParaClient.cs
- ComponentCollection.cs
- FunctionImportMapping.cs
- SqlClientWrapperSmiStreamChars.cs
- CalendarTable.cs
- PenCursorManager.cs
- EnumValAlphaComparer.cs
- UndoManager.cs
- GCHandleCookieTable.cs
- WizardForm.cs
- MemoryStream.cs
- DataListItem.cs
- ExeConfigurationFileMap.cs
- HtmlFormWrapper.cs