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
- UserNameSecurityTokenProvider.cs
- ServicePointManagerElement.cs
- LocationFactory.cs
- ObjectToken.cs
- DataSourceHelper.cs
- ClientEventManager.cs
- RemoveStoryboard.cs
- TypeElement.cs
- PaperSize.cs
- AutoSizeComboBox.cs
- InfiniteTimeSpanConverter.cs
- OdbcReferenceCollection.cs
- SettingsPropertyValueCollection.cs
- CodeDomDecompiler.cs
- StorageMappingItemCollection.cs
- ViewGenerator.cs
- WorkerRequest.cs
- StrokeRenderer.cs
- PageRequestManager.cs
- BooleanSwitch.cs
- Triplet.cs
- BuildResult.cs
- ElementHostAutomationPeer.cs
- EncodingNLS.cs
- MediaContextNotificationWindow.cs
- SoapRpcMethodAttribute.cs
- DataServiceRequestArgs.cs
- SecurityRuntime.cs
- HMAC.cs
- hebrewshape.cs
- AggregationMinMaxHelpers.cs
- TargetControlTypeCache.cs
- RelationshipConverter.cs
- TextRunProperties.cs
- HighlightComponent.cs
- HwndAppCommandInputProvider.cs
- EntityTransaction.cs
- TokenBasedSetEnumerator.cs
- ServiceDescriptionSerializer.cs
- ElementUtil.cs
- RemoteHelper.cs
- DeferrableContentConverter.cs
- TraversalRequest.cs
- AnnotationResourceCollection.cs
- HyperLinkColumn.cs
- SubMenuStyleCollection.cs
- PrinterResolution.cs
- MenuDesigner.cs
- StringConverter.cs
- ShimAsPublicXamlType.cs
- TablePatternIdentifiers.cs
- UpdatePanelControlTrigger.cs
- MatrixAnimationBase.cs
- DictionaryCustomTypeDescriptor.cs
- ReachBasicContext.cs
- BindingContext.cs
- ExpressionPrefixAttribute.cs
- AppSettingsExpressionBuilder.cs
- CharUnicodeInfo.cs
- EdgeModeValidation.cs
- ResourceBinder.cs
- DocumentSequenceHighlightLayer.cs
- DivideByZeroException.cs
- HtmlControlAdapter.cs
- SortDescriptionCollection.cs
- StaticContext.cs
- EventWaitHandle.cs
- DesignTimeVisibleAttribute.cs
- XmlSchemaProviderAttribute.cs
- XXXInfos.cs
- GeneralTransform2DTo3D.cs
- TypeBrowser.xaml.cs
- EventPrivateKey.cs
- HtmlInputButton.cs
- FlowDocumentScrollViewer.cs
- SemanticResultValue.cs
- VBCodeProvider.cs
- SourceFileBuildProvider.cs
- ProxyAttribute.cs
- ParseHttpDate.cs
- Timeline.cs
- ValidateNames.cs
- GeneralTransform.cs
- ConsoleCancelEventArgs.cs
- TransformBlockRequest.cs
- ConversionContext.cs
- FilterableAttribute.cs
- mda.cs
- Query.cs
- CacheDependency.cs
- _HelperAsyncResults.cs
- ZipIOExtraFieldZip64Element.cs
- EntityDesignerBuildProvider.cs
- WebControlAdapter.cs
- _NegoStream.cs
- DocumentViewerConstants.cs
- SByteStorage.cs
- MethodBuilderInstantiation.cs
- MsmqIntegrationBindingElement.cs
- DBDataPermissionAttribute.cs