Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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. // // ==--== // // 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DbDeleteCommandTree.cs
- DodSequenceMerge.cs
- GeneralTransform3DTo2D.cs
- HttpInputStream.cs
- GeneralTransform.cs
- XmlSchemaCompilationSettings.cs
- UnsafeNativeMethodsCLR.cs
- HtmlControlPersistable.cs
- LicenseContext.cs
- FontFamilyConverter.cs
- HtmlMobileTextWriter.cs
- XmlComplianceUtil.cs
- NotSupportedException.cs
- WindowAutomationPeer.cs
- JsonReader.cs
- CheckBoxAutomationPeer.cs
- RootNamespaceAttribute.cs
- ReadOnlyCollectionBase.cs
- OnOperation.cs
- PointAnimationUsingKeyFrames.cs
- _KerberosClient.cs
- UITypeEditors.cs
- CodeTypeMemberCollection.cs
- WorkflowRuntimeServiceElementCollection.cs
- SQLBytes.cs
- DocumentViewerBase.cs
- InstrumentationTracker.cs
- MessageQueuePermissionAttribute.cs
- AvTraceDetails.cs
- AnnouncementInnerClientCD1.cs
- Int32Converter.cs
- FtpWebRequest.cs
- TypeDescriptionProviderAttribute.cs
- UndirectedGraph.cs
- lengthconverter.cs
- MethodCallExpression.cs
- XPathExpr.cs
- GridViewColumn.cs
- ReceiveReply.cs
- DataSpaceManager.cs
- WindowInteractionStateTracker.cs
- InternalDispatchObject.cs
- DataColumnCollection.cs
- SocketElement.cs
- WebHttpBinding.cs
- DataGridColumnHeadersPresenter.cs
- DataFieldCollectionEditor.cs
- HttpListenerRequest.cs
- XPathNodeInfoAtom.cs
- GorillaCodec.cs
- CodeIterationStatement.cs
- SecurityHelper.cs
- UIElementCollection.cs
- ServiceEndpointCollection.cs
- DBSchemaRow.cs
- MetadataFile.cs
- Timer.cs
- DatagridviewDisplayedBandsData.cs
- FormsAuthenticationConfiguration.cs
- TraceHandlerErrorFormatter.cs
- MergeLocalizationDirectives.cs
- AnimationLayer.cs
- Point3DAnimationBase.cs
- XmlAttributeHolder.cs
- XmlDataImplementation.cs
- PrimitiveList.cs
- NamespaceDisplayAutomationPeer.cs
- ListDesigner.cs
- ExpressionBuilder.cs
- EndpointNotFoundException.cs
- ToolStripStatusLabel.cs
- Triplet.cs
- Geometry.cs
- Encoding.cs
- EntityClientCacheEntry.cs
- LifetimeServices.cs
- SplashScreen.cs
- TraceHandler.cs
- ServerTooBusyException.cs
- NativeMethods.cs
- Converter.cs
- PageContentCollection.cs
- BrowserTree.cs
- LoginUtil.cs
- HttpCachePolicyBase.cs
- XmlnsCache.cs
- ParameterCollection.cs
- WebPartConnectionsConfigureVerb.cs
- SequenceFullException.cs
- XPathEmptyIterator.cs
- TextTreeNode.cs
- OletxResourceManager.cs
- UpdateTranslator.cs
- GroupBoxRenderer.cs
- PersonalizationProviderCollection.cs
- ProcessThreadCollection.cs
- ChannelPool.cs
- PropertyPathWorker.cs
- ScriptMethodAttribute.cs
- DataStorage.cs