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
- DeclaredTypeValidator.cs
- ObjectTypeMapping.cs
- FixedDSBuilder.cs
- PathParser.cs
- SmtpClient.cs
- WebPart.cs
- PkcsMisc.cs
- ContentControl.cs
- SrgsToken.cs
- SortQuery.cs
- ContractHandle.cs
- StateDesigner.TransitionInfo.cs
- APCustomTypeDescriptor.cs
- MemberDescriptor.cs
- LinkUtilities.cs
- TextServicesDisplayAttribute.cs
- CompilerWrapper.cs
- BorderGapMaskConverter.cs
- StrokeNodeOperations.cs
- SBCSCodePageEncoding.cs
- UserControlParser.cs
- CodeAttributeArgument.cs
- RoleGroup.cs
- CacheEntry.cs
- GenerateHelper.cs
- Attribute.cs
- NamespaceExpr.cs
- GCHandleCookieTable.cs
- _NTAuthentication.cs
- XPathException.cs
- CanonicalFontFamilyReference.cs
- AbsoluteQuery.cs
- AtomServiceDocumentSerializer.cs
- ApplicationInterop.cs
- X509Certificate.cs
- QilNode.cs
- SimpleHandlerBuildProvider.cs
- CodeObjectCreateExpression.cs
- DataGridViewSortCompareEventArgs.cs
- MailAddress.cs
- XmlBinaryWriterSession.cs
- DependencyPropertyKey.cs
- MultiBindingExpression.cs
- MasterPageCodeDomTreeGenerator.cs
- ShaderRenderModeValidation.cs
- GridViewDeletedEventArgs.cs
- MimeObjectFactory.cs
- GridViewDeleteEventArgs.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- KeyValuePairs.cs
- MbpInfo.cs
- DesignerActionListCollection.cs
- ConfigurationElement.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- UserPersonalizationStateInfo.cs
- MutableAssemblyCacheEntry.cs
- SqlProviderManifest.cs
- QuaternionKeyFrameCollection.cs
- Classification.cs
- DesignerSerializerAttribute.cs
- RSAPKCS1SignatureFormatter.cs
- ChainOfDependencies.cs
- DependencySource.cs
- InvalidOleVariantTypeException.cs
- ClientBuildManager.cs
- UrlPath.cs
- CultureSpecificStringDictionary.cs
- PropertyReference.cs
- BinaryMessageEncoder.cs
- PinnedBufferMemoryStream.cs
- HiddenFieldPageStatePersister.cs
- ViewGenerator.cs
- KoreanCalendar.cs
- TextServicesProperty.cs
- WindowsProgressbar.cs
- PointConverter.cs
- NetMsmqSecurity.cs
- ScriptBehaviorDescriptor.cs
- Hash.cs
- Visual3DCollection.cs
- Transform.cs
- IUnknownConstantAttribute.cs
- CapiSafeHandles.cs
- VisualCollection.cs
- ConfigXmlWhitespace.cs
- HideDisabledControlAdapter.cs
- XmlILModule.cs
- Hashtable.cs
- HealthMonitoringSectionHelper.cs
- IgnoreSectionHandler.cs
- FileLogRecordHeader.cs
- RegexWorker.cs
- BlurBitmapEffect.cs
- ActiveXContainer.cs
- SpotLight.cs
- BamlResourceContent.cs
- PolygonHotSpot.cs
- TagMapCollection.cs
- JsonReaderDelegator.cs
- AmbientProperties.cs