Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HMACSHA512.cs
- TimeZoneInfo.cs
- TextFormatterImp.cs
- TextServicesContext.cs
- CryptoApi.cs
- NamespaceInfo.cs
- WinHttpWebProxyFinder.cs
- FormViewModeEventArgs.cs
- ProgressChangedEventArgs.cs
- WebPartHeaderCloseVerb.cs
- OracleSqlParser.cs
- Parser.cs
- OracleCommand.cs
- BamlRecords.cs
- MobileErrorInfo.cs
- DataKeyPropertyAttribute.cs
- HostedTcpTransportManager.cs
- _KerberosClient.cs
- Ticks.cs
- DynamicResourceExtension.cs
- SolidColorBrush.cs
- LogReserveAndAppendState.cs
- EncryptedXml.cs
- SerialReceived.cs
- Addressing.cs
- SystemColors.cs
- IApplicationTrustManager.cs
- BeginStoryboard.cs
- SystemBrushes.cs
- RSACryptoServiceProvider.cs
- ConstructorNeedsTagAttribute.cs
- TdsParser.cs
- QueuePathEditor.cs
- DetailsViewRow.cs
- SmiTypedGetterSetter.cs
- WinFormsComponentEditor.cs
- ADRole.cs
- CallbackException.cs
- CustomCredentialPolicy.cs
- FileSystemWatcher.cs
- SqlConnectionPoolGroupProviderInfo.cs
- CancelEventArgs.cs
- NonParentingControl.cs
- SymbolDocumentGenerator.cs
- CodePageEncoding.cs
- AdornerLayer.cs
- AttributeUsageAttribute.cs
- PersonalizationProvider.cs
- Opcode.cs
- HelpProvider.cs
- ToolZoneDesigner.cs
- CapabilitiesAssignment.cs
- BindUriHelper.cs
- XamlStream.cs
- HtmlControl.cs
- LinqDataSourceSelectEventArgs.cs
- FixedTextContainer.cs
- CustomGrammar.cs
- WebPartEditorOkVerb.cs
- CompleteWizardStep.cs
- Storyboard.cs
- ProgressBarRenderer.cs
- PropertyToken.cs
- SimplePropertyEntry.cs
- ExceptionAggregator.cs
- ExceptionUtil.cs
- Span.cs
- TextUtf8RawTextWriter.cs
- ArrayEditor.cs
- MetadataWorkspace.cs
- Attributes.cs
- FastPropertyAccessor.cs
- GrammarBuilderPhrase.cs
- TextEditorTyping.cs
- PassportAuthentication.cs
- Filter.cs
- FigureParaClient.cs
- ParsedAttributeCollection.cs
- TimeoutConverter.cs
- SortDescriptionCollection.cs
- PnrpPermission.cs
- OleDbTransaction.cs
- Slider.cs
- Inflater.cs
- Misc.cs
- XmlDeclaration.cs
- XmlAttribute.cs
- DataTemplateSelector.cs
- TextModifier.cs
- KeyedCollection.cs
- Parallel.cs
- BulletDecorator.cs
- ForeignConstraint.cs
- EventLogTraceListener.cs
- FilteredDataSetHelper.cs
- FormatVersion.cs
- WindowProviderWrapper.cs
- BlockUIContainer.cs
- Wizard.cs
- CommandLineParser.cs