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
- TreeNodeBindingCollection.cs
- ColumnMapTranslator.cs
- XmlDataSourceView.cs
- ContextMarshalException.cs
- SafeFileMappingHandle.cs
- LockedBorderGlyph.cs
- CompilerTypeWithParams.cs
- DataGridItemCollection.cs
- Table.cs
- KeyInstance.cs
- WebPartVerbCollection.cs
- SqlRowUpdatedEvent.cs
- SwitchCase.cs
- WebPartZoneAutoFormat.cs
- AnnotationService.cs
- ProviderCommandInfoUtils.cs
- ToolStripOverflowButton.cs
- oledbmetadatacollectionnames.cs
- SingleStorage.cs
- DesignerAttribute.cs
- EntitySetBaseCollection.cs
- DesignerAttribute.cs
- ComboBox.cs
- TrackingServices.cs
- CheckStoreFileValidityRequest.cs
- SiteMap.cs
- ExtentJoinTreeNode.cs
- FormsAuthenticationConfiguration.cs
- StaticExtension.cs
- PointF.cs
- HttpStreamXmlDictionaryWriter.cs
- Behavior.cs
- HierarchicalDataBoundControl.cs
- ToolStripPanelSelectionBehavior.cs
- AnnotationService.cs
- DbConnectionHelper.cs
- NetTcpBindingElement.cs
- StringConcat.cs
- URLIdentityPermission.cs
- GridViewCancelEditEventArgs.cs
- UserControl.cs
- EncryptedHeaderXml.cs
- HMACSHA512.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- DBConnectionString.cs
- TabControlDesigner.cs
- ImageDrawing.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- log.cs
- DiagnosticTrace.cs
- ScrollProperties.cs
- TraceUtility.cs
- SoapExtensionStream.cs
- TemplateBuilder.cs
- WinEventTracker.cs
- PipelineDeploymentState.cs
- ProxyOperationRuntime.cs
- UpdateDelegates.Generated.cs
- securitycriticaldata.cs
- TextElementCollection.cs
- TextDecorations.cs
- DataSourceControlBuilder.cs
- Internal.cs
- RelationshipManager.cs
- ManagementOptions.cs
- CatalogPartChrome.cs
- _ConnectOverlappedAsyncResult.cs
- IndependentlyAnimatedPropertyMetadata.cs
- TableLayoutSettingsTypeConverter.cs
- QueryPageSettingsEventArgs.cs
- CapiSafeHandles.cs
- SqlBuffer.cs
- ButtonChrome.cs
- VerificationAttribute.cs
- EdmProperty.cs
- Blend.cs
- ConfigurationStrings.cs
- SqlCacheDependency.cs
- SessionPageStateSection.cs
- OLEDB_Util.cs
- BinaryUtilClasses.cs
- CounterSetInstanceCounterDataSet.cs
- BinaryParser.cs
- PolicyStatement.cs
- CTreeGenerator.cs
- CatalogZoneBase.cs
- Soap12ServerProtocol.cs
- BaseHashHelper.cs
- HttpProcessUtility.cs
- RuntimeUtils.cs
- Subset.cs
- ReflectionPermission.cs
- FileStream.cs
- ObjectAnimationBase.cs
- NativeMethods.cs
- XmlArrayAttribute.cs
- GenerateTemporaryTargetAssembly.cs
- CollectionsUtil.cs
- ClusterRegistryConfigurationProvider.cs
- Compiler.cs