Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1SignatureFormatter.cs / 1305376 / RSAPKCS1SignatureFormatter.cs
using System.Diagnostics.Contracts; // ==++== // // 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"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } [System.Security.SecuritySafeCritical] // auto-generated public override byte[] CreateSignature(byte[] rgbHash) { if (rgbHash == null) throw new ArgumentNullException("rgbHash"); Contract.EndContractBlock(); if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); // 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. using System.Diagnostics.Contracts; // ==++== // // 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"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } [System.Security.SecuritySafeCritical] // auto-generated public override byte[] CreateSignature(byte[] rgbHash) { if (rgbHash == null) throw new ArgumentNullException("rgbHash"); Contract.EndContractBlock(); if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); // 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GenericRootAutomationPeer.cs
- XmlSchemaChoice.cs
- TableParagraph.cs
- MediaContext.cs
- Mapping.cs
- NopReturnReader.cs
- CompensationParticipant.cs
- ListSortDescriptionCollection.cs
- ComponentDispatcherThread.cs
- Point3DCollectionConverter.cs
- ExpressionBuilderCollection.cs
- EnterpriseServicesHelper.cs
- XmlCompatibilityReader.cs
- BasePattern.cs
- DataPagerFieldCommandEventArgs.cs
- GenericUriParser.cs
- SafeRightsManagementSessionHandle.cs
- SQLInt32.cs
- ActiveDocumentEvent.cs
- SQLBinary.cs
- DbConnectionFactory.cs
- SamlAuthorityBinding.cs
- WindowsBrush.cs
- ClientScriptManager.cs
- UnhandledExceptionEventArgs.cs
- PolyQuadraticBezierSegment.cs
- HttpCookieCollection.cs
- SchemaImporterExtensionElement.cs
- PropertyItem.cs
- KeyValueConfigurationElement.cs
- DescendantOverDescendantQuery.cs
- InternalRelationshipCollection.cs
- AutomationFocusChangedEventArgs.cs
- ApplicationSecurityManager.cs
- DataColumnChangeEvent.cs
- Ray3DHitTestResult.cs
- TimeSpanSecondsConverter.cs
- SoapException.cs
- Keywords.cs
- ClassicBorderDecorator.cs
- DisableDpiAwarenessAttribute.cs
- TextClipboardData.cs
- ListViewItemSelectionChangedEvent.cs
- CodeNamespaceImportCollection.cs
- smtppermission.cs
- ConfigWriter.cs
- DesignerTextViewAdapter.cs
- ActivityWithResultValueSerializer.cs
- ObjectStateFormatter.cs
- _NativeSSPI.cs
- Drawing.cs
- RadioButtonStandardAdapter.cs
- DataGridView.cs
- SmtpException.cs
- AttachedPropertyMethodSelector.cs
- TreeViewItemAutomationPeer.cs
- DependencyPropertyAttribute.cs
- DbConnectionPoolOptions.cs
- LinkDesigner.cs
- XmlExtensionFunction.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ShutDownListener.cs
- TextOptions.cs
- SupportsEventValidationAttribute.cs
- XmlWrappingReader.cs
- PrimarySelectionAdorner.cs
- BrowserTree.cs
- ProfileSection.cs
- GridViewCancelEditEventArgs.cs
- ListControlActionList.cs
- JoinSymbol.cs
- TransformDescriptor.cs
- ProcessManager.cs
- StringWriter.cs
- PropertyPushdownHelper.cs
- LabelDesigner.cs
- XPathNavigatorKeyComparer.cs
- FaultDescription.cs
- DataGridCellEditEndingEventArgs.cs
- MetabaseSettings.cs
- CodeCatchClauseCollection.cs
- SQLSingle.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- ClientSettings.cs
- SectionVisual.cs
- ChannelDemuxer.cs
- DataGridViewButtonCell.cs
- BasicCommandTreeVisitor.cs
- PixelShader.cs
- XhtmlMobileTextWriter.cs
- ReadOnlyDictionary.cs
- ExitEventArgs.cs
- HttpHandler.cs
- CanonicalXml.cs
- CodeArgumentReferenceExpression.cs
- UriTemplateMatchException.cs
- WindowsGraphicsCacheManager.cs
- SimpleWorkerRequest.cs
- BaseCAMarshaler.cs
- PropertyEntry.cs