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
- GeneralTransformCollection.cs
- QilName.cs
- StylusPointProperty.cs
- XmlNodeReader.cs
- SqlDataSourceSelectingEventArgs.cs
- ValidationError.cs
- UIHelper.cs
- SqlRowUpdatedEvent.cs
- SystemTcpConnection.cs
- ShimAsPublicXamlType.cs
- Border.cs
- CodeAccessPermission.cs
- RoutingExtension.cs
- PointCollection.cs
- EntityDataSourceWizardForm.cs
- DynamicDocumentPaginator.cs
- ResourceDictionary.cs
- AsyncStreamReader.cs
- Util.cs
- ADConnectionHelper.cs
- EnterpriseServicesHelper.cs
- LocationUpdates.cs
- GetRecipientRequest.cs
- MouseEvent.cs
- HttpStreams.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- MulticastNotSupportedException.cs
- PartitionResolver.cs
- UnmanagedBitmapWrapper.cs
- QilSortKey.cs
- GroupBox.cs
- ProcessProtocolHandler.cs
- DataGridRow.cs
- HijriCalendar.cs
- ImageListImageEditor.cs
- MenuItemStyleCollection.cs
- path.cs
- _LoggingObject.cs
- IOThreadTimer.cs
- PlacementWorkspace.cs
- AuthenticationManager.cs
- Utils.cs
- GlobalizationSection.cs
- ProjectionCamera.cs
- AddInAttribute.cs
- TextSearch.cs
- ObjectDisposedException.cs
- KeyValueInternalCollection.cs
- TreeNodeConverter.cs
- LessThanOrEqual.cs
- ExceptQueryOperator.cs
- StringExpressionSet.cs
- ComplusTypeValidator.cs
- XmlEntityReference.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- EntityModelBuildProvider.cs
- XPathNodeHelper.cs
- SoapObjectReader.cs
- WindowsNonControl.cs
- ProfilePropertyNameValidator.cs
- WebPartMinimizeVerb.cs
- MetricEntry.cs
- BasePropertyDescriptor.cs
- ParameterModifier.cs
- KeyConstraint.cs
- ClientSettings.cs
- DateTimeParse.cs
- DataObjectPastingEventArgs.cs
- Calendar.cs
- TextTreeFixupNode.cs
- GroupItem.cs
- DBCommand.cs
- TimeSpanSecondsConverter.cs
- ApplicationManager.cs
- SerializationEventsCache.cs
- Vector3DValueSerializer.cs
- ContextMenuStrip.cs
- WebPartZoneCollection.cs
- SizeAnimationBase.cs
- EntitySqlQueryCacheEntry.cs
- Graphics.cs
- XPathArrayIterator.cs
- PeerDuplexChannel.cs
- HtmlControl.cs
- Timeline.cs
- EnumType.cs
- ProfileEventArgs.cs
- XpsSerializerFactory.cs
- XmlSchemaAnyAttribute.cs
- ClientRoleProvider.cs
- ProcessHostConfigUtils.cs
- TextFindEngine.cs
- TriggerActionCollection.cs
- InstanceDescriptor.cs
- LoaderAllocator.cs
- HostProtectionException.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- NameSpaceEvent.cs
- SoapWriter.cs
- Converter.cs