Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- URLString.cs
- DetailsViewDeletedEventArgs.cs
- StylusPointPropertyInfo.cs
- CultureInfoConverter.cs
- DynamicILGenerator.cs
- BrowserCapabilitiesCodeGenerator.cs
- ParserContext.cs
- CheckBoxFlatAdapter.cs
- SoapObjectInfo.cs
- HandleExceptionArgs.cs
- DataView.cs
- _OSSOCK.cs
- OutKeywords.cs
- ProcessHostConfigUtils.cs
- Brush.cs
- PlaceHolder.cs
- PagesChangedEventArgs.cs
- SafeFileMapViewHandle.cs
- Rfc4050KeyFormatter.cs
- SQlBooleanStorage.cs
- WebPartMovingEventArgs.cs
- XPathDocumentBuilder.cs
- PrintDialog.cs
- CodeBlockBuilder.cs
- InputScopeManager.cs
- CompilationSection.cs
- EntityViewGenerator.cs
- AppDomainFactory.cs
- TextSelectionHelper.cs
- DesignColumnCollection.cs
- WindowsSysHeader.cs
- PipelineDeploymentState.cs
- TextTreeTextBlock.cs
- FastEncoderWindow.cs
- BrowserCapabilitiesCompiler.cs
- XMLSyntaxException.cs
- HtmlImage.cs
- AsymmetricSignatureFormatter.cs
- SchemaElementDecl.cs
- DrawListViewItemEventArgs.cs
- TypeElement.cs
- UnitySerializationHolder.cs
- XmlSchemaParticle.cs
- Root.cs
- HashMembershipCondition.cs
- ActivationServices.cs
- ThreadLocal.cs
- View.cs
- RectangleF.cs
- EventLogEntry.cs
- DocumentCollection.cs
- HtmlHistory.cs
- ThreadExceptionEvent.cs
- GeneratedCodeAttribute.cs
- SmiRequestExecutor.cs
- CommonDialog.cs
- ResourceDescriptionAttribute.cs
- JumpList.cs
- FtpWebRequest.cs
- DnsElement.cs
- ScrollEventArgs.cs
- CompilerCollection.cs
- RC2.cs
- WebPartCancelEventArgs.cs
- _HeaderInfoTable.cs
- PersonalizationStateInfoCollection.cs
- SamlAttributeStatement.cs
- ExponentialEase.cs
- ToolStripPanelRow.cs
- XmlElementAttribute.cs
- MobileControlsSectionHelper.cs
- Resources.Designer.cs
- ThaiBuddhistCalendar.cs
- invalidudtexception.cs
- BindingCollection.cs
- ExtensionMethods.cs
- RegisteredDisposeScript.cs
- CryptoKeySecurity.cs
- RuntimeTrackingProfile.cs
- TrustManager.cs
- DataStorage.cs
- DbConnectionHelper.cs
- ApplicationCommands.cs
- ThreadLocal.cs
- WebPartCatalogAddVerb.cs
- ButtonField.cs
- EncodingDataItem.cs
- DetailsViewRowCollection.cs
- InputReferenceExpression.cs
- AsmxEndpointPickerExtension.cs
- EncryptedData.cs
- ContentPresenter.cs
- DataBoundControlHelper.cs
- LayoutTableCell.cs
- AssemblyBuilderData.cs
- CompositeActivityValidator.cs
- ImageIndexConverter.cs
- ValueSerializerAttribute.cs
- Native.cs
- WizardPanelChangingEventArgs.cs