Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DispatcherObject.cs
- DynamicDataExtensions.cs
- DesignerProperties.cs
- PermissionListSet.cs
- CaseInsensitiveOrdinalStringComparer.cs
- FontFamilyConverter.cs
- WindowsRichEditRange.cs
- GenericAuthenticationEventArgs.cs
- SerializationBinder.cs
- ListViewPagedDataSource.cs
- LineGeometry.cs
- WmlFormAdapter.cs
- DurableInstancingOptions.cs
- CopyNodeSetAction.cs
- IntSecurity.cs
- safesecurityhelperavalon.cs
- XhtmlMobileTextWriter.cs
- ContextQuery.cs
- SharedUtils.cs
- WebConfigurationManager.cs
- DATA_BLOB.cs
- FacetValues.cs
- UiaCoreTypesApi.cs
- AddDataControlFieldDialog.cs
- FormsAuthenticationEventArgs.cs
- ObjectCloneHelper.cs
- PartialCachingControl.cs
- BitmapEffectDrawingContextWalker.cs
- DesignerSerializerAttribute.cs
- recordstate.cs
- SqlBinder.cs
- TagMapInfo.cs
- InternalBufferOverflowException.cs
- ValidationSummary.cs
- SHA1Managed.cs
- Help.cs
- DataGridViewColumnTypeEditor.cs
- MarkupExtensionReturnTypeAttribute.cs
- XmlNamespaceDeclarationsAttribute.cs
- ExecutionScope.cs
- Brushes.cs
- FormViewDeletedEventArgs.cs
- DBPropSet.cs
- DescriptionAttribute.cs
- XhtmlBasicTextViewAdapter.cs
- Operator.cs
- FontStyle.cs
- QilPatternFactory.cs
- nulltextnavigator.cs
- ItemList.cs
- Point3DCollection.cs
- CalendarData.cs
- StrongNameSignatureInformation.cs
- EncryptedReference.cs
- ContentType.cs
- DataGridRow.cs
- DBAsyncResult.cs
- ConfigurationConverterBase.cs
- JoinCqlBlock.cs
- TextAutomationPeer.cs
- DoubleCollectionConverter.cs
- ResolveInfo.cs
- Dictionary.cs
- ToolStripContentPanelDesigner.cs
- Point.cs
- QueryCursorEventArgs.cs
- SizeAnimation.cs
- ProbeMatchesMessageCD1.cs
- HybridObjectCache.cs
- BreadCrumbTextConverter.cs
- PerformanceCounterManager.cs
- MLangCodePageEncoding.cs
- OneOfConst.cs
- MatrixValueSerializer.cs
- IODescriptionAttribute.cs
- SiteMapNodeCollection.cs
- BeginEvent.cs
- COM2PictureConverter.cs
- GridEntry.cs
- SmiContextFactory.cs
- GrammarBuilderDictation.cs
- SQLDecimalStorage.cs
- SequentialOutput.cs
- KeyToListMap.cs
- AlternateViewCollection.cs
- SwitchLevelAttribute.cs
- DropDownList.cs
- TextParagraph.cs
- StylusDownEventArgs.cs
- X509UI.cs
- UtilityExtension.cs
- DataControlFieldCell.cs
- ListViewSortEventArgs.cs
- XPathCompileException.cs
- ScaleTransform.cs
- Image.cs
- OdbcEnvironment.cs
- DataObjectSettingDataEventArgs.cs
- SamlAssertionKeyIdentifierClause.cs
- UInt32Converter.cs