Code:
/ FX-1434 / FX-1434 / 1.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
- CacheMemory.cs
- EventData.cs
- DataTable.cs
- SHA512Managed.cs
- LineSegment.cs
- CompleteWizardStep.cs
- AnnotationComponentManager.cs
- SqlParameterCollection.cs
- GridViewRowEventArgs.cs
- TreeIterator.cs
- BlurBitmapEffect.cs
- StringBlob.cs
- NavigationProperty.cs
- ToolStripScrollButton.cs
- MetabaseServerConfig.cs
- _BufferOffsetSize.cs
- ButtonField.cs
- XPathSingletonIterator.cs
- WindowPatternIdentifiers.cs
- RequestStatusBarUpdateEventArgs.cs
- TextLine.cs
- ThreadNeutralSemaphore.cs
- MenuItemBindingCollection.cs
- RepeaterItemEventArgs.cs
- ClientSideProviderDescription.cs
- Cell.cs
- InvalidMessageContractException.cs
- ResolvedKeyFrameEntry.cs
- SqlPersistenceProviderFactory.cs
- _Semaphore.cs
- SemanticResultValue.cs
- SerializerDescriptor.cs
- SemanticTag.cs
- SchemaInfo.cs
- SemanticResultKey.cs
- DoubleAnimationUsingPath.cs
- SecurityCriticalDataForSet.cs
- SystemUnicastIPAddressInformation.cs
- BasicHttpBindingElement.cs
- DocumentReference.cs
- LinqDataSourceHelper.cs
- ContentOperations.cs
- TreeNodeCollection.cs
- DynamicDataManager.cs
- XsltArgumentList.cs
- ScopelessEnumAttribute.cs
- LinearGradientBrush.cs
- DbParameterCollectionHelper.cs
- OleDbParameterCollection.cs
- EntityDataSourceDesignerHelper.cs
- DataSourceIDConverter.cs
- MultiView.cs
- MetadataArtifactLoader.cs
- InputProviderSite.cs
- RSAProtectedConfigurationProvider.cs
- SqlUnionizer.cs
- FormCollection.cs
- CodeSubDirectoriesCollection.cs
- DocobjHost.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- PatternMatcher.cs
- DesignTimeVisibleAttribute.cs
- CalloutQueueItem.cs
- ByteAnimation.cs
- ClientScriptManager.cs
- XmlQueryStaticData.cs
- JsonEncodingStreamWrapper.cs
- Compress.cs
- ButtonRenderer.cs
- ColorDialog.cs
- InternalMappingException.cs
- TransactionProtocol.cs
- ServerProtocol.cs
- CodeAccessPermission.cs
- FrameDimension.cs
- relpropertyhelper.cs
- BindingEditor.xaml.cs
- XmlDataCollection.cs
- XmlQueryOutput.cs
- RegisteredHiddenField.cs
- WebPartRestoreVerb.cs
- BaseCodePageEncoding.cs
- EntityViewGenerator.cs
- ProjectionPlan.cs
- BlockUIContainer.cs
- DrawingGroup.cs
- LogLogRecord.cs
- VirtualPathData.cs
- infer.cs
- WindowsIdentity.cs
- UnsafeNativeMethods.cs
- Assert.cs
- StylusPointDescription.cs
- ModuleConfigurationInfo.cs
- SetterBaseCollection.cs
- __TransparentProxy.cs
- AssemblyCache.cs
- GenericTextProperties.cs
- SchemaCollectionPreprocessor.cs
- AccessDataSourceView.cs