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
- TextTreeText.cs
- DataObjectEventArgs.cs
- SHA384Managed.cs
- UriScheme.cs
- FormatVersion.cs
- MarginsConverter.cs
- HebrewCalendar.cs
- parserscommon.cs
- ContractBase.cs
- EventLogEntryCollection.cs
- SafeViewOfFileHandle.cs
- SQLDateTimeStorage.cs
- StrokeCollectionDefaultValueFactory.cs
- BorderGapMaskConverter.cs
- ApplicationContext.cs
- DbTransaction.cs
- Quaternion.cs
- InvalidComObjectException.cs
- ListenerElementsCollection.cs
- QueryCreatedEventArgs.cs
- _ConnectOverlappedAsyncResult.cs
- ProfileManager.cs
- DiscreteKeyFrames.cs
- storepermissionattribute.cs
- GradientStopCollection.cs
- MailAddressCollection.cs
- GatewayDefinition.cs
- CroppedBitmap.cs
- Vector3D.cs
- ToolStripDropDownItem.cs
- BrushProxy.cs
- DesignerTextWriter.cs
- _NetRes.cs
- DesignTable.cs
- SqlRecordBuffer.cs
- PageCatalogPart.cs
- Point3DAnimationBase.cs
- XsltArgumentList.cs
- EventItfInfo.cs
- WebPartConnectionsCloseVerb.cs
- TableAdapterManagerGenerator.cs
- Win32.cs
- StrongNameUtility.cs
- RecordConverter.cs
- CodeTypeConstructor.cs
- ReaderOutput.cs
- SHA384Managed.cs
- XmlSchemaAnyAttribute.cs
- XmlFormatWriterGenerator.cs
- DataRecordInfo.cs
- HitTestWithGeometryDrawingContextWalker.cs
- HostExecutionContextManager.cs
- InputScopeNameConverter.cs
- RectangleGeometry.cs
- InfocardExtendedInformationCollection.cs
- ContentElement.cs
- AuthenticationConfig.cs
- UnSafeCharBuffer.cs
- DESCryptoServiceProvider.cs
- ImageAutomationPeer.cs
- DesignConnectionCollection.cs
- Events.cs
- EditorPartChrome.cs
- LocalizedNameDescriptionPair.cs
- EntityProxyTypeInfo.cs
- DetailsViewRowCollection.cs
- ApplicationContext.cs
- XmlReflectionImporter.cs
- RouteItem.cs
- HierarchicalDataTemplate.cs
- SkinIDTypeConverter.cs
- WebBrowserProgressChangedEventHandler.cs
- VirtualPathUtility.cs
- EncoderNLS.cs
- ProjectionCamera.cs
- AxParameterData.cs
- SqlError.cs
- MostlySingletonList.cs
- DateTimeConverter2.cs
- CodeBlockBuilder.cs
- ValidationError.cs
- XmlReaderSettings.cs
- Itemizer.cs
- TimerTable.cs
- SystemFonts.cs
- TemplateKeyConverter.cs
- ExpressionVisitor.cs
- Equal.cs
- DataTable.cs
- GeneralTransform3DGroup.cs
- FormatterConverter.cs
- SafeNativeMethods.cs
- rsa.cs
- EncodingTable.cs
- CompareValidator.cs
- ELinqQueryState.cs
- SoapWriter.cs
- ArgumentDesigner.xaml.cs
- TransformConverter.cs
- CollectionConverter.cs