Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BamlMapTable.cs
- StorageEndPropertyMapping.cs
- ToolboxDataAttribute.cs
- Soap12ProtocolReflector.cs
- TargetInvocationException.cs
- ExpressionNode.cs
- FontSizeConverter.cs
- WorkflowElementDialog.cs
- AggregateNode.cs
- ImageAutomationPeer.cs
- sqlcontext.cs
- OpenTypeLayout.cs
- Propagator.cs
- LostFocusEventManager.cs
- BamlLocalizer.cs
- TaskFormBase.cs
- NameObjectCollectionBase.cs
- ConstructorExpr.cs
- NativeMethods.cs
- SchemaTypeEmitter.cs
- ElementsClipboardData.cs
- ObjectQueryExecutionPlan.cs
- DocumentSchemaValidator.cs
- FixedStringLookup.cs
- PathSegment.cs
- WebPartConnectionCollection.cs
- ToolStripDropTargetManager.cs
- SQLInt64.cs
- MemberExpression.cs
- ContentPosition.cs
- LookupBindingPropertiesAttribute.cs
- Utility.cs
- TraceContextRecord.cs
- StringValidatorAttribute.cs
- ProjectionPlanCompiler.cs
- CompensableActivity.cs
- HwndProxyElementProvider.cs
- XmlCompatibilityReader.cs
- BindingWorker.cs
- _OSSOCK.cs
- ScriptReference.cs
- EntityContainerAssociationSet.cs
- BCLDebug.cs
- BitmapEffect.cs
- ObjectAssociationEndMapping.cs
- DrawItemEvent.cs
- EventInfo.cs
- Section.cs
- StreamReader.cs
- PaintValueEventArgs.cs
- mda.cs
- RowUpdatingEventArgs.cs
- StatusBarDrawItemEvent.cs
- BigInt.cs
- WebPartTransformerAttribute.cs
- BufferedWebEventProvider.cs
- DoubleAnimationClockResource.cs
- SHA512Managed.cs
- RegistrySecurity.cs
- ObjectParameter.cs
- PreviewPageInfo.cs
- OleDbDataReader.cs
- TdsParserSafeHandles.cs
- DragStartedEventArgs.cs
- AccessibleObject.cs
- SqlCommandAsyncResult.cs
- QilNode.cs
- MasterPage.cs
- AssociationSet.cs
- RawStylusInputReport.cs
- RelationshipConverter.cs
- TextModifier.cs
- GreenMethods.cs
- PageContentCollection.cs
- ResourceAttributes.cs
- Point3DCollectionConverter.cs
- _AcceptOverlappedAsyncResult.cs
- RichTextBox.cs
- ContentFilePart.cs
- WorkflowQueuingService.cs
- StringOutput.cs
- PersistenceTypeAttribute.cs
- ChannelSinkStacks.cs
- UIElementPropertyUndoUnit.cs
- DesignerActionService.cs
- MutexSecurity.cs
- NameValueCollection.cs
- CalendarDateChangedEventArgs.cs
- EditorZoneDesigner.cs
- SafeMILHandle.cs
- ZoomPercentageConverter.cs
- CompiledIdentityConstraint.cs
- GenericParameterDataContract.cs
- OdbcDataAdapter.cs
- cookieexception.cs
- SafeUserTokenHandle.cs
- SchemaInfo.cs
- PowerEase.cs
- DelegateArgumentReference.cs
- EntityStoreSchemaFilterEntry.cs