Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1SignatureFormatter.cs / 1 / RSAPKCS1SignatureFormatter.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RSAPKCS1SignatureFormatter.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class RSAPKCS1SignatureFormatter : AsymmetricSignatureFormatter { private RSA _rsaKey; private String _strOID; // // public constructors // public RSAPKCS1SignatureFormatter() {} public RSAPKCS1SignatureFormatter(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } public override byte[] CreateSignature(byte[] rgbHash) { if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); if (rgbHash == null) throw new ArgumentNullException("rgbHash"); // Two cases here -- if we are talking to the CSP version or if we are talking to some other RSA provider. if (_rsaKey is RSACryptoServiceProvider) { return ((RSACryptoServiceProvider) _rsaKey).SignHash(rgbHash, _strOID); } else { byte[] pad = Utils.RsaPkcs1Padding(_rsaKey, CryptoConfig.EncodeOID(_strOID), rgbHash); // Create the signature by applying the private key to the padded buffer we just created. return _rsaKey.DecryptValue(pad); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RSAPKCS1SignatureFormatter.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class RSAPKCS1SignatureFormatter : AsymmetricSignatureFormatter { private RSA _rsaKey; private String _strOID; // // public constructors // public RSAPKCS1SignatureFormatter() {} public RSAPKCS1SignatureFormatter(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } public override byte[] CreateSignature(byte[] rgbHash) { if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); if (rgbHash == null) throw new ArgumentNullException("rgbHash"); // Two cases here -- if we are talking to the CSP version or if we are talking to some other RSA provider. if (_rsaKey is RSACryptoServiceProvider) { return ((RSACryptoServiceProvider) _rsaKey).SignHash(rgbHash, _strOID); } else { byte[] pad = Utils.RsaPkcs1Padding(_rsaKey, CryptoConfig.EncodeOID(_strOID), rgbHash); // Create the signature by applying the private key to the padded buffer we just created. return _rsaKey.DecryptValue(pad); } } } } // 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
- DebugControllerThread.cs
- TransformGroup.cs
- SQLResource.cs
- ValidatorCollection.cs
- SettingsPropertyNotFoundException.cs
- MeasurementDCInfo.cs
- ObjectConverter.cs
- MachinePropertyVariants.cs
- PathFigureCollection.cs
- EntityChangedParams.cs
- TypeInitializationException.cs
- NetTcpBindingElement.cs
- ErrorStyle.cs
- TextEmbeddedObject.cs
- MaterialGroup.cs
- StaticResourceExtension.cs
- BroadcastEventHelper.cs
- SolidBrush.cs
- Int32RectConverter.cs
- DataAdapter.cs
- EventManager.cs
- AxisAngleRotation3D.cs
- CodeDomLoader.cs
- XmlSchemaNotation.cs
- IPAddress.cs
- TableRow.cs
- ProcessStartInfo.cs
- ApplicationFileParser.cs
- WebPartTransformerCollection.cs
- NonParentingControl.cs
- ScaleTransform.cs
- ModelPropertyCollectionImpl.cs
- DefaultValueAttribute.cs
- DataService.cs
- _ListenerResponseStream.cs
- Compilation.cs
- FragmentNavigationEventArgs.cs
- StringSorter.cs
- TreeNode.cs
- SafeSecurityHelper.cs
- FileLoadException.cs
- ComplexPropertyEntry.cs
- UnmanagedMarshal.cs
- CodeSnippetStatement.cs
- SrgsText.cs
- DbParameterCollectionHelper.cs
- SafeNativeMethods.cs
- SiteMembershipCondition.cs
- SecurityTokenValidationException.cs
- InfiniteIntConverter.cs
- AutomationEvent.cs
- ScrollEvent.cs
- AnimationClockResource.cs
- DispatcherExceptionFilterEventArgs.cs
- ButtonFlatAdapter.cs
- ConditionalAttribute.cs
- KnownColorTable.cs
- BrowserCapabilitiesCompiler.cs
- StructuralType.cs
- MeasurementDCInfo.cs
- ToolStripDropDownButton.cs
- TableLayoutCellPaintEventArgs.cs
- TransformerTypeCollection.cs
- CertificateReferenceElement.cs
- WebPartMovingEventArgs.cs
- Rotation3D.cs
- EncoderBestFitFallback.cs
- RawKeyboardInputReport.cs
- DocumentPageTextView.cs
- WebSysDescriptionAttribute.cs
- AuthenticationService.cs
- RSAPKCS1KeyExchangeFormatter.cs
- UpdateProgress.cs
- QilFactory.cs
- MessageSecurityTokenVersion.cs
- StringHelper.cs
- HtmlImage.cs
- PropertyGeneratedEventArgs.cs
- KeyProperty.cs
- ValidationSummary.cs
- TableLayoutSettings.cs
- RemoteHelper.cs
- CollectionChangeEventArgs.cs
- ParentQuery.cs
- TableAdapterManagerGenerator.cs
- GlyphInfoList.cs
- CachingHintValidation.cs
- LateBoundBitmapDecoder.cs
- Guid.cs
- PathSegmentCollection.cs
- DropShadowEffect.cs
- ToolStripScrollButton.cs
- WebPart.cs
- CommonGetThemePartSize.cs
- LockCookie.cs
- GenericEnumerator.cs
- SqlNotificationRequest.cs
- OutputCacheSection.cs
- PageRequestManager.cs
- DataRelation.cs