Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } } // 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
- GenericIdentity.cs
- GridViewSortEventArgs.cs
- XmlFormatExtensionAttribute.cs
- TableLayoutPanel.cs
- ObjectListCommandEventArgs.cs
- SudsCommon.cs
- TableCellCollection.cs
- DataAdapter.cs
- SystemResourceKey.cs
- NamedElement.cs
- _DisconnectOverlappedAsyncResult.cs
- WindowsFormsSynchronizationContext.cs
- XPathNodeIterator.cs
- _TimerThread.cs
- ToolbarAUtomationPeer.cs
- ZipIOFileItemStream.cs
- Switch.cs
- BuildResultCache.cs
- AssertSection.cs
- SimpleBitVector32.cs
- SiteMapPath.cs
- SendingRequestEventArgs.cs
- RowToParametersTransformer.cs
- SupportsPreviewControlAttribute.cs
- ConfigurationStrings.cs
- QueryStringParameter.cs
- SynchronizedInputAdaptor.cs
- PipelineModuleStepContainer.cs
- MessageLogTraceRecord.cs
- UnionCodeGroup.cs
- MultipartContentParser.cs
- DocumentGridPage.cs
- WebScriptServiceHostFactory.cs
- Thickness.cs
- DynamicMethod.cs
- TypedDataSetSchemaImporterExtension.cs
- ReverseInheritProperty.cs
- ScopedKnownTypes.cs
- CheckBox.cs
- UserControlAutomationPeer.cs
- TextServicesDisplayAttribute.cs
- Crypto.cs
- LambdaCompiler.Logical.cs
- FlowSwitchLink.cs
- _emptywebproxy.cs
- DiffuseMaterial.cs
- ItemDragEvent.cs
- SafeProcessHandle.cs
- Internal.cs
- StyleCollectionEditor.cs
- BaseCodeDomTreeGenerator.cs
- LabelLiteral.cs
- LayoutSettings.cs
- MethodRental.cs
- OperatorExpressions.cs
- _NetRes.cs
- ValidationSummary.cs
- MenuCommand.cs
- HttpServerUtilityBase.cs
- WebUtility.cs
- RawUIStateInputReport.cs
- ConnectionPoolManager.cs
- WindowsTab.cs
- SmtpAuthenticationManager.cs
- PageCodeDomTreeGenerator.cs
- ComponentFactoryHelpers.cs
- Triangle.cs
- SchemaImporterExtensionElement.cs
- CodeNamespaceImportCollection.cs
- DbConnectionOptions.cs
- FilterQueryOptionExpression.cs
- TreeView.cs
- MappingException.cs
- XPathSelfQuery.cs
- ShaderEffect.cs
- Accessors.cs
- EndpointPerformanceCounters.cs
- HitTestFilterBehavior.cs
- FastEncoderWindow.cs
- Trace.cs
- ProfileParameter.cs
- mediaeventargs.cs
- UserControlAutomationPeer.cs
- TreeViewImageKeyConverter.cs
- RSAPKCS1SignatureFormatter.cs
- XmlSchemaNotation.cs
- NodeFunctions.cs
- XPathDocumentBuilder.cs
- StateItem.cs
- Helper.cs
- MenuDesigner.cs
- GeometryGroup.cs
- OrderingQueryOperator.cs
- SelectiveScrollingGrid.cs
- ScriptComponentDescriptor.cs
- CellTreeNodeVisitors.cs
- AppendHelper.cs
- ProcessHost.cs
- ImplicitInputBrush.cs
- DecoderExceptionFallback.cs