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
- DesignerDataConnection.cs
- SqlMethodCallConverter.cs
- DeviceContext2.cs
- CompilerWrapper.cs
- SmtpTransport.cs
- ImageConverter.cs
- SqlAggregateChecker.cs
- BufferedGraphics.cs
- FontStyleConverter.cs
- SqlCacheDependencyDatabase.cs
- TypeBuilderInstantiation.cs
- TextTreeInsertElementUndoUnit.cs
- securitycriticaldataClass.cs
- Thread.cs
- SHA1.cs
- PagerSettings.cs
- QuaternionAnimation.cs
- SoapObjectWriter.cs
- RelationshipDetailsRow.cs
- KeyboardDevice.cs
- MimeObjectFactory.cs
- CodeLabeledStatement.cs
- Group.cs
- TemplateLookupAction.cs
- SafeNativeMethods.cs
- Variant.cs
- ShaderEffect.cs
- DataConnectionHelper.cs
- XPathNodeInfoAtom.cs
- ImageListStreamer.cs
- BuildDependencySet.cs
- RangeBase.cs
- DashStyles.cs
- UnmanagedHandle.cs
- SecurityContextKeyIdentifierClause.cs
- UnaryExpression.cs
- TextServicesCompartment.cs
- TaskHelper.cs
- XmlAnyAttributeAttribute.cs
- DateTimeFormat.cs
- QuaternionRotation3D.cs
- HttpSocketManager.cs
- DataServices.cs
- TemplateKey.cs
- ScriptIgnoreAttribute.cs
- OdbcDataReader.cs
- AssemblyInfo.cs
- GetWinFXPath.cs
- MouseGestureConverter.cs
- CompilationRelaxations.cs
- HtmlTernaryTree.cs
- ColumnReorderedEventArgs.cs
- Cursor.cs
- GlobalProxySelection.cs
- ByteStream.cs
- ComponentDispatcherThread.cs
- DataGridViewSelectedCellCollection.cs
- autovalidator.cs
- JsonGlobals.cs
- IncrementalHitTester.cs
- Debug.cs
- DataObjectSettingDataEventArgs.cs
- XPathAncestorIterator.cs
- TextRunCacheImp.cs
- SecurityTokenAuthenticator.cs
- List.cs
- UnsafeNativeMethods.cs
- DynamicMetaObject.cs
- CapabilitiesRule.cs
- VirtualDirectoryMappingCollection.cs
- JoinCqlBlock.cs
- LinqTreeNodeEvaluator.cs
- WebPartTransformer.cs
- DataGridTable.cs
- ManifestResourceInfo.cs
- MessageQueueEnumerator.cs
- ConditionalAttribute.cs
- HierarchicalDataSourceConverter.cs
- XmlUTF8TextReader.cs
- PeerChannelFactory.cs
- DecimalStorage.cs
- XmlMtomReader.cs
- DataServiceContext.cs
- Speller.cs
- CorrelationManager.cs
- ResourceCategoryAttribute.cs
- JavascriptCallbackResponseProperty.cs
- UInt16.cs
- NullNotAllowedCollection.cs
- SymbolMethod.cs
- TraceInternal.cs
- localization.cs
- NumericExpr.cs
- ViewKeyConstraint.cs
- DomNameTable.cs
- LocationUpdates.cs
- WebPartDescription.cs
- PropertyRef.cs
- lengthconverter.cs
- ChangeBlockUndoRecord.cs