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
- ContractReference.cs
- PolicyManager.cs
- BitmapMetadata.cs
- CustomCategoryAttribute.cs
- RsaSecurityKey.cs
- XmlDigitalSignatureProcessor.cs
- CheckoutException.cs
- AppliedDeviceFiltersEditor.cs
- SerialErrors.cs
- LocalizedNameDescriptionPair.cs
- OracleTimeSpan.cs
- TextEditorThreadLocalStore.cs
- ZipIOExtraFieldPaddingElement.cs
- BitmapCodecInfo.cs
- ValidationPropertyAttribute.cs
- PanelStyle.cs
- GenerateHelper.cs
- WinFormsUtils.cs
- BooleanFunctions.cs
- PlatformCulture.cs
- Speller.cs
- EpmSourceTree.cs
- CellTreeNode.cs
- SchemaImporterExtensionElement.cs
- MbpInfo.cs
- GorillaCodec.cs
- NameSpaceEvent.cs
- PenThreadPool.cs
- DescendantQuery.cs
- DefaultClaimSet.cs
- XamlParser.cs
- AttributeCollection.cs
- SQLUtility.cs
- InkCanvasSelectionAdorner.cs
- SqlXml.cs
- DesignSurfaceEvent.cs
- RepeaterCommandEventArgs.cs
- TraversalRequest.cs
- DataGridViewElement.cs
- WorkflowDataContext.cs
- ModuleElement.cs
- CodeGenHelper.cs
- StylusDevice.cs
- JsonEnumDataContract.cs
- EmptyEnumerator.cs
- UnsafeNativeMethods.cs
- _ChunkParse.cs
- SpellerHighlightLayer.cs
- QuaternionAnimationUsingKeyFrames.cs
- DataSourceCacheDurationConverter.cs
- MemberCollection.cs
- Error.cs
- DataGridViewElement.cs
- streamingZipPartStream.cs
- ChangeNode.cs
- ReturnEventArgs.cs
- Nullable.cs
- DeferredElementTreeState.cs
- FileDetails.cs
- ExpressionVisitor.cs
- ScriptDescriptor.cs
- TCPClient.cs
- XmlElementCollection.cs
- DelegatingTypeDescriptionProvider.cs
- RenderOptions.cs
- Action.cs
- _FtpControlStream.cs
- TaskFileService.cs
- SQLCharsStorage.cs
- BlockUIContainer.cs
- PersistChildrenAttribute.cs
- ClientProxyGenerator.cs
- FormatConvertedBitmap.cs
- Rect.cs
- WriterOutput.cs
- ThrowHelper.cs
- WindowsListViewScroll.cs
- DragSelectionMessageFilter.cs
- ObjectDataSourceMethodEventArgs.cs
- WebConfigurationHostFileChange.cs
- WindowsListViewItem.cs
- AttachmentService.cs
- XmlDataCollection.cs
- HatchBrush.cs
- Label.cs
- HashCodeCombiner.cs
- OleDbInfoMessageEvent.cs
- XmlPreloadedResolver.cs
- MissingMemberException.cs
- DefaultValueAttribute.cs
- MessageDroppedTraceRecord.cs
- GlyphCache.cs
- StrokeNodeData.cs
- FrameworkPropertyMetadata.cs
- EntityDataSourceDataSelectionPanel.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- RegexBoyerMoore.cs
- SerialPinChanges.cs
- FragmentQueryProcessor.cs
- PersonalizationDictionary.cs