Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1SignatureFormatter.cs / 1305376 / RSAPKCS1SignatureFormatter.cs
using System.Diagnostics.Contracts; // ==++== // // 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"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } [System.Security.SecuritySafeCritical] // auto-generated public override byte[] CreateSignature(byte[] rgbHash) { if (rgbHash == null) throw new ArgumentNullException("rgbHash"); Contract.EndContractBlock(); if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); // 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LocationUpdates.cs
- DocumentApplicationJournalEntry.cs
- MethodBody.cs
- ScrollProperties.cs
- ToolStripPanelSelectionBehavior.cs
- ListenerPerfCounters.cs
- DiscardableAttribute.cs
- SemanticBasicElement.cs
- NativeMethods.cs
- SurrogateEncoder.cs
- HttpCachePolicyElement.cs
- HtmlControlPersistable.cs
- PropertyItem.cs
- COAUTHIDENTITY.cs
- WriteableBitmap.cs
- TrackingConditionCollection.cs
- EmulateRecognizeCompletedEventArgs.cs
- XmlSchemaSimpleTypeList.cs
- GridViewColumnCollection.cs
- BasicKeyConstraint.cs
- DataGridViewButtonColumn.cs
- Int32KeyFrameCollection.cs
- InnerItemCollectionView.cs
- TemplateParser.cs
- FontWeight.cs
- TypeUtil.cs
- RegexTree.cs
- RemoteWebConfigurationHost.cs
- CompiledQuery.cs
- IBuiltInEvidence.cs
- COMException.cs
- ClosureBinding.cs
- SafeRightsManagementQueryHandle.cs
- CDSsyncETWBCLProvider.cs
- InputChannelBinder.cs
- StackBuilderSink.cs
- ExitEventArgs.cs
- DocumentViewerAutomationPeer.cs
- TableColumn.cs
- MasterPageParser.cs
- OdbcConnectionString.cs
- InfoCardRSACryptoProvider.cs
- EventLogPermissionEntry.cs
- HitTestParameters3D.cs
- NullableConverter.cs
- TextDecorationLocationValidation.cs
- DataControlPagerLinkButton.cs
- SizeAnimationUsingKeyFrames.cs
- SharedUtils.cs
- ProtocolsConfigurationHandler.cs
- HostProtectionPermission.cs
- NotifyIcon.cs
- ConfigurationHandlersInstallComponent.cs
- LinearGradientBrush.cs
- AuthenticationModuleElementCollection.cs
- AuthenticatingEventArgs.cs
- AutomationEvent.cs
- XmlSchemaAnnotated.cs
- InternalConfigSettingsFactory.cs
- PathSegment.cs
- EntryPointNotFoundException.cs
- TextServicesCompartment.cs
- GradientBrush.cs
- NaturalLanguageHyphenator.cs
- SiteMapProvider.cs
- PathFigure.cs
- Pair.cs
- Pair.cs
- ContentType.cs
- SiteMapDesignerDataSourceView.cs
- TextFragmentEngine.cs
- EmbeddedMailObject.cs
- Convert.cs
- InputLanguageProfileNotifySink.cs
- ProviderIncompatibleException.cs
- SystemResourceHost.cs
- PerformanceCounterManager.cs
- UriTemplateTableMatchCandidate.cs
- IsolatedStorageFilePermission.cs
- SQLString.cs
- QilVisitor.cs
- RegularExpressionValidator.cs
- TypeToken.cs
- TextBlockAutomationPeer.cs
- RawContentTypeMapper.cs
- RegexTree.cs
- XmlDocument.cs
- ProfileGroupSettings.cs
- DbProviderConfigurationHandler.cs
- ResponseBodyWriter.cs
- XomlSerializationHelpers.cs
- UInt32.cs
- GeometryCollection.cs
- QilPatternVisitor.cs
- FindRequestContext.cs
- ArrayTypeMismatchException.cs
- XmlTypeMapping.cs
- GridViewRowCollection.cs
- SmiXetterAccessMap.cs