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
- CommandBindingCollection.cs
- RectIndependentAnimationStorage.cs
- PrtCap_Builder.cs
- Rijndael.cs
- OperationAbortedException.cs
- ArraySubsetEnumerator.cs
- Tag.cs
- SetterBaseCollection.cs
- WebMethodAttribute.cs
- SqlDataSourceCommandEventArgs.cs
- TemplateColumn.cs
- XPathDescendantIterator.cs
- ToolStripMenuItemCodeDomSerializer.cs
- OdbcStatementHandle.cs
- XmlMtomReader.cs
- NetworkInformationException.cs
- KnownColorTable.cs
- DocumentGrid.cs
- XmlCharCheckingWriter.cs
- PagesChangedEventArgs.cs
- ObjectKeyFrameCollection.cs
- ScriptMethodAttribute.cs
- SvcMapFileSerializer.cs
- COSERVERINFO.cs
- StringConverter.cs
- SerializableAttribute.cs
- XmlDictionaryReader.cs
- TabletDeviceInfo.cs
- StreamProxy.cs
- UriParserTemplates.cs
- BinaryEditor.cs
- ZipIOFileItemStream.cs
- X509Chain.cs
- XmlArrayAttribute.cs
- IDictionary.cs
- ColorAnimation.cs
- RealizationDrawingContextWalker.cs
- ListViewGroup.cs
- SqlNotificationRequest.cs
- AppSettingsReader.cs
- InitializeCorrelation.cs
- Vector.cs
- WebBrowserBase.cs
- WebPartVerbCollection.cs
- WebPartMenuStyle.cs
- WaitHandleCannotBeOpenedException.cs
- EventRouteFactory.cs
- Imaging.cs
- ContractBase.cs
- ParseElement.cs
- CapabilitiesPattern.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- EntityContainer.cs
- CurrentTimeZone.cs
- XPathNodeIterator.cs
- RequestSecurityTokenResponse.cs
- DataRelation.cs
- StylusDevice.cs
- PathTooLongException.cs
- ClientUrlResolverWrapper.cs
- Configuration.cs
- ListControl.cs
- HideDisabledControlAdapter.cs
- Application.cs
- ReadOnlyState.cs
- TemplateKey.cs
- ScanQueryOperator.cs
- ModuleBuilderData.cs
- WasAdminWrapper.cs
- TranslateTransform3D.cs
- StoreContentChangedEventArgs.cs
- DateTimePicker.cs
- DbConnectionOptions.cs
- XmlAggregates.cs
- ConfigurationLocationCollection.cs
- XmlSchemaSet.cs
- BindingCompleteEventArgs.cs
- DocumentReference.cs
- ProfileSection.cs
- TextPointerBase.cs
- storepermissionattribute.cs
- DataFieldConverter.cs
- RootBuilder.cs
- UriTemplateHelpers.cs
- ComponentRenameEvent.cs
- ObjectHelper.cs
- XPathNodePointer.cs
- ProcessInfo.cs
- TemplatingOptionsDialog.cs
- CasesDictionary.cs
- PeerNameRecordCollection.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- XmlComment.cs
- SchemaImporter.cs
- ExecutionContext.cs
- ProfileSettingsCollection.cs
- DoubleAnimationUsingKeyFrames.cs
- TextParagraphView.cs
- DataGridViewButtonColumn.cs
- Util.cs