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
- Hex.cs
- BinaryObjectReader.cs
- SiteMapNodeCollection.cs
- OptimizerPatterns.cs
- DataMisalignedException.cs
- XmlNamespaceManager.cs
- ToolStripItem.cs
- RelationshipNavigation.cs
- VersionedStream.cs
- ConfigurationManagerHelper.cs
- WmpBitmapEncoder.cs
- XmlSchemaSimpleContent.cs
- CacheOutputQuery.cs
- MiniCustomAttributeInfo.cs
- BasePattern.cs
- figurelength.cs
- TogglePattern.cs
- OutputScopeManager.cs
- ValidationSummary.cs
- _AutoWebProxyScriptWrapper.cs
- HttpDebugHandler.cs
- Compiler.cs
- PrePostDescendentsWalker.cs
- XmlDocumentType.cs
- RotateTransform.cs
- QilName.cs
- Point.cs
- XmlCustomFormatter.cs
- EntityConnectionStringBuilderItem.cs
- TdsRecordBufferSetter.cs
- EventsTab.cs
- ExpressionVisitorHelpers.cs
- FileNotFoundException.cs
- SqlDataRecord.cs
- Geometry.cs
- SafeUserTokenHandle.cs
- DesignerLoader.cs
- EdmValidator.cs
- DiscardableAttribute.cs
- RectAnimation.cs
- ReadWriteSpinLock.cs
- SQLUtility.cs
- NTAccount.cs
- iisPickupDirectory.cs
- KnownTypeHelper.cs
- XmlSortKeyAccumulator.cs
- Shared.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- DifferencingCollection.cs
- DataSourceControlBuilder.cs
- Tokenizer.cs
- FormViewInsertEventArgs.cs
- TemplateAction.cs
- TypefaceMap.cs
- UriParserTemplates.cs
- _TransmitFileOverlappedAsyncResult.cs
- ThreadSafeList.cs
- QuadraticBezierSegment.cs
- AsyncPostBackTrigger.cs
- List.cs
- Application.cs
- IsolationInterop.cs
- WorkflowInstanceUnhandledExceptionRecord.cs
- ModifyActivitiesPropertyDescriptor.cs
- DocumentEventArgs.cs
- ScrollData.cs
- HtmlControlPersistable.cs
- SQLBytesStorage.cs
- versioninfo.cs
- XPathNode.cs
- DataComponentGenerator.cs
- CommandManager.cs
- SizeChangedEventArgs.cs
- GrammarBuilderWildcard.cs
- Wizard.cs
- GridViewCancelEditEventArgs.cs
- FlowDocumentFormatter.cs
- Message.cs
- InputLanguageEventArgs.cs
- XmlException.cs
- CultureMapper.cs
- GPRECT.cs
- InternalConfigSettingsFactory.cs
- QilGenerator.cs
- HttpWebRequest.cs
- PatternMatchRules.cs
- Positioning.cs
- PolicyValidationException.cs
- SoapTypeAttribute.cs
- UIntPtr.cs
- TextPointer.cs
- SystemIPGlobalProperties.cs
- NumberFunctions.cs
- XmlWrappingReader.cs
- Dispatcher.cs
- CommandLibraryHelper.cs
- SelectionPattern.cs
- DoneReceivingAsyncResult.cs
- WaitForChangedResult.cs
- ArcSegment.cs