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
- Form.cs
- Win32MouseDevice.cs
- Condition.cs
- DataGridSortCommandEventArgs.cs
- IsolatedStorageException.cs
- Char.cs
- HttpCookiesSection.cs
- GeometryConverter.cs
- ConfigurationProperty.cs
- SourceSwitch.cs
- TextStore.cs
- WorkerProcess.cs
- JoinTreeSlot.cs
- ProtocolViolationException.cs
- MatrixTransform.cs
- HandlerElement.cs
- jithelpers.cs
- TranslateTransform.cs
- TimerElapsedEvenArgs.cs
- ConversionValidationRule.cs
- VScrollBar.cs
- ObjectStateEntryDbDataRecord.cs
- ScrollViewer.cs
- SetIndexBinder.cs
- XslTransform.cs
- ExpressionPrefixAttribute.cs
- CancelAsyncOperationRequest.cs
- ListViewContainer.cs
- ListBindableAttribute.cs
- CookieParameter.cs
- ConstructorArgumentAttribute.cs
- DbProviderFactoriesConfigurationHandler.cs
- InternalRelationshipCollection.cs
- FloatSumAggregationOperator.cs
- Encoding.cs
- WebServiceAttribute.cs
- SmtpNtlmAuthenticationModule.cs
- LambdaCompiler.Statements.cs
- PersonalizationProviderCollection.cs
- BitmapDecoder.cs
- TemplateApplicationHelper.cs
- CompilationUtil.cs
- TableCell.cs
- ToolConsole.cs
- Point3DAnimationBase.cs
- PropagatorResult.cs
- DashStyle.cs
- ObjectMemberMapping.cs
- VerificationAttribute.cs
- GradientStopCollection.cs
- RubberbandSelector.cs
- AlphabeticalEnumConverter.cs
- DtrList.cs
- PasswordBoxAutomationPeer.cs
- ControlBindingsConverter.cs
- StdRegProviderWrapper.cs
- ListItemsPage.cs
- PrivilegedConfigurationManager.cs
- ButtonChrome.cs
- DataGridViewTextBoxEditingControl.cs
- ActivityCodeGenerator.cs
- MulticastIPAddressInformationCollection.cs
- SingleStorage.cs
- StringToken.cs
- ExceptionNotification.cs
- mactripleDES.cs
- TextOnlyOutput.cs
- PublisherMembershipCondition.cs
- CryptoKeySecurity.cs
- FolderBrowserDialogDesigner.cs
- PlainXmlSerializer.cs
- PieceNameHelper.cs
- InstalledFontCollection.cs
- ShutDownListener.cs
- PrincipalPermission.cs
- MappingSource.cs
- LazyTextWriterCreator.cs
- FileChangeNotifier.cs
- ReadContentAsBinaryHelper.cs
- VirtualDirectoryMappingCollection.cs
- SimpleWebHandlerParser.cs
- IxmlLineInfo.cs
- ShaperBuffers.cs
- DataException.cs
- HttpResponseWrapper.cs
- ResourceManagerWrapper.cs
- AdornerHitTestResult.cs
- ToolStripItem.cs
- DefaultBinder.cs
- ZipArchive.cs
- AddressAlreadyInUseException.cs
- WebPartTransformerAttribute.cs
- DefaultObjectMappingItemCollection.cs
- MailWriter.cs
- EditingMode.cs
- WindowShowOrOpenTracker.cs
- ExpressionTextBox.xaml.cs
- EndOfStreamException.cs
- FormsAuthenticationUser.cs
- COM2ComponentEditor.cs